• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Visual LISP, AutoLISP and General Customization

    Reply
    Distinguished Contributor
    Posts: 157
    Registered: ‎08-08-2006
    Accepted Solution

    Help to get routine to work in 2013

    95 Views, 1 Replies
    10-16-2012 02:32 PM

    I don't do a lot of programming and when I do it is mostly with older lisp commands. I have routine that works in 2010 but we are switching to 2013 and it doesn't work. The routine assigns the area of a polyline to a field. The portion of the routine that isn't working is where it assigns the object id for the polyline. Here is that portion of the routine:

     

    ;; select an object
     (if (setq ent (entsel))
       (progn
         (setq ent (car ent))

    ;; Check to see if object selected is a polyline
         (if (= (cdr (assoc 0 (entget ent))) "LWPOLYLINE")
           (progn
    ;; obtain the object id from the selected entity
             (setq objID (vla-get-objectid (vlax-ename->vla-object ent)))

     

    Any help would be appreciated

    Thanks

    Tom Berning
    Woolpert, Inc.
    Civil 3D 2013
    Please use plain text.
    *Expert Elite*
    Posts: 2,057
    Registered: ‎11-24-2009

    Re: Help to get routine to work in 2013

    10-16-2012 06:41 PM in reply to: Tom_Berning

    Tom_Berning wrote:

    I don't do a lot of programming and when I do it is mostly with older lisp commands. I have routine that works in 2010 but we are switching to 2013 and it doesn't work. The routine assigns the area of a polyline to a field. The portion of the routine that isn't working is where it assigns the object id for the polyline. Here is that portion of the routine:

    get-objectid (vlax-ename->vla-object ent)))

     

    Any help would be appreciated

    Thanks


    (setq objID
    (if (> (vl-string-search "x64" (getvar "platform")) 0)
          (vlax-invoke-method (vla-get-Utility (vla-get-activedocument (vlax-get-acad-object)))
    	"GetObjectIdString" (vlax-ename->vla-object ent) :vlax-False)
          (itoa (vla-get-Objectid (vlax-ename->vla-object ent)))
        )
          )

     

    HTH

    Please use plain text.