Quantcast
Channel: Scripting - McNeel Forum
Viewing all articles
Browse latest Browse all 5875

Script won't run in a button, but works fine in editor

$
0
0

@Holo wrote:

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)

)

Posts: 4

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 5875

Trending Articles