Hi @stevebaer
Do you have any idea why this works fine in the editor, but won’t work in a button with -_RunPythonScript () ?
Is
import rhinoscriptsyntax as rs
import scriptcontext
def Draw_Hatch(pts):
while True:
rs.Sleep(10)
newPt=rs.GetPoint()
if newPt:
try:
rs.DeleteObject(tmpCrv)
except:
rs.Sleep(10)
pts.append(newPt)
if len(pts)>1:
tmpPts=list(pts)
if len(pts)>2:
tmpPts.append(tmpPts[0])
tmpCrv=rs.AddPolyline(tmpPts)
else:
return tmpCrv
break #get out of the loop
if __name__ == "__main__":
pts=[]
crv=Draw_Hatch(pts)
if rs.IsCurve(crv):
if rs.IsCurveClosed(crv):
newHatch=rs.AddHatch(crv)
rs.DeleteObject(crv)
rs.SelectObject(newHatch)
It seems like it doesn’t support “definitions” because this works just fine in a button:
-_RunPythonScript (
import rhinoscriptsyntax as rs
import scriptcontext
pts=[]
while True:
rs.Sleep(10)
newPt=rs.GetPoint()
if newPt:
try:
rs.DeleteObject(tmpCrv)
except:
rs.Sleep(10)
pts.append(newPt)
if len(pts)>1:
tmpPts=list(pts)
if len(pts)>2:
tmpPts.append(tmpPts[0])
tmpCrv=rs.AddPolyline(tmpPts)
else:
break #get out of the loop
if rs.IsCurve(tmpCrv):
if rs.IsCurveClosed(tmpCrv):
newHatch=rs.AddHatch(tmpCrv)
rs.DeleteObject(tmpCrv)
rs.SelectObject(newHatch)
)