Hiall.
Not sure why when I try to make it work recursivelly it doesnt work:
def block_expl(block):
#initialize the Rhino document to be modified.
predoc = sc.doc
sc.doc = Rhino.RhinoDoc.ActiveDoc
blocks_expl = []
if rs.IsBlock(rs.BlockInstanceName(block)):
if rs.BlockObjectCount(rs.BlockInstanceName(block)) > 1:
exploded = rs.ExplodeBlockInstance(obj_baked)
for blk_exp in exploded:
if rs.IsBlock(rs.BlockInstanceName(blk_exp)):
if rs.BlockObjectCount(rs.BlockInstanceName(blk_exp)) == 1:
blocks_expl.append(blk_exp)
rs.DeleteObjects(blk_exp)
elif rs.BlockObjectCount(rs.BlockInstanceName(blk_exp)) > 1:
block_expl(blk_exp) #RECURSION NOT WORKING... WHY?
print rs.BlockInstanceName(blk_exp)
pass
rs.DeleteObjects(exploded)
elif rs.BlockObjectCount(rs.BlockInstanceName(block)) == 1:
#print rs.BlockInstanceName(block),"igual a 1"
blocks_expl.append(block)
rs.DeleteObjects(block)
return blocks_expl
#sets the script environment back to grasshopper.
sc.doc = predoc
test = block_expl(obj_baked)
The idea is that this definition should return the individual block instances inside a block.
Anyone has any clue?
Best