Riottenimento indici iniziali

Ciao a tutti.
sono novizio (lo uso da qualche mese) in GH e mi trovo davanti ad un problema per me complicato.
Si tratta di gestione degli indici.
Sotto immagine che semplifica di molto la mia situazione:

Dopo il componente Dispatch mi ritrovo con due liste separate, non badate al criterio di smistamento l’ho creato a caso per ottenere due liste…
Io ora a valle del dispatch vorrei qualcosa che mi riportasse l’unione delle due liste con lo stesso ordine della lista di partenza (ripeto non badate alla sequenza numerica, è un esempio stupidissimo…)
Esiste qualcosa del genere?

Ringrazio infinitamente chi vorrà dedicarmi un minuto

Benvenuto come prima cosa!
Non riesco a comprendere la razio… se hai già la lista ordinata come ti serve (quella di partenza) perché non usare direttamente quella? In assoluto per riunirla devi in qualche modo usare un processo inverso (se possibile) rispetto a quello usato per suddividerla.
Se devi fare qualcosa, spiega cosa vuoi ottenere, magari ci sono approcci diversi.
Resto in ascolto.

Grazie Giuseppe per il benvenuto e per la disponibilità.

Scopro le carte in tavola:

I miei oggetti appartenente ad una lista subiscono un processo di orientamento geometrico effettuato attraverso delle regole con un dispatch e poi convogliano dentro la creazione di oggetti nativi di Tekla structures (plugin Tekla).
Dato che a questi oggetti dovrei applicare determinate caratteristiche e dovrei poterli “combinare” tra loro in riferimento agli indici che avevo all’inizio (in sostanza si tratta di nodi ed aste di cui ho i numeri a monte del dispatch e ne conosco le interfacce reciproche) ho bisogno di riordinarli secondo la lista originaria prima di farli mangiare al componente che li trasforma in oggetti Tekla Structures.
Altrimenti con la numerazione a valle delle modifiche geometriche non mi ci ritrovo (proprio perchè ho dovuto ricorrere al dispatch…)

Come vedi è complesso ed avevo cercato di semplificarlo con l’esempio di prima. se riesco a fare quello che chiedevo nell’esempio allora riuscirò a farlo anche nel modello complesso.

Grazie

Se lavori con Tekla sono punti e linee?

Inizialmente in GH sì, poi creo vettori orientati secondo quanto mi serve e successivamente diventano travi in Tekla. Il mio scopo è gestire l’elenco di punti e linee (che poi saranno nodi e aste in tekla) secondo la lista che inizialmente mi ritrovo, in modo da poter applicare le connessioni tra i nodi e le travi in tekla riferendomi all’elenco originale

Per i punti un sistema che spesso funzione è quello che vedi nella definizione allegata.
Si tratta di sorting dei punti per coordinate. In pratica è una soluzione più che altro geometrica
Ho fatto un sorting prima delle trasformazioni (traslazione e proiezione) per avere altri dati e poi a loro volta ordinati. Come vedi se scorri con il cursore fra i vari indici, le due liste portano a risultati uguali. Pescano gli stessi punti. Ma allo stesso tempo mi vengono in mente situazioni in cui non credo si possa risolvere.
discover-index_GM.gh (12,9 KB)

Sono arrivato alla stessa conclusione proprio ora anche io. Il sorting mi permette di generare un listone unico con un criterio sia per la situazione prima sia per dopo la modifica. E infatti ora mi sto gestendo la cosa tramite excel perciò in questo modo dovrei riuscire nel mio fine. Le linee le sto gestendo generando il mid curve point e perciò avrei una coordinata cartesiana anche per le linee…
Mi domando se non si possa fare interamente questa cosa in GH ora, ovvero rinumerare una lista in base ad un’altra.
Per ora ti ringrazio molto Giuseppe


indici.gh (13,0 KB)

Il gruppo verde “smista” la lista di oggetti in base a un criterio, in questo caso l’essere multiplo di 3.
Nel gruppo blu ogni nuovo percorso ha un processo diverso (espressioni diverse).

Io ti consiglierei un uso furbo del componente Weave [1].
(nota che Weave può avere più canali in entrata oltre a 0 e 1 … io ho usato una bool che viene convertita in 0 e 1 per praticità)
Weave lo puoi considerare l’inverso di Dispatch. … circa


Nel metodo [2] vengono usati gli indici (generati un po grezzamente da “Item Index”).
Semplicemente gli indici sono smistati in sincrono agli oggetti, e poi con Merge e Sort List si rimette tutto in ordine.
Questo metodo ha il difetto che, se per qualche motivo qualche elemento è stato rimosso, l’ordine potrebbe risultare errato. Difficile da descrivere senza avere un caso tra le mani.


Nel metodo [3] si genera una lista di null lunga quanto la lista iniziale di oggetti, e poi gli si rimpiazzano gli elementi con un “Replace Items” per ogni percorso…


Probabilmente con Weave vivrai a lungo senza problemi. XD

1 Mi Piace