Feb-12-2021, 06:14 PM
In def DoIt(h5): I am resetting the variables vcnt, ocnt, and mcnt to 0 but when it runs for h4 in hVP: the variables return to their state the last time def count(h4): was triggered by for h4 in hVP:. I want vcnt, ocnt, and mcnt to be 0 every time the for h4 in hVP: loop starts. Help please.
I am checking the state of the variable at this point it the below script
vs.SetRField(h5,'Obj Count','Obj Count',vs.Num2Str(0,ocnt))
vs.AlrtDialog(ocnt) #Displays current count but for somereason is adding the previous count to the current count
vcnt = ocnt = mcnt = 0 #reset to variable to 0
vs.AlrtDialog(ocnt) #displays that variable has been reset to 0
I am checking the state of the variable at this point it the below script
vs.SetRField(h5,'Obj Count','Obj Count',vs.Num2Str(0,ocnt))
vs.AlrtDialog(ocnt) #Displays current count but for somereason is adding the previous count to the current count
vcnt = ocnt = mcnt = 0 #reset to variable to 0
vs.AlrtDialog(ocnt) #displays that variable has been reset to 0
import vs
reset = xP = yP = vcnt = ocnt = mcnt = 0
def count(h4):
global vcnt, ocnt, mcnt
ocnt += 1
if vs.GetTypeN(h4) == 5:
vcnt += vs.GetVertNum(h4)
if vs.GetTypeN(h4) == 21:
vcnt += vs.GetVertNum(h4)
if vs.GetTypeN(h4) == 40:
mcnt += 1
def DoIt(h5):
global reset,xP,yP, vcnt, ocnt, mcnt
if h5 != []:
if vs.GetTypeN(h5) == 16:
GetHandles(h5)
for h4 in hVP:
count(h4)
vs.SetRecord(h5,'Obj Count')
vs.SetRField(h5,'Obj Count','Obj Count',vs.Num2Str(0,ocnt))
vs.AlrtDialog(ocnt) #Displays current count but for somereason is adding the previous count to the current count
vcnt = ocnt = mcnt = 0 #reset to variable to 0
vs.AlrtDialog(ocnt) #displays that variable has been reset to 0
vs.SetRField(h5,'Obj Count','Vertex Count',vs.Num2Str(0,vcnt))
vs.SetRField(h5,'Obj Count','Mesh Count',vs.Num2Str(0,mcnt))
vs.Symbol(vs.GetSDName(h5),xP,yP,0)
xP += 300
if xP > 5000:
xP = 0
yP += 300
def GetHandles2(h1):
while h1 != []:
hSEL.append(h1)
if vs.GetTypeN(h1) == 92:
h2 = vs.FInGroup(h1)
while h2 != []:
hSEL.append(h2)
h2 = vs.NextObj(h2)
h1 = vs.NextObj(h1)
def GetHandles(h5):
h2=vs.FInSymDef(h5)
while h2 != []:
hVP.append(h2)
itParent = vs.GetTypeN(h2) # Get Parent type
if itParent == 11:
h3 = vs.FInGroup(h2)
while h3 != []:
hVP.append(h3)
h3 = vs.NextObj(h3)
h2 = vs.NextObj(h2)
if vs.GetObject('Obj Count') == []:
vs.NewField('Obj Count', 'Obj Count', '0', 4, 0)
vs.NewField('Obj Count', 'Vertex Count', '0', 4, 0)
vs.NewField('Obj Count', 'Mesh Count', '0', 4, 0)
hVP = []
hSEL = []
GetHandles2(vs.FSymDef())
for h5 in hSEL:
if vs.GetTypeN(h5) == 16:
DoIt(h5)
