Thanks Kerry. Hopefully, one day when I grow up, some of that will make some sense to me.
Seriously... does Mr. Tanzillo ever comment his code? I have no idea what's goin' on there. Take the arguments
DynBlockRef and
Name in the first routine...
I'm guessing that
DynBlockRef is looking for a vl object, which should be a dynamic block... 'course I could be wrong. And
Name, I assume, is looking for the name of the Property you're looking for? Is there a list, somewhere, of available properties that aren't visible when I run
(vlax-dump-object (vlax-ename->vla-object (car (entsel))) T)
That returns this list (I just ran it on a dynamic block I created, just like the one I Described, so I could test this out):
; Property values:
; Application (RO) = #<VLA-OBJECT IAcadApplication 00c2db8c>
; Document (RO) = #<VLA-OBJECT IAcadDocument 0cfddd34>
; EffectiveName (RO) = "receptacle"
; Handle (RO) = "9B"
; HasAttributes (RO) = 0
; HasExtensionDictionary (RO) = -1
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0d00efc4>
; InsertionPoint = (21.9314 17.2553 0.0)
; InsUnits (RO) = "Inches"
; InsUnitsFactor (RO) = 1.0
; IsDynamicBlock (RO) = -1
; Layer = "0"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Name = "*U5"
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 2130161432
; ObjectName (RO) = "AcDbBlockReference"
; OwnerID (RO) = 2130160888
; PlotStyleName = "ByLayer"
; Rotation = 0.0
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 0d00fde0>
; Visible = -1
; XEffectiveScaleFactor = 1.0
; XScaleFactor = 1.0
; YEffectiveScaleFactor = 1.0
; YScaleFactor = 1.0
; ZEffectiveScaleFactor = 1.0
; ZScaleFactor = 1.0
; Methods supported:
; ArrayPolar (3)
; ArrayRectangular (6)
; ConvertToAnonymousBlock ()
; ConvertToStaticBlock (1)
; Copy ()
; Delete ()
; Explode ()
; GetAttributes ()
; GetBoundingBox (2)
; GetConstantAttributes ()
; GetDynamicBlockProperties ()
; GetExtensionDictionary ()
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; Mirror (2)
; Mirror3D (3)
; Move (2)
; ResetBlock ()
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetXData (2)
; TransformBy (1)
; Update ()
T
So if I want to get the value of one of those properties, why wouldn't I just use
vlax-get-property?
The only thing I see in the list above, that might have something to do with what I'm trying to accomplish, is the
GetDynamicBlockProperties method. But, like I mentioned, when I do this:
(vla-GetDynamicBlockProperties (vlax-ename->vla-object (car (entsel))))
I get this:
#<variant 8201 ...>
I tried changing the block from a GFI (which I had it set to when I ran the dump and vla-GetDynamicBlockProperties) to an above counter duplex and I ran them again. The results are identical.
What am I not seeing?