Posso allo slider associare un nome da poterlo richiamare

Salve a tutti in questi giorni di forzata quarantena ho iniziato a guardarmi Grasshoper e scusate se faccio delle domande un po stupide . E’ possibile ad una variabile dargli un nome in maniera da richiamarlo quando occorre senza “tirare” il filo?

Ciao Emanuele.
Chiedi sempre senza problemi. Le tue domande saranno sicuramente utili anche ad altri.
Veniamo al contenuto.
In GH il “place-holder” per le variabili si trova nel menu “parameters”. Che cosa vuoi fare esattamente? Spiega anche a parole.

Intanto non devo fare niente Giuseppe,grazie. Sto solamente cercando di capircene qualcosa son 3 gg che ho iniziato a guardarlo. Per caso esiste una leggenda di tutte le icone magari in italiano per avere una idea generale di quanti strumenti ho a disposizione?
Grazie.

Purtroppo no. La documentazione è già una nota dolente alla quale stiamo cercando di mettere rimedio ma che non credo verrà localizzata. E’ comunque un linguaggio di programmazione ed è per questo che rimarrà in inglese. Chiedi senza farti problemi!

1 Mi Piace

è scritto giusto “place-holder”? Sto cercando di capire dove è :worried:. il mio menù si chiama “Params” non “parameters” è la stessa cosa?

Hai ragione :slight_smile: il nome è stato contratto da Parameters a Params.
Parlavo di “Place-holder” generico. Un posto o componente in cui puoi inserire associando o imputando direttamente una variabile di un certo tipo.
Esempio: se Trascini un Params Curve o Integer appaiono come scatole vuote (il colore arancione).
Per riempirle occorre che tu o altri componenti ci mettano dentro qualcosa.
Nel caso delle curve se fai tasto destro sul componente puoi associare una o più curve esistenti in Rhino (opzione Set one Curve opure Set Multiple Curves) mentre nel caso del numero, sempre tasto destro e inserisci Set Integer oppure Set Multiple Integers.
Vedi immagine:

Scusa Giuspa, non vorrei aver capito male …

Ma (da ‘collega’ di Emanuele in quanto principiante di GH) ho avuto l’impressione che la domanda fosse:
E’ possibile collegare l’output di uno slider, anziche’ tramite wire, dandogli un nome per poi richiamare lo stesso nome nell’input di un altro componente ?

Se ho preso fischi per fiaschi (lo sai che mi capita spesso :roll_eyes:), chiedo scusa per la confusione.

1 Mi Piace

Facilissimo che abbia capito male. E che continui a farlo…
Nel caso rispondo no. Diversamente non sarebbe un sistema diretto e aciclico.

Infatti Emilio questo era che volevo sapere. Grazie per la precisazione.

Si infatti Giuseppe volevo precisare ma ero occupato a fare altro. L’avrei fatto più tardi.
Comunque adesso grazie anche a Emilio mi hai capito e ho visto che la risposta è no. Anche se però sarebbe interessante,ci sarebbero meno grovigli di fili.
Grazie ancora e buona serata a tutti.

Ciao Emanuele,
a mio modesto avviso è una fortuna che non ci sia questa possibilità. Sarebbe molto frustrante la fase di debug. Puoi attivare la funzione “Wire Display: hidden” cliccando col tasto destro all’ingresso di un componente se vuoi vedere meno fili. Pensi da programmatore classico, l’approccio visuale è diverso e ha anche molti vantaggi.

In sostanza si chiede un collegamento wireless. :wink:
Scherzi a parte, non so usare Grasshopper e non riesco a comprendere la necessità della richiesta.
Vi prego di considerare quanto segue tenendo presente la premessa.

Certo i wire possono creare confusione.
Ma non penso che eliminarli giovi alla comprensione della logica della definizione, anzi mi sembra che la cosa possa creare una confusione totale.
Si tratta di un linguaggio di programmazione visuale, non è sacrosanto che funzioni così?
Qualora non esista già, potrebbe forse giovare un comando che mostra/nasconde i wire?
Ma anche qui non comprendo a cosa possa servire visto che, una volta terminata la definizione, credo si portino tutti i componenti che richiedono interazione dell’utente in una porzione limitata dello schermo, ordinatamente.
Oppure si userà l’apposita interfaccia.
Piuttosto vorrei chiedere se, all’interno di blocchi che contengono codice “classico” (sintassi scritta per intenderci), non sia possibile creare delle variabili “globali” che possono essere lette da altri blocchi che contengono codice “classico” …

Hmmm … io concordo con Emanuele.
Sara’ questione di allenamento o di modo di ragionare soggettivo …
Ma io, se una definizione comincia a crescere (e i wire cominciano a sovrapporsi) … comincio a non capirci piu’ niente … :confused:
D’altra parte l’affermazione che un’immagine valga mille parole in generale non mi ha mai convinto gran che.
In certi casi un’immagine e’ quello che ci vuole.
In altri rinunciare al linguaggio, alle parole, mi sembra insensato.
Come in altri casi il suono e’ insuperabile, e in altri magari gli odori o i sapori.
E non dimentichiamo i video.
Io GH lo trovo divertente, ma fintanto che la definizione non cresce troppo.
Suppongo che per definizioni complesse a un certo punto si inizi a organizzare gerarchicamente, a fare dei gruppi di componenti … che poi andranno identificati in qualche modo, suppongo con un testo o un nome, un numero.
E a me sembra la stessa cosa che dare un nome a un output di un componente … o no ?

Mi piacerebbe sentire cosa ne pensa chi usa definizioni complesse.
Magari ho detto solo cavolate …
Grazie.

Effettivamente quando si creano definizioni complesse i collegamenti devono essere gestiti, altrimenti si crea un vero e proprio delirio.

Come hanno già suggerito è possibile utilizzare i collegamenti Wireless, che secondo me possono essere utili se se ne fa un uso moderato e controllato: ad esempio, quando si lavora non solo da sinistra a destra ma anche “a strati” su più “righe”, i collegamenti wireless possono essere utilizzati per connettere gli input iniziali alle “righe” più in basso, oppure per connettere gli output che si hanno alla fine di una “riga” agli input che sono all’inizio della riga successiva. Infatti uno dei problemi è che, per come sono implementati, se collego un componente ad uno posizionato un po’ distante ed esattamente sotto il primo, e magari anche più a sinistra, la forma dei collegamenti a S si distorce ed è parecchio difficile seguirli.

Però a parte questi utilizzi particolari, penso che in linea di massima sia meglio mantenere i collegamenti. Vanno gestiti sicuramente, ma sono anche utili per controllare il flusso delle informazioni ed ottimizzare e mantenere organizzata la definizione.

Per quanto riguarda la possibilità di avere variabili “globali”, direi che potrebbe essere fatto ad esempio con gli User Text di Rhino.

In questo esempio si usano gli User Text relativi agli oggetti, ma immagino si possa adattare per i Document User Text.

L’immagine è la soluzione postata da IVELIN PEYCHEV in questo thread:

Ovviamente la cosa funziona - o almeno dovrebbe, non l’ho mai provata - se posso impostare la variabile in Rhino e non devo calcolarla o modificarla in Grasshopper. Ma in quest’ultimo caso penso che avere una variabile globale sarebbe molto rischioso e di non semplice implementazione, perché Grasshopper dovrebbe risolvere l’algoritmo sapendo che prima deve creare le variabili globali e poi passare a quei componenti che le utilizzano. Insomma i collegamenti dicono a Grasshopper in che ordine eseguire l’algoritmo, credo che senza potrebbero esserci dei problemi.

PS ho trovato anche una pagina dove si parla di un altro modo che utilizza Python, però a occhio mi sembra un po’ macchinoso…

Faccio definizioni complesse? Booh…mica lo so. Cerco fi tenerle ordinate raggruppando i componenti e mettendo testo descrittivo. Impacchetto con il componente cluster blocchi di definizioni. Le definizioni tendono a diventare disordinate? Forse. Ci sono modi per tenerle in ordine e non è detto che un intero flusso di lavoro debba essere contenuto in una mega definizione monstre. Certo se non piacciono i fili di collegamento… difficile possa essere apprezzato. Come dire mi piace la montagna peccato per i sassi…Ha un sacco di limiti ma ha permesso a un sacco di gente di fare cose che non si sarebbero mai sognate di fare. In competizione con uno script perde sempre 4-0. In altri contesti vince per dispersione. Poter vedere come procede il ragionamento non ha prezzo. Penso.

Grazie Marco e Giuspa !
Contavo sul vostro intervento :slight_smile:

Se non mi sono spiegato, provo a rimediare.
Non intendevo proporre di abbandonare i wire. Credo siano il mezzo piu’ veloce e comodo per costruire la definizione.
Ragionavo solo (beh … meglio ‘chiacchieravo’) su uno dei possibili modi per non perdere il filo in caso di definizioni molto estese ed eventualmente suddivise logicamente in ‘sotto-definizioni’ piu’ piccole.

Emi hai già visto i cluster?

Li ho solo sentiti nominare … ma non li conosco.
Vedo di informarmi.
Grazie per la dritta !

EDIT:

Bello !
Sembra una cosa decisamente interessante, devo provare. :grinning:

Mi ricordavo di aver visto una cosa simile … ma era un ricordo troppo vago. :roll_eyes:
Potrei dire allora che l’ipotesi potrebbe essere (stata) di dare un nome ai collegamenti wireless …

Comunque, visto anche …

( :smile: )

… direi che il discorso, per quanto mi riguarda, e’ chiuso e passo a rompervi su altro. :sunglasses:

Grazie !

conferma la mia opinione.