• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    AutoCAD Architecture Customization

    Reply
    Valued Mentor
    Posts: 2,092
    Registered: ‎11-18-2003

    Extract Vertices from AecPolyGon?

    106 Views, 3 Replies
    06-28-2012 03:30 AM

    I have lisp code to extract the vertices from a LWpolyline. Can someone point to me the way to do this with AecPolyGons?  I know that a couple releases ago... autodesk pulled most all of the top level group code data out of Aec and Mep objects... so that you need to use .NET or lisp ActiveX functions... but I can't seem to discover the collection of vertices.

    Please use plain text.
    Valued Mentor
    Posts: 2,092
    Registered: ‎11-18-2003

    Re: Extract Vertices from AecPolyGon?

    06-28-2012 05:33 AM in reply to: mdhutchinson

    I believe I've found the solution:

     

    (defun AecPolyVerts (Ent /)
      (if (null lst2lists)(load "listfuns"))
      (setq VlaPoly (vlax-ename->vla-object Ent))
      (setq VLProfile (vlax-get-property VlaPoly "Profile"))
      (setq VLCoorinates (vlax-get-property VLProfile "Coordinates"))
      (setq Coords (vlax-safearray->list (vlax-variant-value VLCoorinates)))
      (setq Coords (lst2lists Coords 2))
      Coords
    )

    Please use plain text.
    Valued Mentor
    Posts: 2,092
    Registered: ‎11-18-2003

    Re: Extract Vertices from AecPolyGon?

    06-28-2012 05:42 AM in reply to: mdhutchinson

    I spoke too soon. The vertices don't seem to update... they remain the same even when the object is moved. What am I missing?

    Please use plain text.
    *Expert Elite*
    Posts: 1,925
    Registered: ‎12-09-2003

    Re: Extract Vertices from AecPolyGon?

    06-28-2012 07:25 PM in reply to: mdhutchinson
    This is just a guess, but from what you describe, it sounds like the vertices are stored using an "entity" coordinate system. So somewhere in the data tot the AEC Polygon, there is an insertion point or origin point, in World Coordinates, and then the vertices are stored relative to that origin point. That way, when the object is moved, only the origin point needs to be updated.
    David Koch
    Please use plain text.