Ciao a tutti, non so se capita solo a me ma ultimamente i componenti in python all’interno di GH non si comportano come al solito.
Per esempio se alcuni riportano all’interno a=rs.AddPoint(x) mi aggiungono i punti sul documento, mentre una volta non lo facevano, si limitavano a comunicare con il componente GH successivo.
Ancora rs.IsBrep(x) mi da sempre False perchè non riesce a riconoscere l’id, devo cambiare il tipo della variabile in ingresso come in immagine.
Faccio una domanda, non avendo ottenuto risposta provo a sparare a caso: che sia perchè ho ancora nella cartella Components Folder il vecchio plug-in di Python per grasshopper?
Ciao Giuseppe, la cosa è andata risolvendosi con l’ultima candidate. L’unica cosa che ancora riscontro è che i componenti python non si aggiornano in automatico come qualche SR scorsa appena si modifica qualcosa nel modello o in GH. Ma basta dare un F5 in GH e tutto funziona.
Come non detto, ci sono ancora cose strane… Ho provato a riprodurre l’errore in un file pulito di GH con solo quello che mi interessa, ma l’errore non si presenta. Non so se a questo punto l’errore dipenda dalla complessità del file GH, che comunque funziona se ricalcolo con F5. Comunque la parte che mi da dei problemi per adesso è questa:
E’ una cavolata. Se metto nel componente Geo una Brep mi dovrebbe stampare True e se aggiungo una riga (if rs.isBrep(x)==True: a=x) in uscita, in a, dovrei trovarmi la Brep giusto? In realtà nella mia definizione GH non succede, mi stampa False e con la riga aggiunta in uscita a mi da Null e solo dopo un ricalcolo (F5) allora il componente python si sblocca e fa il suo dovere.
Ciao Emilio, ho provato a rimpicciolire la definizione di GH e sembra che il problema non si ripete, neanche lavorando sullo stesso file di rhino.
Condividerei anche, solo che dovrei condividere un file di rhino, la definizione di GH e dovrei anche spiegare come usarla, perchè dipende anche dalla camera di rhino ecc… E’ un po lungo ma nel caso lo faccio quando sono preso un po’ meglio.
E’ proprio il componente python che mi da problemi. Mi da problemi anche con rs.AddLine(x,y) dove su x e y sono collegati due componenti di GH che forniscono come uscita due punti. Lì mi segna che non riesce a convertire l’id in punti. Comunque ecco un altro screen,
Ecco un altro esempio, ho provato a internalizzare gli ingressi e isolare il problema.
Ecco il file GH esempio.gh (12,6 KB)
Quando l’ho creato e usato all’interno della definizione GH questo era quello che vedevo:
Ah, la mia versione rhino è questa Version 6 SR13 (6.13.19035.17431, 02/04/2019).
Anche se il problema si trascina da qualche SR.
Purtroppo per vedere se risolvono qualche problema scarico sempre la candidate…ma non sempre va bene.
Già provato, facendo così nella SR scorsa mi ritrovavo le linee nel documento di rhino (e anche in questa). Cosa che non volevo proprio e non dovrebbe fare. E’ comunque una soluzione tampone che ho adottato pur di andare avanti.
Capita a volte che ci abituiamo a sfruttare delle capacita’ del programma … non previste/non volute.
E quando il programma torna a fuzionare come deve … ci pianta il nostro bello script.
Poi forse non e’ questo il caso, pero’ sono cose che capitano regolarmente …
Per il fatto dell’output su Rhino … mah.
Credo sia un problema di ghdoc … se non ricordo male.
Dovrebbe essere settato in un certo modo … che ora non ricordo.
Però devi ammettere che qualche cosa non va. Quantomeno non dovrei trovarmi cose di uno script ghpython sul documento rhino a meno che non gli scriva:
import Rhino
import scriptcontext
scriptcontext.doc=Rhino.RhinoDoc.ActiveDoc
Giusto?