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
Solved! Go to Solution.
Solved by pbejse. Go to Solution.
@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