COM interface with Python: Cant access the Name property of an AcadBlockReference object
I try to find out the which block is refferenced by a AcadBlockReference
import comtypes.client
acad = comtypes.client.GetActiveObject("BricscadApp.AcadApplication")
doc = acad.ActiveDocument
model = doc.ModelSpace
model(121).ObjectName
This gives the result: 'AcDbBlockReference' - 121 is indeed a block reference
Now I try to acces the name of the referenced block:
model(121).Name
I get the errormessage
       Traceback (most recent call last):  
          File "C:\KBApps\Python34\lib\site-packages\comtypes-1.1.1-py3.4.egg\comtypes\__init__.py", line 275, in __getattr__   
            fixed_name = self.__map_case__[name.lower()]    
        KeyError: 'name'
During handling of the above exception, another exception occurred:
      Traceback (most recent call last):  
          File "", line 1, in   
            model(121).Name;    
          File "C:\KBApps\Python34\lib\site-packages\comtypes-1.1.1-py3.4.egg\comtypes\__init__.py", line 277, in __getattr__   
            raise AttributeError(name)  
        AttributeError: Name
I cant find the reason for this. The COM documentation says that an AcadBlockReference object has the property Name.
Best regards
Heinz-Otto
(Win7 x64 SP1, Bricscad V14.2.11 (x64), Python 3.4.3 64 bit)
Comments
- 
            Is it only the Name property that causes an error, or do other properties cause the same error? For example, what happens if you access the EffectiveName or ObjectName properties?0
 - 
            It is not only the Name property, the EffectiveName property shows the same errror. The Objectname property is available. The python ide show a list of available properties and methods while entering code. For the block reference the properties Name and Effectivename are missing in this list (see screenshot).
PythonPickList.jpg0