if obj:
while rs.CurveLength(obj) < lun:
rs.EnableObjectGrips(obj, True)
for i in range(1,4):
point = rs.ObjectGripLocation(obj, i)
point[1] = point[1] - .1
rs.ObjectGripLocation(obj, i, point)
rs.EnableObjectGrips(obj, False)
ho provato anche inserendo “if rs.CurveLength(obj) > lun: break” ma comunque mi si blocca
Ricordati Salvio:
per capire cosa c’e’ che non va, serve a poco cambiare istruzioni a caso,
e’ meglio far stampare allo script dei valori che ti permettano di capire cosa succede.
import rhinoscriptsyntax as rs
obj = rs.GetObject('Select curve', rs.filter.curve)
lun = 56
if obj:
while rs.CurveLength(obj) < lun:
rs.EnableObjectGrips(obj, True)
for i in range(1,4):
point = rs.ObjectGripLocation(obj, i)
point[1] = point[1] - .1
rs.ObjectGripLocation(obj, i, point)
rs.EnableObjectGrips(obj, False)
L’indentazione l’ho rifatta perche’ in quello che hai postato era andata persa …
scusa Emilio ieri essendo che non mi funzionava il while avevo cercato degli esempi per capire dove era lo sbaglio e c’erano un paio che usavano insieme il raw_input ho letto che bisogna usarlo al posto di input. ma che differenza c’è tra questi due appena citati e getstring getinteger getreal?
raw_input() o input() li usi da console, da terminale o da finestra dos, o chiamala come vuoi …
Cioe’ quando usi Python fuori da Rhino, con un’interfaccia a caratteri.
Gli script per Rhino girano in un altro ‘ambiente’, qui abbiamo i metodi rs per ottenere l’input dall’utilizzatore.
Credo sia meglio usare quelli.
( raw_input() e’ per Python 2, input() per Python 3 )