Python e rs.Command

hehehehehe…a Emi gli è partita la scheggia dei coerce…
coerci qua…coerci la… :v:

Hehe … ogni tanto ne imparo un pezzetto :smiley:
I ‘coerci’ mi sembrano molto utili per gli script, soprattutto se si ha esperienza di RhinoScript …

Cosa rappresenta il :v: ?

aggiungo un’altra cosa che non capisco sul “command”:

caso 1

curve1 = rs.AddCircle((0,0,0), 10)
surface1 = rs.ExtrudeCurveStraight( curve1, (0,0,0), (0,0,10) )

ok, funziona

caso 2

curve2 = rs.Command( “_Circle 0,0,0 10” )
surface2 = rs.ExtrudeCurveStraight( curve2, (0,0,0), (0,0,10) )

disegna il cerchio ma non funziona l’estrusione…“Parameter must be a Guid or string representing a Guid”

essenzialmente fanno la tessa cosa, ma nel caso 2 la curva non viene riconosciuta, significa che il cerchio che creo con il command non è la stessa cosa del cerchio che creo con AddCircle??

rs.AddCircle è una funzione di Python che ti crea il cerchio e restituisce un valore che identifica il cerchio appena creato.
rs.Command si interfaccia con la riga di comando di Rhino e gli passa il testo che metti tra le parentesi (che può essere un comando singolo oppure una serie di comandi che creano o meno oggetti).
rs.Command, non sapendo cosa stai facendo all’interno della stringa di testo, non può fare controlli sul tipo di input o sull’output ma ti restituisce solamente un valore booleano che ti segnala di aver completato o meno il suo ciclo.
curve2 contiene un valore True.

Dall’help di RhinoPython, alla voce Command trovo:

After the command script has run, you can obtain the identifiers of most recently created or changed object by calling LastCreatedObjects.

Quindi
curve2 = rs.LastCreatedObjects

Grazie mille,

quindi:

rs.Command( “_Circle 0,0,0 10” )
curve2 = rs.LastCreatedObjects()
surface2 = rs.ExtrudeCurveStraight( curve2, (0,0,0), (0,0,10) )

così funziona, grazie mille.

“Vittoriaaaa” con il corce hai vinto ogni partita hehehehe

Aaaann… pensavo fosse il bandus… che qua da noi vuol dire "gioco fermo non potete prendermi sono intoccabile se per caso mi sfiori vieni immediatamente fulminato dal signore che ti vede che lo sai che sono in bandus!!!"
Normalmente utilizzato per riprendere fiato facendo finta di doversi legare i lacci di una scarpa… anche se eri in ciabatte… :joy: