Algoritmi che funzionano nei vari esempi, ma non da me!

Ciao a tutti,
apro questo topic dato che sto riscontrando vari algoritmi fatti da altri che funzionano nei vari esempi , ma quando li provo a rifare riscontro problemi e non ne vengo a capo da solo…

  1. il link al primo algoritmo GH: DISPLACEMENT PILLOWS
    ovvero

Nel mio caso avendo eseguito la stessa definizione riscontro il primo problema, ovvero le punte non vanno verso l’attrattore e al livello geometrico sono dei triangoli bidimensionali…


secondo punto nella parte finale quando cerco di saldare la mesh con il comando boolean toggle su true da errore.

file:

Pattern-Cuscino.gh (19,5 KB)
Pattern-Cuscino.3dm (171,8 KB)

Nel secondo algoritmo che stavo cercando di comprendere era l’esempio che ti dava Giulio Piacentino
Weaverbird – Topological Mesh Editor.
Allo stesso modo stavo rifacendo la definizione di esempio, ma in quella fatta da me gli attrattori non funzionano, mentre come mostrato da video quella di esempio, si.


la mia definizione è in basso, la freccia indica l’originale.

file:
Esempio di Weavebirds.3dm (517,4 KB)
Esempio di Weavebirds.gh (28,8 KB)

Esempio di Weavebirds.

1 Mi Piace

Pattern Cuscino.
Con un paio di modifiche si può ottenere un risultato simile all’originale ma c’è qualcosa che mi sfugge.
Ci vorrebbe la definizione di partenza.
Pattern Cuscino a.gh (29,5 KB)

grazie come sempre,
ho notato che l’attrattore influenza solo solo la parte della mesh creata con lo spessore (evidenziata dal segno verde sull’immagine). stavo provando la stessa procedura di attrazione anche nella parte precedente Catmull-Clark (segnato dalla parte con la penna blu), ma non funziona, immagino che sai dove sia il problema…


file
Esempio di Weavebirds.3dm (177,5 KB)
Esempio di Weavebirds.gh (28,7 KB)

per quanto riguarda il pattern con i cuscinetti provo ad inviare il file a Michael Pryor, vedo se mi risponde e ti faccio sapere dove sta il problema.


@leopoldomonzani quello che ho capito ma non so come risolvere è che nel comando weavebirds spessore, c’era l’imput Distance da collegare con Multiplication, ho provato a cercare tra i comandi è ho trovato mesh attributi come nell’immagine condivisa, l’imput data 0 può essere trasformato in qualche modo in un valore di distanza? forse ho capito la teoria, ma in pratica non so come fare…

Non riesco a comprendere quale sia il risultato da ottenere.
Forse modificare lo spessore in funzione della distanza da un punto?

modificare il pattern catmaull-clark (quando è solo una superficie), prima del comando “picture frame”, attrare solo la superficie al punto, prima di fare lo spessore.

È sufficiente applicare il pattern dopo la modifica della superficie, sempre che abbia capito le tue intenzioni.
Penso sia più semplice utilizzare Hex, che si applica direttamente alla superficie e non lascia esagoni a metà, invece di Hexagonal che necessita di una proiezione per cui rimangono sempre curve aperte.
Vedi le due definizioni postate.
Esempio di Weavebirds a.gh (35,0 KB)
superficie mod.gh (11,0 KB)
img1

1 Mi Piace

Ciao, ho visto che SuperLeopoldo ti ha già dato delle ottime indicazioni, ma ti chiarisco questa cosa se non l’avessi capita:
nell’input P (Pattern) del componente Weave devi inserire il pattern 0 1 2 3 (un modo pratico di farlo è usare un pannello, mettere i numeri in colonna - attento a non usare spazi - e poi fai tasto destro sul pannello e clicchi su multiline data, vedi screen allegato). Questo risolve la prima parte, crea le basi triangolari che poi estrudi.

per la parte successiva, non so se accade anche nel tuo GH, ma le mesh risultano invalide: è una cosa che mi succede spesso con il componente Mesh Surface.
Puoi sostituirlo con SimpleMesh o MeshBrep (attenzione: risultano rossi, ma funzionano, perchè ci sono due mesh nulle - sono la prima e la penultima, appaiono come dei bordi sovrapposti - sulle quali non ho indagato, tuttavia sono semplicemente ignorate dal resto della definizione).

Dopo di chè dovresti riuscire ad applicare il Catmull-Clark senza problemi.

poi mi permetto di aggiungere una tip: se fai tasto destro sui componenti params (Surface, Point, Brep, ecc) puoi selezionare “internalise data” che internalizza le geometrie di riferimento su Rhino. Questo ti evita di caricare anche il file Rhino sul forum (che tra l’altro era versione 8 e per chi usa la 7 risulta laborioso aprirlo).

grazie per i consigli su SimpleMesh e multiline data e internalise data

@leopoldomonzani con i tuoi aggiustamenti e le ultime dritte di @alex.coppola7 l’algoritmo funziona e si ottiene lo stesso risultato dell’esempio del pattern cuscino.

File finale
Pattern-Cuscino.gh (25,2 KB)

1 Mi Piace

Ciao a tutti,
Stavo applicando un pattern esagonale su una superficie, come da immagine per prima cosa ho utilizzato il comando Squish di Rhino per ricavare la Superficie appiattita, per poi applicare l’algoritmo.

come potete vedere applicando la definizione esagonale, la geometria rilevata è racchiusa all’interno di un rettangolo, quindi l’idea era di ricavare il contorno con il comando “Points in Curves e Cull Pattern”.

ma al momento di collegarlo da un effetto non desiderato…mi sfugge qualcosa per rendere l’algoritmo migliore…
gli errori dopo aver collegato il cull pattern


file:
Squish_Esagoni su SRF.gh (2,0 MB)

Per adesso come sta messo ci posso giocare solo sul piano, ma l’intenzione è tramite map to surface di applicarlo nel 3d

Ah si poi riscontro questo problema! una cella esagonale per qualche motivo scompare, ma è successo solo in questa occasione in cui ho appiattito con squish

L’errore è dovuto al fatto che non ci può essere una scala “zero” quindi basta aumentare di poco tutti i valori oppure il solo valore zero

1 Mi Piace

Mi pare che i punti esterni al controllo siano già stati rimossi.

Se il problema è quello degli esagoni non aderenti ai bordi.
La superficie utilizzata è una superficie tagliata e HexagonCell la utilizza come se il taglio fosse stato annullato.
Ma è un passaggio non necessario basta applicare le geometrie ottenute alla superficie finale.(Flow)
Forse ho frainteso il problema.

Anche io credo di non aver capito quale sia il problema (manca la srf target, se la spiattelli immagino poi tu la voglia riportare su quella di riferimento).

Anche perchè in teoria non c’è bisogno… o devi usare lo squish per forza?
Tipo qui io l’ho applicata su una srf generica

ho lasciato per lo più il processo invariato (anche se la logica parametrica non mi è chiarissima), le parti che ho aggiunto sono in un blob viola.
E come dice Leopoldo, il fattore di scala a 0 è un problema, ti ho messo una soluzione diversa dalla sua giusto per farti vedere un’altra possibilità.
Squish_Esagoni su SRF_NOSQUISH.gh (2,0 MB)

ti ho scirtto quello che voglio fare vicino al problema
Squish_Esagoni su SRF.gh (6,1 MB)

ok, grazie, controllo…l’intenzione di utilizzare lo Squish è perchè a superfici (specifiche) costruite nel 3d, posso Spianarle per poi applicarci un qualsiasi pattern che non sia per forza un griglia esagonale…
Controlla anche la 2 variante che sto cercando di fare…è ancora in costruzione però

*ho lasciato un testo vicino al problema
Squish_Esagoni su SRF.gh (6,1 MB)

Ci sono casi in cui il procedimento ha senso secondo me: tipo se parti da una griglia modulare “2D” da applicare su una srf qualsiasi. Tipo se vuoi applicare un pattern come [questo] da poi applicare su una srf con morph (Flash Workshop Rhino 6 - Grasshopper (Italiano) - YouTube)

per quanto riguarda la seconda parte, dove indichi nell’immagine: è come ha detto Leopoldo, lunchbox fa riferimento alla srf che “sottointende” la srf trimmata. Quindi qui devi capire la differenza tra una srf tagliata e una non tagliata → prendi le stesse curve di partenza e fai join, splittale in mezzo (dove passa l’asse di simmetria) e fai un loft delle due metà → usa questa nuova srf come riferimento su GH e vedrai che la griglia ora segue il bordo (ma ovviamente deforma gli esagoni, e forse fa qualche altro difetto)

1 Mi Piace

Per contenere il pattern all’interno della superficie è necessario che la superficie stessa non sia tagliata ma frutto di Sweep, Loft, 4 edge, ecc
img1

1 Mi Piace

@alex.coppola7 ho appena visto la tua aggiunta, mi hai risolto il problema nel 3d, ok come soluzione.
Ma se invece da un Pattern piano applicato ad una superficie piana (squish) e poi (mettiamo che disegno dei dodecaedri o dei ghirigori tipo fatti in parakeet e poi li volessi trasportare nel 3d.
Si ci avevo pensato a ridisegnare la superficie ricavata da squish, però pensavo che anche se la srf è trimmata, è il pattern invece si applica su tutta la srf, comunque l’idea era di vincolare il pattern al contorno come vincolo oltre il quale non si deve espandere, non so se mi sono spiegato bene.
perchè in alcuni casi di produzione industriale ho la necessità di avere il pattern nel 3d e anche nel piano.