Problema Drape/Drappo

Ciao a tutti,

stavo cercando un modo per manipolare i solidi 3D facendo in modo che sia visibile la sola porzione superiore e ho visto che il comando “Drappo” (_Drape) fa esattamente quello che vorrei ottenere.

Tuttavia su alcuni esempi sto notando che si presentano dei “fori”, sapete come si possono eliminare? Esistono altri modi qualitativamente più “puliti” per ottenere quello che otterrei attraverso il drappo?

Lascio anche il file rhino 7/8 per prova:
Drape test R7.3dm (18,2 MB)
Drape test R8.3dm (18,2 MB)

Prova con Rhino 8 e GH.

Ciao Leopoldo, come hai fatto ad ottenere quel risultato? E’ molto buono, non sto riuscendo ad ottenere la stessa qualità!

Credo dipenda dalle impostazioni di TriRemesh.
Ci sono altri componenti GH da provare.
img1

ma come input in geometry hai inserito la mesh originale o il drappo convertito in mesh? Potresti spiegare più nel dettaglio la procedura che hai seguito per favore?

La mesh originale.
Prova anche questo componente.

Provato anche con questi componenti.
Allego risultato ottenuto con Rhino 8.
File molto grande, quindi Dropbox.

Ciao Leopoldo, forse mi sto perdendo io qualcosa, ma provando tutti i blocchi da te consigliati, non riesco ad ottenere la sola superficie superiore che ricavo utilizzando il comando drappo, ma mi vengono sempre generate mesh che hanno l’intera superficie 3D del modello input. Cosa sbaglio?


Inoltre ho visto i tuoi risultati, è esattamente quello che intendo ottenere, eccetto le 4 pareti verticali, c’è un modo per eliminarle o quantomeno regolarne la distanza dal modello?

Sì certo che si possono eliminare le pareti verticali basta utilizzare _ToNURBS.
In effetti mi domandavo il perché dell’utilizzo di Drappo.
img1

Non mi sono espresso bene, intendo ottenere il solido come quello che otterrei attraverso il drappo, ma senza le 4 pareti rosse che ho evidenziato in foto:

Inoltre non capisco cosa sbaglio ma utilizzando gli stessi comandi gh non ottengo l’effetto “drappo” ma solo una conversione mesh/srf… Come si fa ad ottenere quel risultato che hai allegato in dropbox?

Forse anch’io non ho spiegato bene.
GH serve per uniformare in qualche modo la mesh poi si fa Bake e si esegue Drappo con Rhino con queste impostazioni.
img1

Niente, non riesco ad ottenere in nessun modo un risultato pulito come il tuo…
Ho usato questa procedura:

  • seleziono come input la mesh di partenza
  • faccio il bake dei vari blocchi che mi hai consigliato
  • faccio il drappo sulla mesh (bake) con le impostazioni “si 1 no 1”

In tutti i casi continuano ad essere (più o meno) presenti quei “fori” fastidiosi…
ti lascio in allegato il file gh e il file rhino8 nel caso potessi dargli un’occhiata, ci sto impazzendo!

Drappo.gh (8,3 KB)

Ho provato questa soluzione e sembra che funzioni egregiamente.
Non esporto la mesh in Rhino ma la visualizzo solo tramite GH.
Sotto alla mesh disegno con Plane una superficie.
Poi eseguo Drappo come al solito.
drappo a.zip (16,6 MB)


In effetti Drape sembra dare problemi su alcuni punti. Un’alternativa è “ricreare” il “Drape” su Grasshopper proiettando una griglia di punti sulla mesh, aggiungendo come ha fatto Leopoldo una superficie piana alla base del busto.

Mi sembra che così la qualità sia buona, ed è possibile aumentare la risoluzione (n di punti per lato) finché si vuole.

Allego la definizione di Grasshopper. Ho utilizzato i punti proiettati per ricreare sia una superficie che una mesh, ho disabilitato la superficie perché selezionandola occorre aspettare (molto) che vengano generate le mesh di visualilzzazione, mentre la mesh è visualizzata molto rapidamente.

https://www.marcotraverso.it/lab/forum/2023-12-15-MT-Drape-in-GH.gh

1 Mi Piace

Non ho capito benissimo lo scopo ultimo di questa applicazione, ma se non ti serve per creare il master per uno stampo forse è tipo un altorilievo?

Comunque sull’idea di Leopoldo e di Marco, se hai Rhino8 puoi provare anche Shrinkwrap (che ormai è tipo deus ex machina), ma mooolto veloce e di facilissima iterabilità (vedi immagine).
Ho usato impostazioni molto basse per fare delle prove, ma basta selezionare la mesh originale con una mesh piana (inspessita di quanto vuoi) e poi lanciare shrinkwrap. Poi se ti serve solo una parte, fai _meshtrim e un _fillmeshhole e sei apposto.

mesh_shrinkwrap.3dm (14,4 MB)

Grazie Marco!
La tua definizione gh è estremamente utile per quello che cercavo di ottenere!!

Ho solo qualche domanda:
Nel caso di modelli geometrici particolarmente complessi e precisi, come posso fare per aumentare il numero di punti (riducendone di molto la distanza reciproca)?
Ho provato ad aumentare i valori in questo parametro e il risultato migliora, tuttavia non si ottengono differenze al di sopra del valore 1000.


Un esempio in cui potrei avere problemi è il seguente:

Con il tuo script e valori da 1000 a 10000 si ottiene questo risultato:

Scalando il solido di partenza di un fattore pari a 10, applicando il tuo script a 1000/10000 e poi riscalandolo alle dimensioni iniziali, il risultato migliora leggermente:

C’è un modo per aumentare la risoluzione (anche a patto di aumentare il carico computazionale) e migliorare la definizione della mesh finale?

Ti lascio in allegato proprio questo esempio:

Ciao Marco,

Sembra che RebuildSrf supporti un massimo di 1000 punti per direzione.

Ho aggiornato la definitione generando la griglia di punti in un modo diverso, così è possibile specificare risoluzioni anche molto elevate - memoria permettendo.

Ecco il file:
2023-12-15-MT-Drape-in-GH-v2.gh

(nell’esempio per una mesh di 6.5 milioni di vertici il tempo di calcolo è di circa 40 secondi)

Comunque questo approccio è decisamente grossolano e può andare bene per forme organiche, ma nel caso tu abbia di forme geometriche come quella che hai inviato ci possono essere modi molto migliori per generare la griglia di punti da proiettare e la relativa mesh.

In realtà nella mesh che hai allegato ho trovato pareti verticali ma non sottosquadri, quale sarebbe l’applicazione di questa operazione?

se non avete provato ancora, nelle novità di Rh8 c’é un nuovo comando “AvvolgiMesh”

edit:

:+1:

Shrinkwrap == AvvolgiMesh.

1 Mi Piace

ciao Leopoldo, si infatti mi ero ricordato del consiglio di @alex.coppola7
navigando nelle novità di Rhino8 c’è proprio questa “scultura” come esempio :+1: