vlax-for issue
Posted: Sun Apr 07, 2024 5:43 pm
In AutoCAD the following lisp expression:
(vlax-for dict (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object))) (print dict))
returns:
#<VLA-OBJECT IAcadDictionary 000002a65a328cb8>
#<VLA-OBJECT IAcadXRecord 000002a65a329528>
#<VLA-OBJECT IAcadDictionary 000002a65a328958>
#<VLA-OBJECT IAcadDictionary 000002a65a329ac8>
#<VLA-OBJECT IAcadGroups 000002a65a329eb8>
#<VLA-OBJECT IAcadDictionary 000002a65a329e28>
#<VLA-OBJECT IAcadObject 000002a65a327f38>
#<VLA-OBJECT IAcadLayouts 000002a65a315f38>
#<VLA-OBJECT IAcadMaterials 000002a65a317d08>
#<VLA-OBJECT IAcadDictionary 000002a65a317f48>
#<VLA-OBJECT IAcadDictionary 000002a65a316448>
#<VLA-OBJECT IAcadPlotConfigurations 000002a65a3168c8>
#<VLA-OBJECT IAcadDictionary 000002a65a315fc8>
#<VLA-OBJECT IAcadDictionary 000002a65a316f88>
#<VLA-OBJECT IAcadDictionary 000002a65a317138>
#<VLA-OBJECT IAcadDictionary 000002a65a316a78>
#<VLA-OBJECT IAcadDictionary 000002a65a316c28>
#<VLA-OBJECT IAcadDictionary 000002a65a3172e8>
#<VLA-OBJECT IAcadDictionary 000002a65a329d98>
which is what I expect.
However in IntelliCAD same lisp expression returns nothing, so I can't iterate through the vla objects.
Does anyone have a possible workaround?
Side note:
(vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object)))
returns:
#<VLA-OBJECT IIcadDictionaries 9b73a1a0> in IntelliCAD
and:
#<VLA-OBJECT IAcadDictionaries 000002a65a329c78> in AutoCAD
So, basically the same until I try to use vlax-for
(vlax-for dict (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object))) (print dict))
returns:
#<VLA-OBJECT IAcadDictionary 000002a65a328cb8>
#<VLA-OBJECT IAcadXRecord 000002a65a329528>
#<VLA-OBJECT IAcadDictionary 000002a65a328958>
#<VLA-OBJECT IAcadDictionary 000002a65a329ac8>
#<VLA-OBJECT IAcadGroups 000002a65a329eb8>
#<VLA-OBJECT IAcadDictionary 000002a65a329e28>
#<VLA-OBJECT IAcadObject 000002a65a327f38>
#<VLA-OBJECT IAcadLayouts 000002a65a315f38>
#<VLA-OBJECT IAcadMaterials 000002a65a317d08>
#<VLA-OBJECT IAcadDictionary 000002a65a317f48>
#<VLA-OBJECT IAcadDictionary 000002a65a316448>
#<VLA-OBJECT IAcadPlotConfigurations 000002a65a3168c8>
#<VLA-OBJECT IAcadDictionary 000002a65a315fc8>
#<VLA-OBJECT IAcadDictionary 000002a65a316f88>
#<VLA-OBJECT IAcadDictionary 000002a65a317138>
#<VLA-OBJECT IAcadDictionary 000002a65a316a78>
#<VLA-OBJECT IAcadDictionary 000002a65a316c28>
#<VLA-OBJECT IAcadDictionary 000002a65a3172e8>
#<VLA-OBJECT IAcadDictionary 000002a65a329d98>
which is what I expect.
However in IntelliCAD same lisp expression returns nothing, so I can't iterate through the vla objects.
Does anyone have a possible workaround?
Side note:
(vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object)))
returns:
#<VLA-OBJECT IIcadDictionaries 9b73a1a0> in IntelliCAD
and:
#<VLA-OBJECT IAcadDictionaries 000002a65a329c78> in AutoCAD
So, basically the same until I try to use vlax-for