@john.uhden wrote:
............
I mean no big deal; if that's the rule I can live with that. It's just stupid.
I agree. You might say (eval objid) is the same as the integer 45, but this specific function does not see it like that. if objid is the pointer to subject object id then even this works
Command: (vla-objectidtoobject (vla-get-activedocument (vlax-get-acad-object)) (eval objid))
#<VLA-OBJECT IAcadLWPolyline 000000004714da48>
just like
Command: (vla-objectidtoobject (vla-get-activedocument (vlax-get-acad-object)) objid)
#<VLA-OBJECT IAcadLWPolyline 000000004714da48>
but this does not work
Command: (vla-objectidtoobject (vla-get-activedocument (vlax-get-acad-object)) 45)
; error: Exception occurred: 0xC0000005 (Access Violation)
; warning: unwind skipped on unknown exception
So technically you do not need the objectID function, as long as you pass some symbol that evaluates to the objectID
Command: (vl-symbolp 'objid)
T
Command: (vl-symbolp 'eval)
T
Command: (vl-symbolp '45)
nil
Command: (vl-symbolp 45)
nil