InstanceDefinition Object is not valid

Came across interesting behavior and would like to understand about this behavior:

When I ran through InstanceDefinition objects in RC, I am checking if InstanceDefinition is valid or not.
I have few block definitions where property IsValid gives me False.
However, when opening BlockManager - all blocks including “bad” blocks are there. So far I can only see that preview window doesn’t show anything for “bad” blocks.

Can somebody tell me what is checked behind IsValid property for InstanceDefintion objects?

All blocks I use are embedded blocks.


Hi @Dmitriy,

You can help determine the problem with code like this:

import Rhino
import scriptcontext as sc

for idef in sc.doc.InstanceDefinitions:
    rc, err = idef.IsValidWithLog()
    if not rc:
        print err

– Dale