InstanceDefinition

Recently I have started to see in the block list names like “InstanceDefinition ##”

You can insert these blocks into the file but cannot select them. They appear to be empty. I have not figure out what causes this.

Hi - please let us know when you have found a way to reproduce that.
-wim

To give me a hint for looking, do you folks know the circumstances when “Instance Definition” is created?

Hi - I’ve only seen it mentioned on threads that involve coding of some kind. Are you writing scripts in python, C#, …? When you delete block definitions from a file, there still has to be something around to be able to undo this operation when the user changes their minds. This could be related to that.
-wim

I have some simple scripts that I run now and then but none would delete blocks. I only have one that uses blocks but it does not create “InstanceDefinition ##” However, I have only run it on the file pictured above. But that is probably coincidence because I have seen this issue in other files.

Script in question:

import Rhino
import scriptcontext
import rhinoscriptsyntax as rs

def BlockAtPoints():
pts = rs.GetObjects(“Select points …”, filter=1)
blockName = rs.GetString(“Name of block to copy …”)

if pts:
    for pt in pts:
        if rs.IsBlock(blockName):
            rs.InsertBlock(blockName, pt, [1,1,1], 0)
        else:
            print "No valid block name entered."
else:
    print "No points selected."

BlockAtPoints ()