Acces Property Data this works but...

Acces Property Data this works but...

mdhutchinson
Advisor Advisor
1,021 Views
2 Replies
Message 1 of 3

Acces Property Data this works but...

mdhutchinson
Advisor
Advisor

This code works... so long as the PropertySet is not style based.

Is there a way around this?

 

(setq vlaObj (vlax-ename->vla-object (car (entsel "Select a Object ")))
 acadObj    (vlax-get-acad-object)
 schedApp   (vla-getInterfaceObject
                acadObj
                "AecX.AecScheduleApplication.7.0"   ; for AutoCAD MEP 2013
             )
 propSets (vlax-invoke-method schedApp 'PropertySets vlaObj)
 psdName "MvPartCustom_TypeStyles"
 propSet (vlax-invoke-method propSets 'Item psdName)
 properties (vlax-get-property propSet 'Properties)
propNameValList (reverse
(vlax-for prop properties
  (setq propNameValList
    (cons
      (cons
        (vlax-get-property prop 'Name)
        (vlax-variant-value
          (vlax-get-property prop 'Value)
        )
      )
      propNameValList
    )
  )
)
)
)

0 Likes
Accepted solutions (1)
1,022 Views
2 Replies
Replies (2)
Message 2 of 3

ChrisPicklesimer
Advocate
Advocate
Accepted solution

What if you get the Style Object (StyleObj) and look for propsets on that instead of the selected object?

I tried on my end and I was able to get the style based prop set list.

 

Chris

 

 

(setq vlaObj (vlax-ename->vla-object (car (entsel "Select a Object ")))

StyleObj (vlax-get vlaObj 'Style);<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Modified
acadObj    (vlax-get-acad-object)
schedApp   (vla-getInterfaceObject
                acadObj
                "AecX.AecScheduleApplication.7.0"   ; for AutoCAD MEP 2013
             )
propSets (vlax-invoke-method schedApp 'PropertySets StyleObj);<<<<<<<<Modified
psdName "MvPartCustom_TypeStyles"
propSet (vlax-invoke-method propSets 'Item psdName)
properties (vlax-get-property propSet 'Properties)
propNameValList (reverse
(vlax-for prop properties
  (setq propNameValList
    (cons
      (cons
        (vlax-get-property prop 'Name)
        (vlax-variant-value
          (vlax-get-property prop 'Value)
        )
      )
      propNameValList
    )
  )
)
)
)

0 Likes
Message 3 of 3

mdhutchinson
Advisor
Advisor

That works. Thanks!

0 Likes