Posso allo slider associare un nome da poterlo richiamare

E cosa vorresti dimostrare ?

dimostrare nulla, mostrare. Mostrare o sostenere che secondo me è meglio non togliere i fili per non perdere la visibilità di dipendenze e gerarchie che in fase di debug aiuta molto.

Ciao Fabio

Marco ha gia’ parlato delle tecniche disponibili … :slight_smile:

Io, se permetti, vorrei capire meglio la domanda … :confused:
Parli di componenti script di GH, giusto ?
E parli di passare dei valori tra un componente script ed un’altro, ‘successivo’ nella definizione ?
E la cosa e’ collegata al problema di cui si discuteva di passare valori con o senza fili ?
Grazie

Ciao Emy, sì mi riferivo proprio a quello.
Data la mia inesperienza in materia sarà sicuramente una scemata ma è la prima cosa che mi è venuta in mente per avere delle connessioni wireless in una definizione di GH: “passare” variabili da un blocco ad un altro tramite script.

Sai che ragioni proprio da scriptomane ?
( Non e’ un insulto, eh :wink: )

Comunque, grazie agli amici GHomani ( nemmeno questo e’ un insulto :wink: Anzi ! ), ho scoperto che puoi settare il wire in modalita’ wireless, anche se David e’ pentito per averlo permesso. :wink: :smile:

Pero’ cerco di fare una prova col tuo sistema delle variabili globali. Per curiosita’. :slight_smile:

Ho visto, ma non ho capito come si fa.
Ma è una cosa che puoi fare selettivamente oppure devi nasconderli tutti?
Nel secondo caso ribadisco le mie perplessità (e forse di David), temo sia un kasino pazzesco! :joy:
Però non lo ha detto il dottore di usare quella modalità ed è sempre qualcosa in più, magari a qualcuno serve e ci si trova pure bene.

Io ci ho messo mezz’ora … peggio dei carbonari ! :smile:
RMB sulla fine del wire … e tra le opzioni che compaiono c’e’ anche la modalita’ di visualizzazione.

EDIT:
Piu’ che la fine del wire e’ il nome del parametro corrispondente
/ EDIT

Ovviamente ! :slight_smile:

Hmmm … come rhinofilo ragioni in modo un po’ troppo ‘sovversivo’ … :smile:
Comunque e’ quello che ha detto anche Marco, se capita che serve lo usi, se no no. :sunglasses:

Ah, ho provato la tua idea, con uno script Python, cosi’ posso usare scriptcontext.sticky.
Sembra che funzioni. :grinning:

Esempio stupido: scala una brep in modo da avere la stessa diagonale della boundingbox rispetto a un’altra brep di riferimento.
Non serve a niente, e’ solo un test.

fabio-globals.gh (9,7 KB)

Questa dovrebbe permettere, con la tua idea, di fare quanto chiesto da Emanuele.
Nel senso che il nome della ‘variabile’ deriva da un input dei componenti script.
Ho notato una cosa: all’inizio avevo eliminato il collegamento tra i due script, cioe il parametro ‘a’, in quanto superfluo.
Ma ho dovuto ripristinarlo perche’ interrompevo il collegamento logico che causa il ricalcolo del primo script, e il tutto non si aggiornava se scalavo l’oggetto di input.
Adesso il parametro ‘a’ che ‘collega’ i due script non e’ nemmeno utilizzato, infatti se controlli ti dice Null, pero’ serve il collegamento in se’.
( Almeno cosi’ credo di aver capito … )
Divertente :grinning:

fabio-globals-B.gh (13,7 KB)

Emi, guarda se sto video ti fa risparmiare qualche minuto!

4 Mi Piace

Ciao Emilio mi sono scaricato il primo tuo esempio. Fammi capire questo che hai fatto tu dovrebbe scalare il secondo oggetto di un valore che la diagonale del bounding box che o contiene è uguale al primo? Perchè se è cosi a me non va , mi fa solo il boundig box del secondo solido, non riesco a cogliere cosa fa tutto l’ambaradan .
Altra cosa , per usare quelle icone li dove cè scritto Python devo saper fare gli script ? (perchè se è cosi son tagliato fuori) :joy:
Grazie

A che servono i 2 Python del primo esempio visto che da “le” escie la lunghezza della diagonale , non potevi prenderla subito da “L” ?

Molto istruttivo. :grinning:
Grazie mille, Giuspa !

EDIT

Non so perche’ Discourse non mi prende le risposte come risposte, ma come messaggi generici.
Questo da Chrome … boh. Fa lo stesso, cerchiamo di capirci comunque. :slight_smile:

Ciao Emanuele

Premetto che queste 2 definizioni sono solo un test per vedere cosa succede a mettere in pratica l’idea di Fabio

Comunque …

Mah, ho provato di nuovo, qui pare che funzioni …
Se vuoi postare gli oggetti su cui hai fatto la prova, provo con quelli e vediamo cosa succede.

Devi conoscere Python per scrivere lo script, partendo da un componente ‘vuoto’.
Se ti limiti ad utilizzare componenti con script gia’ fatti, come ad esempio questi nella definizione, no.
Li utilizzi come qualsiasi altro componente.

Si’ ,certo.
Ma lo scopo dello script era testare l’idea di Fabio, e per vedere se funziona devo salvare la lunghezza nel primo script e recuperarla dal secondo.

EDIT:
Scusa, volevo dire “lo scopo della definizione”, non “lo scopo dello script”

lele.gh (10,7 KB)

In teoria non dovrei ottenere on elisse con diagonale bounding box come il cubo?
Grazie

Funzia sono andato di male io che non lo vedevo. Basta meglio che faccia una pausa perchè qui al posto di migliorare peggioro. :rofl:

Sparo a vanvera adesso stacco mi sono incagnito sul discorso script ma meglio che faccia le cose semplici.

1 Mi Piace

Col permesso di Emanuele, riporto una domanda che mi ha fatto via messaggio privato.
Io penso che queste cose possano essere utili anche ad altri, quindi gli ho chiesto di poter (cercare di) rispondere qui:

Ciao Emilio , fatto sta che non posso richiamare la lunghezza della diagonale senza tirare il filo? Mi sembra dal tuo esempio che il filo lo devi tirare comunque. Cioè non posso all’entrata di A/B mettere un panel con dentro “le” ?


Risposta:


All’entrata di A/B colleghiamo l’output del secondo script: quello che legge il valore salvato in precedenza.
Concordo che, cosi’ com’e’, e’ parecchio ingombrante.
Forse sfruttando i cluster, che Giuseppe ci ha gentilmente spiegato (vedi il video), si potrebbe ridurre l’ingombro.
Ma, come dicevo, il tutto voleva solo essere un test per l’idea di Fabio, che comunque si e’ dimostrata valida.
Poi magari si puo’ fare qualcosa di diverso … anch’io sto imparando GH … :blush:

Ho spostato qualcosa nella definizione . Forse e’ un poco piu’ chiaro, anche se la sostanza non cambia :wink:

fabio-globals-C.gh (13,6 KB)

Molte interessante come sempre. Una domanda a proposito della matrice che hai riportato: dovrei avere tante uscite quante sono le righe (o colonne, non so come vada impostata), ma non vedo n uscite. Come mai?

Beh non male.
Questo si che funziona e poi non è cosi una gran ingombro. Potrei salvarmelo per eventualmente creare delle variabili come avevo chiesto nel post. Grazie

Se posso infltrarmi … :blush:

Luca, dal punto di vista ‘programmatico’ :wink: , il valore in questione appartiene a questo tipo di dati:

https://developer.rhino3d.com/api/RhinoCommon/html/T_Rhino_Geometry_Transform.htm

Quindi e’ un valore (od oggetto se vuoi) unico.
Da cui naturalmente potrai ricavare tutti i numeri che vuoi. :slight_smile:

Emilio, da quel link che info dovrei acquisire? Se non ho ascoltato male nel video si parla di clusterizzare (creare una funzione in pratica) che possiamo richiamare e se ho necessità di passarla enne volte, dovrei avere enne output, non capisco quindi cosa intendi con “valore unico”. Unico per ogni serie di valori che gli passerò enne volte, ma da qualche parte questi enne risultati dove li metto?

PS. forse ho capito. E’ la classica matrice di trasformazione (ad esempio di sistemi di riferimento) e quindi ha solo un output unico. Ok pensavo che si volesse comunicare il fatto che dopo aver clusterizzato si può richiamare enne volte con una matrice, invece forse si intende che si applica la matrice (una entità a sè) al cluster appena creato.