List of points on a curve

Hello Forum,

I need an information about Grasshopper. I’m gonna explain it to you all.

I have a rectangle (4 different curves) with points on it. I wanna divide the list of points according to these 4 different segments.


The final result that I wanna make is create a reticular truss, starting from the points that I already have.

If someone knows how to help me I would appreciate a lot.

Thanks

Ciao Valeria,
se ho ben capito, vorresti ottenere il reticolo che passa per i 4 punti e che si estende fino al rettangolo più grande?
Potresti creare delle diagonali che passano per i punti, estenderle fino al rettangolo più grande e trovare i punti di intersezione da cui partire a calcolare il passo della griglia.
Oppure creare le due diagonali per i punti, allungarle al rettangolo grande e fare un offset both side multiplo così da generare il reticolo e poi trimmarlo con il rettangolo grande…

Ciao Lucio, ti allego il file .gh così da capire meglio, perchè non credo di essermi spiegata bene.
Quello che voglio ottenere è questo in alzato


truss.gh (21,2 KB)

Ok, ci do un occhio anche se so che Leopoldo arriverà come un falco! :wink:
Comunque, così al volo, mi viene da dire che bisogna filrare i punti uno si e uno no e traslarli in Z… (idea buttata così, poi magari ho detto una cavolata :grimacing: ).

Sarebbe utile avere il file di riferimento di Rhino, oppure internalizzare le curve.

corte dx.3dm (679,8 KB)
truss.gh (20,0 KB)

Ho modificato qualcosa, e adesso sono riuscita a selezionare anche i punti superiori suddividendoli per le 4 curve che creano la mia curva iniziale.
Solo che sono riuscita a collegare solo le diagonali da sinistra a destra e non viceversa.

Grazie per il supporto

mmmm bell’argomento. . . .

se ho capito bene cosa intendi fare,
una strada potrebbe essere quella di ordinare in una lista pgni “primo punto” che precedono e succedono i “4 punti dell’angolo”. una volta selezionato poi il punto desiderato dalla lista totale dei punti filtri tutti quei punti che contengono la stessa coordinata per la direzione desiderata.

per chiarire meglio:
se il primo punto in alto a Sx ha come coordinata 0,0,0
ed ogni punto ipotizziamo che tutti hanno un passo da 10mm
quindi il secondo punto verso asse X avrà la coordinata 10,0,0
va da se che tutti i punti sottostanti a tale punto, abbiano come costante la coordinata X cioè “10”
in conclusione l’intendo è di filtrare tutti i punti con coordinata X=10 che corrisponde al punto scelto.

se confermi che è corretto, appena mi è possibile condivido una definizione.

Ciao 0904,

si, è corretto. l’unica problematica consiste nel voler parametrizzare tale processo. Quindi ogni parametro non deve essere impostato da un numero dato dal modello attuale, ma deve seguire le modifiche in relazione al processo, dando poi lo stesso risultato visivo.
Dico questo perchè il codice termina con l’utilizzo di Galapagos e quindi, come saprai, ogni parametro del quale è composto il mio codice subirà cambiamenti in base al processo di ottimizzazione

se col parametrizzare, intendi che anche se cambia la quantità totale dei punti, oppure da dove essi siano posizionati come coordinate, una volta impostata tutti i parametri il risultato si aggiorna di conseguenza. a questo proposito ovviamente, sarebbe opportuno sapere come ottieni la rete di punti, essendo che dovresti poi collegare per lo meno i 4 punti angolari e le dimensioni oppure se questo varia, prima di avviare Galapagos li dovresti selezionare obbligatoriamente i singoli 4 punti e passo.

ciao Salvio comunque.

Scusami Salvio, non avevo visualizzato il tuo nome, perdonami. Non volevo essere scortese.

no problem Valeria :wink:

Per quanto detto in riferimento a Galapagos, hai ragione. Il file originale prevede un processo troppo lungo, e per questo ho condiviso con voi solo la parte che mi da problemi riferita alla trave reticolare.

Se sai essermi di aiuto con la progettazione della travatura, legata al file .gh condiviso, accolgo ogni consiglio :slight_smile:

gli do un’occhiata ok :+1:

La mia interpretazione.
truss a.gh (15,7 KB)

1 Mi Piace

ciao Leopoldo,
leggendo la spiegazione di Valeria, (mancavano le diagonali opposte) e dopo aver aperto i files
credo che l’intenzione è quella dell’intreccio a X delle curve collegando i punti opposti fra quelli sup e inf

se l’interpretazione è giusta, allora il metodo per ottenere ciò è questo della foto
in pratica dividi la curva per n punti (dispari) e “tutti i punti” li devi riportare anche in basso
una volta fatto questo, solo allora devi collegare alternativamente uno superiore ed uno inferiore

es: partendo dal primo punto superiore a Sx lo colleghi con quello in diagonale a Dx inferiore
duplichi i componenti, poi colleghi il primo a Sx inferiore con quello diagonale superiore a Dx
mentre nel tuo esempio Gh se on erro, avevi alternato i punti, metà nella parte superiore i restanti in basso.

spero che sia ciò che volevi. . . .

Dal punto di vista della definizione di Grasshopper non sarebbe un problema l’incrocio a X ma mi sembra abbastanza illogico come struttura.
Sentiamo cosa dice Valeria.

Leopoldo non saprei, nal caso c’è lo chiarirà.

nel frattempo, ho notato che per ciò che intendevo, mancava una parte:

alla fine, viene fuori una sorta di “rete romboidale”?

2 Mi Piace

Però la foto postata da Valeria mi sembra sia esplicativa.

1 Mi Piace

Credo che il tuo problema lo puoi risolvere così.
trussz val.gh (26,9 KB)

2 Mi Piace

Credo che debba venire una travatura a “zig zag” come ha fatto Leopoldo (di solito sono da due a quattro tubi collegati tra loro tramite tondino saldato a zig zag)

2 Mi Piace