# Python e rs.Command

**URL:** <https://it.discourse.mcneel.com/t/python-e-rs-command/617>\
**Category:** Scripting e Programmazione\
**Created:** [25 Giugno 2015, 8:42am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617 "2015-06-25T08:42:54Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![enzo\_molinari](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/enzo_molinari/32/17177_2.png) [@enzo\_molinari](https://it.discourse.mcneel.com/u/enzo_molinari)\
**Post date:** [25 Giugno 2015, 8:42am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/1 "2015-06-25T08:42:54Z")

</div>

Qualcuno sa dove è possibile trovare informazioni sull’ordine dei parametri da inserire nel caso del rs.Command?

rs.Command("\_Orient…

rs.Command("\_Line 0,0,0…

grazie

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [25 Giugno 2015, 9:09am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/2 "2015-06-25T09:09:15Z")

</div>

rs.command dovrebbe funzionare allo stesso modo di come richiami i comandi da barra di comando…  
Quindi il metodo migliore è quello di richiamare il comando incriminato con il trattino “-” davanti in maniera da ottenere tutte le opzioni da riga di comando e copiare pari pari l’ordine di input nello script.  
Ciao

---

<div class="post-metadata">

**Author:** ![enzo\_molinari](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/enzo_molinari/32/17177_2.png) [@enzo\_molinari](https://it.discourse.mcneel.com/u/enzo_molinari)\
**Post date:** [26 Giugno 2015, 1:00pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/3 "2015-06-26T13:00:20Z")

</div>

OK, finalmente ci sono arrivato, ma ora viene il problema della sintassi.  
cambia qualcosa?

rs.Command("\_Line 0,0,0 10 0,50,50")  
in questo caso disegno una linea dall’origine, di lunghezza 10 verso il punto finale.

come inserisco una variabile al posto della lunghezza o al posto del punto?

grazie.

---

<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:** [26 Giugno 2015, 10:37pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/4 "2015-06-26T22:37:43Z")

</div>

Ciao Enzo

MI intrufolo nella discussione perche’ forse Lucio non ha ancora trovato il tempo per impratichirsi con Python … almeno credo … in caso contrario mi scuso.

Dunque, dobbiamo costruire il testo del comando usando Python, e volendo anche rhinoscriptsyntax.  
Se la variabile contiene un numero (ad esempio la lunghezza), basta usare str().  
Se contiente un oggetto punto, va ancora bene str().  
Se invece il punto e’ rappresentato da una lista con i valori X,Y e Z, allora userei rs.coerce3dpoint(),  
ma naturalmente si puo’ anche costruire la stringa ‘a mano’ usando solo Python.  
Io per i punti userei rs.coerce3dpoint() in ogni caso, per sicurezza.

```python
rs.Command( "_Line 0,0,0 " + str( lunghezza ) + " " + str( rs.coerce3dpoint( punto ) )

```

Invece di concatenare stringhe e usare str(), se vuoi puoi usare l’operatore %

```python
rs.Command( "_Line 0,0,0 %s %s" % ( lunghezza, rs.coerce3dpoint( punto ) )

```

O ancora la funzione format(), che conosco poco, per cui consiglio di cercare la documentazione.

(Spero che negli esempi non ci siano errori …)

Ciao

```auto

```

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [27 Giugno 2015, 12:24pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/5 "2015-06-27T12:24:14Z")

</div>

> [@emilio](#):
>
> MI intrufolo nella discussione perche’ forse Lucio non ha ancora trovato il tempo per impratichirsi con Python … almeno credo … in caso contrario mi scuso.

Non sbagli affatto!!! 😁

---

<div class="post-metadata">

**Author:** ![enzo\_molinari](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/enzo_molinari/32/17177_2.png) [@enzo\_molinari](https://it.discourse.mcneel.com/u/enzo_molinari)\
**Post date:** [29 Giugno 2015, 7:13am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/6 "2015-06-29T07:13:03Z")

</div>

Grazie mille ad entrambi!

---

<div class="post-metadata">

**Author:** ![enzo\_molinari](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/enzo_molinari/32/17177_2.png) [@enzo\_molinari](https://it.discourse.mcneel.com/u/enzo_molinari)\
**Post date:** [29 Giugno 2015, 11:51am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/7 "2015-06-29T11:51:06Z")

</div>

> [@emilio](#):
>
> per cui consiglio di cercare la documentazione

dimenticavo, voi “studiati” usate solo l’help dell’editor o avete altra documentazione a riguardo della particolare sintassi per il “Command”?

---

<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:** [29 Giugno 2015, 12:40pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/8 "2015-06-29T12:40:50Z")

</div>

Hehe … non so come fanno gli altri ‘vecchietti’ (come utilizzatori di Rhino e ammennicoli vari) …  
ma il sottoscritto vecchietto (in tutti i sensi …) fa esattamente come indicato da Lucio per quanto riguarda Command().  
Cioe’ eseguo il comando da tastiera ,scrivendolo con il ‘meno’ davanti. E mi annoto la sequenza dei caratteri digitati. Questa sequenza e’ quella che copio pari pari nel Command().  
Questo per quanto riguarda il testo del comando Rhino da eseguire tramite Command().

O forse non ho capito la domanda ? … C’e’ qualcosa nello help dell’editor riguardo a Command() ?  
Di solito non uso EditPythonScript e non lo conosco gran che … sorry.

Forse ti riferisci a come costruire in pratica la stringa che rappresenta il comando ?  
Qui e’ solo sintassi Python, cioe’ operazioni sulle stringhe.  
Con l’eventuale aiuto di rhinoscriptsyntax ( coerce3dpoint )  
Per cui la documentazione da consultare e’ quella su Python.

Se ancora non ci ho azzeccato, prova a spiegare di nuovo cosa ti serve … 😄

Ciao !

---

<div class="post-metadata">

**Author:** ![enzo\_molinari](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/enzo_molinari/32/17177_2.png) [@enzo\_molinari](https://it.discourse.mcneel.com/u/enzo_molinari)\
**Post date:** [29 Giugno 2015, 12:55pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/9 "2015-06-29T12:55:26Z")

</div>

azzeccato, sto studiando da poco Python e sull’help dell’EditPythonScript trovo difficile capire la sintassi corretta, forse da neofita vorrei solo vedere più esempi per “capire le isruzioni”.

Grazie.

---

<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:** [29 Giugno 2015, 1:53pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/10 "2015-06-29T13:53:50Z")

</div>

> [@enzo\_molinari](#):
>
> forse da neofita vorrei solo vedere più esempi per “capire le isruzioni”.

Giusto.  
Se hai in mente qualche operazione specifica da scriptare, spara.  
Proviamo a imbastire qualche semplice esempio.

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [29 Giugno 2015, 2:45pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/11 "2015-06-29T14:45:28Z")

</div>

Giusto per capire: a livello di conoscenza Rhino, come sei messo?  
Intendo, sei da poco diventato utente oppure sei un utente già avanzato che si sta avvicinando allo Scripting?  
Ciao

---

<div class="post-metadata">

**Author:** ![enzo\_molinari](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/enzo_molinari/32/17177_2.png) [@enzo\_molinari](https://it.discourse.mcneel.com/u/enzo_molinari)\
**Post date:** [29 Giugno 2015, 3:10pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/12 "2015-06-29T15:10:26Z")

</div>

Rhino lo uso dalla versione 1, posso dire di saperlo usare abbastanza bene, ma non ho mai messo mano agli script, ma capito il potenziale, sto tentando di “automatizzare” molte operazioni.

grazie mille per il vostro aiuto!

enzo.

---

<div class="post-metadata">

**Author:** ![enzo\_molinari](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/enzo_molinari/32/17177_2.png) [@enzo\_molinari](https://it.discourse.mcneel.com/u/enzo_molinari)\
**Post date:** [1 Luglio 2015, 6:35am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/13 "2015-07-01T06:35:46Z")

</div>

> [@emilio](#):
>
> Di solito non uso EditPythonScript

quale altro editor si può utilizzare/mi consigliate?  
si riesce poi ad eseguire lo script in automatico o bisogna ricopiarlo manualmente in rhino?

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [1 Luglio 2015, 7:14am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/14 "2015-07-01T07:14:53Z")

</div>

Secondo me per cominciare l’editor interno di Rhino va più che bene…  
Per eseguire uno script in automatico lo puoi inserire in un pulsante oppure registrare in Rhino con un alias in modo da poterlo richiamare da tastiera come i comandi standard.  
Io di solito ho una barra nella quale ci sono tutti i pulsanti che contengono script vari in modo da poter editare velocemente il codice in caso mi ritrovi dei piccoli bachi…

---

<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:** [1 Luglio 2015, 12:12pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/15 "2015-07-01T12:12:04Z")

</div>

C’e’ piu’ di un modo per eseguire uno script da Rhino.  
Credo che nel Wiki ci siano le spiegazioni.  
Io trovo comodo fare un pulsante apposito con scritto

> -RunPythonScript prova.py

… ad esempio.  
Come dice Lucio, anche per me e’ il modo piu’ comodo per poter velocemente modificare gli script quando ce n’e’ bisogno.

Per il text editor … difficile dare consigli. E’ una scelta che dipende da gusti ed abitudini.  
EditPythonScript lo uso piu’ che altro per fare delle rapide prove: e’ comodissimo eseguire lo script.  
Per il resto sono abituato a dei comandi diversi, inoltre purtroppo uso sempre schermi da 17", ed essendo anche un po’ orbo il font di EditPythonScript lo leggo a fatica … e fatico anche a selezionare il punto giusto, soprattutto l’inizio delle istruzioni …  
Come dicevo, non ho consigli da darti, se ti trovi bene con EidtPythonScript benissimo !  
Se no cerca un text editor di tuo gusto.  
Ce ne sono tanti in rete … anche se alla fine per i pignoli (o rompiscatole che dir si voglia, come il sottoscritto) la cosa migliore sarebbe scriversi un text editor su misura, ma sono troppo scarso e ci metterei troppo tempo … mannaggia !  
Tanto per la cornaca, un po’ di tempo fa qui nella comunita’ Rhino era molto popolare un text editor che mi sembra si chiamasse ConText, lo usavano molti. Poi non ne ho piu’ sentito parlare … mah

Ciao !

---

<div class="post-metadata">

**Author:** ![enzo\_molinari](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/enzo_molinari/32/17177_2.png) [@enzo\_molinari](https://it.discourse.mcneel.com/u/enzo_molinari)\
**Post date:** [1 Luglio 2015, 1:17pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/16 "2015-07-01T13:17:05Z")

</div>

grazie mille ancora!

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [1 Luglio 2015, 1:59pm UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/17 "2015-07-01T13:59:38Z")

</div>

> [@emilio](#):
>
> inoltre purtroppo uso sempre schermi da 17",

😕 Cacchio!

---

<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:** [2 Luglio 2015, 6:55am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/18 "2015-07-02T06:55:14Z")

</div>

> [@lucio\_zadra](#):
>
> Cacchio!

Eeeh … si’. In effetti penso che dovrei vedere di prendere un monitor da attaccare al portatile che uso a casa …  
Apriamo la caccia alle occasioni ! 😃

Ciao Lucio !

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [2 Luglio 2015, 7:29am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/19 "2015-07-02T07:29:56Z")

</div>

Qualche settimana fa ho preso su [Misco.it](http://Misco.it) un monitor della Philips da 23’’ FullHD con presa HDMI a 60 euro perché era stata aperta la scatola…  
Va da dio e non ha nemmeno uno striscetto (e anche lo avesse avuto… chissene… 😉 )  
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:** [2 Luglio 2015, 11:57am UTC](https://it.discourse.mcneel.com/t/python-e-rs-command/617/20 "2015-07-02T11:57:57Z")

</div>

😃

[Pagina seguente](https://it.discourse.mcneel.com/t/python-e-rs-command/617.md?page=2)
