R2005: I'm trying to figure out when to use ActiveX functions or the regular autolisp. I start my program with: (vla-InitializeUserInput Util 1) (setq CenObj (vla-GetPoint Util nil "Center Point: ") ) which returns a vla object. then later in the program I need to create a new UCS with vla-add and the origin and x and y axis need a variant array of doubles. I want to use CenObj as the origin and get the x&y axis from there (basically a 90d x axis from the origin). Do I have to get the variant value of the coordiante of CenObj and the do a polar for the x axis point then figure the y axis point too? And why do some vl functions return an object and some an iteger or real like the following? (vla-InitializeUserInput Util 7) (setq RadDis (vla-GetDistance Util CenObj "Radius Distance: ") ) Just seems like so much more code than plain autolisp was to accomplish the same objective. I'm just learning VL so bear with me here. TIA Bill