Gli Script

Ciao , ora sparo la mia idiozia :cold_sweat: , GH in pratica si potrebbe definire come una sorta di Script per Rhinoceros ma ad oggetti e piu avanzato con algoritmi piu moderni.
Sembra molto potente .

Ciao

Si può anche definire così tanto più che si possono inserire script Py, VB e C#.(anche tutti e tre insieme)
Penso che un vantaggio sia nel fatto che ogni modifica della definizione GH viene immediatamente visualizzata ed eventualmente corretta.
Per una mia curiosità, il piano di costruzione delle sezioni deve essere perpendicolare alla linea che lo precede?
Mi sembrerebbe più logico un piano costruito sulla bisettrice delle due linee adiacenti.
img1

1 Mi Piace

Ciao , ho dato uno sguardo da profano perchè ho giusto guardato 2 tutorial al volo .
Per cui penso sia meglio avere conoscenza sia di come strutturato il sistema a codice che in Gh.
Mi sembra di capire che i vari collegamenti o qualcuno lavorano tipo lo script ,come Txt Split etc…
Per la curvatura Cerchio Min e Cerchio Max , diciamo che la cosa importante è che nel complesso si ottenga la curva desiderata .
In questo lavoro solitamente sei sempre massimo sui 10/12° come piega , qui nel file sono sommati i 2 valori se ricordo bene e fanno 20° per semplicità .
Ieri ho provato a cambiare file dati , dando un altro percorso e volevo provare a inserire ’ per i commenti ma non so si bloccava il pc spesso, caricava i valori sotto txt dove cè link del file , ma non cambiavano nella lista e variabili , rimanevano i dati vecchi, ovviamente non ho conoscenza in Gh ma è molto interessante.

Ciao Grazie

Curioso come si passi da un “filosofeggiare” generico sulla questione script a un caso ben specifico…
Ho provato a capire a quale catena di messaggi precedenti ti riferissi, ma non ci sono riuscito… ci sono 160+ messaggi qua.

Forse per un caso specifico si meriterebbe un thread dedicato?


Esteticamente di sicuro sarebbe più elegante, ma non so nemmeno cos’è…

Attenzione:
la sezione di un tronco di cono (un ellisse) avrà il centro che non giace sull’asse del cono.
(salvo chiaramente la sezione perpendicolare, il cerchio)
Se quel pipe che stai cercando di fare deve avere solo segmenti cilindrici o conici, la costruzione è tutt’altro che banale, il piano di taglio non è la bisettrice, ma una sua parallela.
E, anzi, se inizia cono “crescente” ma finisce con cono “decrescente” ho il sospetto sia ancora più complesso e secondo me nemmeno esiste una costruzione fattibile, se non si da qualche grado di libertà al risultato.

Se i vari segmenti possono essere dei generici “loft”, né cilindro né cono, allora chiaramente tutto banale…

Ciao , si tratta di una costruzione geometria tramite valori presi da un file txt

Si concordo la costruzione che utilizzo attualmente è un vecchio Script che feci in Autolisp , la costruzione non avviene cosi ma al contrario , tramite diretttrici e giustamente come sottolinei si ottengono elissi che intersecando dall asse centrale si ottengono risultati non perfetti e anche in base all angolo di inclinazione della forma geometrica.
Diverso potrebbe essere se ruotiamo dall asse centrale come stiamo facendo ora dall asse centrale dove si calcola sempre l altezza del cono ;con la rotazione di esso rimarrebbero circonferenze di cerchi (sempre se il loft fa il suo lavoro non so se è totalmente idoneo devo ancora verificarlo) , poi per quanto riguarda la precisione del suo sviluppo _unroll anche qui ho visto che non è banale ottenere un buon risultato.

Ciao Grazie

Potresti aprire un thread dedicato e ri-spiegare la situazione?
Anche per separare la cosa da questo thread concettuale riguardo gli script.
(ma non voglio forzare la cosa… è solo che non trovo i post passati a cui vi riferite, e non riesco a seguire, probabilmente finirei per ri-chiedere cose già dette)


Se la sezione è conica solo-crescente o solo-decrescente con crescita/decrescita lineare, sono sicuro sia possibile ottenere un risultato con forme puramente coniche, unroll perfetti.

Nel caso hai coni sia crescenti che decrescenti… è un casino :rofl:

1 Mi Piace

Si sono tronchi di cono con una conicita lineare crescente o decrescente mentre l inclinazione del cerchio puo avere anche un inclinazione doppia in modo che il cerchio ad esempio curvi sia a sinistra che verso Z .
Ciao grazie

Ciao Riccardo.

Il thread dove di parla del condotto (suppongo camera di espansione per motore a 2 tempi) e’ questo. :slightly_smiling_face:
In realta’ si parla di imparare a scrivere script e definizioni.
Dal telefono non so come linkare, ma piu’ o meno si inizia a parlare del condotto 30 giorni fa.
Come avrai capito e’ una discussione piuttosto ‘libera’, come capita spesso qui. :blush:
Mischiamo il problema del condotto con l’apprendimento degli script … e forse altro.
Mi spiace che questo renda poco comprensibile la discussione … :confused:

2 Mi Piace

La definizione che avevo postato non prevedeva i commenti, quindi inserendoli si blocca.
Non c’era neanche il “filo” che collegava il file esterno alla definizione.
Se vuoi provare ti mando il file corretto e anche un file di testo, che ovviamente puoi modificare o sostituire.
Ricordati di modificare il percorso del file di testo.
segmenti a.gh (32,2 KB)
Prova1.txt (200 Byte)

2 Mi Piace

Mi è sembrato di capire, script a parte, che si tratta di costruire un tubo con sezioni circolari variabili.
Se le sezioni hanno misure definite non vedo come si possa fare altrimenti se non con un loft.
Dicevo della bisettrice perché altrimenti può succedere questo.

2 Mi Piace

Si sono tratti conici , come descrive Emilio uno scarico , ottimo se il Loft è corretto, ottimo.

Ciao Grazie

Piu tardi provo.

Grazie

Rieccomi.
Provo a ricapitolare a grandi linee.

Credo che la faccenada dello scarico inizi qui:

… poi qui

… poi c’e’ la definizione di Leopoldo

… poi il mio script

… si torna a parlare del condotto qui

… qui

… qui

… poi Leopoldo qui

… e qui

Ma siamo arrivati a quello che hai gia’ visto anche tu … :slight_smile:

Rivedendo il thread … si’, concordo con te, e’ un gran casino. :blush:

Cerco di ricordarmi per il futuro di organizzare un po’ meglio i discorsi … sorry. :confused:

Scusate la confusione !

3 Mi Piace

Mea Culpa. :cold_sweat:

No, tu sei nuovo del forum.
Io ero qui a chiacchierare (sul newsgroup) prima che ci fosse il forum … dovrei sapere come fare.
Ci riproviamo la prossima volta, dai.
:grinning:

3 Mi Piace

non sono riuscito a trovare i post dove se ricordo bene, avevi pubblicato il codice/file

comunque se non sbaglio dovrebbe essere tipo questo:

non sono sicuro, magari il tuo esempio era in C# oppure in Py utilizzando RCommon

ps non sono pratico non l’ho usato personalmente, ma in teoria dovrebbe funzionare in questa situazione tipo: verificare se input sia un numero, in tal caso elabora oppure salta avanti?

Suppongo fosse cosi’ … ovviamente non mi ricordo. :smile:

Non so se RhinoCommon definisca un operatore ternario in stile C, ma in ogni caso sarebbe valido per una specifica classe, sempre ammesso che quell’operatore sia ridefinibile in C# e che Python riesca a utilizzarlo … non ne ho idea, servirebbe un esperto. :blush:
Nemmeno saprei a quale scopo dovrebbe fare una cosa simile … :confused:

Del resto Python ha il suo modo di selezionare un valore, data una condizione.

a = b if c else d

È una booleana, puoi metterci qualsiasi cosa che restituisca una booleana, true o false
il primo valore/oggetto viene restituito se la booleana è true, altrimenti il secondo.

La “struttura” è:

bool ? varTrue : varFalse

Vedi questo esempio semplice

var v = 1<2 ? 5 : 18;                       // v = 5
var v = 3<2 ? 5 : 18;                       // v = 18
1 Mi Piace

si, la situazione mostrata nel link che ho postato mi è chiara

ma quello che intendevo col non essere esperto, e che in un paio di esempi, Emilio aveva usato questo operatore ternario in un input non sono sicuro se richiedesse un numero o un punto.

non avendolo mai utilizzato, posso cercare di replicare input spero di ricordare bene. . .

Al momento purtroppo non mi ci sono più dedicato ma pongo una domanda che mi è venuta in mente , presumo sia possibile forse non è complesso ma ovviamente bisogna starci sotto se non hai molta conoscenza in codice , tornando al codice del file script generato da Emilio molto gentilmente , volendo nel disegnare la suddetta geometria 3d è possibile recuperare dalle liste create un valore fra due basi loft o cerchio e conoscere la sua distanza , oppure le liste una volta create non sono piu in memoria e serve salvarle ?
Ciao Grazie