# Componenti python che si comportano stranamente

**URL:** <https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173>\
**Category:** Grasshopper\
**Created:** [11 Gennaio 2019, 3:32pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173 "2019-01-11T15:32:49Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [11 Gennaio 2019, 3:32pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/1 "2019-01-11T15:32:49Z")

</div>

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.

 ![Senzanome](https://discourse-cdn-aws1.com/mcneel/uploads/mcneel_it/original/2X/9/9169a493590d4bdc759ee1a8a7eeeb4c4e7c442f.png)  
Le “stranezze” comunque non finiscono qui.  
Qualcuno riscontra cose simili?  
Versione Rhino Version 6 SR12 (6.12.19008.18501, 01/08/2019)

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [11 Gennaio 2019, 4:20pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/2 "2019-01-11T16:20:04Z")

</div>

Comunque tante volte si chiude rhino e si riapre e tutto funziona come al solito…almeno per un po’.

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [31 Gennaio 2019, 1:58pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/3 "2019-01-31T13:58:00Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [31 Gennaio 2019, 2:09pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/4 "2019-01-31T14:09:56Z")

</div>

Mi rispondo da solo, visto che averlo eliminato dalla cartella non ha cambiato granchè.  
Sono un po’ disperato…

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [4 Febbraio 2019, 11:37am UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/5 "2019-02-04T11:37:05Z")

</div>

manda un esempio Federico. Non ho avuto tempo di fare prove e temo di non averlo per un paio di settimane ancora…

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [4 Febbraio 2019, 12:25pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/6 "2019-02-04T12:25:23Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [7 Febbraio 2019, 9:30am UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/7 "2019-02-07T09:30:06Z")

</div>

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:

 ![SnapCrab](https://discourse-cdn-aws1.com/mcneel/uploads/mcneel_it/original/2X/2/234ba6a33ef29de09b2bc6a2490a46b81f81183f.png)  
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.

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [7 Febbraio 2019, 10:07am UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/8 "2019-02-07T10:07:55Z")

</div>

Ciao Federico

Puoi postare una definizione da testare ? 🙂

( Io qui ho ancora la 6.11, tu stai usando la 6.12 ? )

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [7 Febbraio 2019, 12:27pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/9 "2019-02-07T12:27:35Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [7 Febbraio 2019, 1:30pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/10 "2019-02-07T13:30:06Z")

</div>

Si’, scusa, lo avevi spiegato sopra che estrapolare non serve … sono io che ho fatto confusione. 😕

> [@ScarlattiFederico](#):
>
> se aggiungo una riga (if rs.isBrep(x)==True: a=x)

Hmmm, se togli la condizione e scrivi solo a=x , ti da’ sempre Null ?

O magari verificare con un Panel il valore dell’input ‘x’ ?

Scusa, eh. Sto cercando di capire se si blocca nel componente Python o prima ancora …  
Forse sono tutte prove che hai gia’ fatto anche tu …

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [7 Febbraio 2019, 2:18pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/11 "2019-02-07T14:18:51Z")

</div>

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,

 ![SnapCrab_NoName_2019-2-7_15-11-31_No-00](https://discourse-cdn-aws1.com/mcneel/uploads/mcneel_it/original/2X/4/4fa12938ecca8741fc063771bb2f2d1aa1e0142c.png) in entrata ho assegnato 2 brep.  
Secondo me fa confusione con l’id, non lii riconosce come geometrie…non so spiegarlo meglio.

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [7 Febbraio 2019, 2:55pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/12 "2019-02-07T14:55:27Z")

</div>

Ecco un altro esempio, ho provato a internalizzare gli ingressi e isolare il problema.  
Ecco il file GH [esempio.gh](https://it.discourse.mcneel.com/uploads/mcneel_it/original/2X/8/8b386f8bccec0a07d052607a8cb37a592d2319e2.gh) (12,6 KB)  
Quando l’ho creato e usato all’interno della definizione GH questo era quello che vedevo:

 ![SnapCrab_NoName_2019-2-7_15-47-10_No-00](https://discourse-cdn-aws1.com/mcneel/uploads/mcneel_it/original/2X/e/ea031c62917d035acb4e1ece24ff53017dada5d8.png) ![SnapCrab_NoName_2019-2-7_15-47-37_No-00](https://discourse-cdn-aws1.com/mcneel/uploads/mcneel_it/original/2X/0/058d66787d88c9397b9c6bb4e6ab8671f0f30700.png)  
Ma quando l’ho riaperto in un nuovo documento rhino come fareste voi tutto funziona ![SnapCrab_NoName_2019-2-7_15-48-39_No-00](https://discourse-cdn-aws1.com/mcneel/uploads/mcneel_it/original/2X/a/a868a3fecfd9959d2a56d381a20c182667b531f8.png)

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [7 Febbraio 2019, 2:59pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/13 "2019-02-07T14:59:28Z")

</div>

> [@ScarlattiFederico](#):
>
> rs.AddLine(x,y) dove su x e y sono collegati due componenti di GH che forniscono come uscita due punti.

Dipende. Se sono due Point3d OK, se invece sono due oggetti punto, credo che tu debba ricavare il Point3d, per esempio con rs.PointCoordinates().

> [@ScarlattiFederico](#):
>
> Secondo me fa confusione con l’id

In questi casi, lo **hint** dell’input corrisponde ?

Ah, ho visto che hai postato la definizione, cerco di provarla, grazie.

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [7 Febbraio 2019, 3:08pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/14 "2019-02-07T15:08:33Z")

</div>

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.😭

---

<div class="post-metadata">

**Author:** ![Sergio\_Alessi](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/sergio_alessi/32/22676_2.png) [@Sergio\_Alessi](https://it.discourse.mcneel.com/u/Sergio_Alessi)\
**Post date:** [7 Febbraio 2019, 3:16pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/15 "2019-02-07T15:16:58Z")

</div>

> [@emilio](#):
>
> Dipende. Se sono due Point3d OK, se invece sono due oggetti punto, credo che tu debba ricavare il Point3d, per esempio con rs.PointCoordinates().

Penso che Emilio abbia proprio ragione: bravo. Nel messaggio di errore c’è scritto la causa: non può convertire l’id dell’oggetto in un point3d.

Ciao

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [7 Febbraio 2019, 3:19pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/16 "2019-02-07T15:19:02Z")

</div>

Vedo che in input ci sono dei punti 3d  
mentre i Type hint sono su ghdoc Object  
Io proverei a settarli su Point3d

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [7 Febbraio 2019, 3:19pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/17 "2019-02-07T15:19:26Z")

</div>

Eh, il problema è che è da rhino5 che quel coso funzionava e faceva sempre il suo sporco lavoro.

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [7 Febbraio 2019, 3:21pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/18 "2019-02-07T15:21:04Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [7 Febbraio 2019, 3:31pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/19 "2019-02-07T15:31:03Z")

</div>

> [@ScarlattiFederico](#):
>
> quel coso funzionava

Haha …😄

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.

@Sergio_Alessi ti ricordi come funziona ?

( Io, per quel poco che scrivo nei componenti Python, cerco sempre di evitare rhinoscriptsyntax … appunto per non impelagarmi in queste cose … 😄 )

---

<div class="post-metadata">

**Author:** ![ScarlattiFederico](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/scarlattifederico/32/18664_2.png) [@ScarlattiFederico](https://it.discourse.mcneel.com/u/ScarlattiFederico)\
**Post date:** [7 Febbraio 2019, 3:40pm UTC](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173/20 "2019-02-07T15:40:20Z")

</div>

> [@emilio](#):
>
> 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. 🙂

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?

[Pagina seguente](https://it.discourse.mcneel.com/t/componenti-python-che-si-comportano-stranamente/2173.md?page=2)
