I am using LISP in C3D 2012. I am trying to get the station and elevation of a point I pick in a profile view. I found the Method that will get that info, but I can';t seem to get the syntax right.
This is the Method;
[in] double X,
[in] double Y,
[out] double * pStation,
[out] double * pElevation,
[out, optional] VARIANT * pInBounds
This is the routine I am trying but not having any luck working.
(defun C:getsta () (setq ProfView (vlax-ename->vla-object (car (nentsel "\nSelect Profile View ")))) (setq pt1 (getpoint "\nSelect Point ")) (setq pt1X (car pt1)) (setq Pt1Y (cadr pt1)) (setq pstation 1.0) (setq pelevation 1.0) (vlax-invoke profview 'FindStationandElevationatXY (pt1x, pt1y, pstation, pelevation)) )
Can someone help me get the syntax right?? Thank you,
Solved! Go to Solution.
(vlax-invoke profview 'FindStationandElevationatXY pt1x pt1y 'pstation 'pelevation)On vacation and can't verify, but may need to add the optional out param as well:
(vlax-invoke profview 'FindStationandElevationatXY pt1x pt1y 'pstation 'pelevation 'inbounds)
Jeff, first of all, what are you doing checking the discussion groups when you are on vacation???
Next, thanks for the response. I tried both variations, and other variable names. The line seems to run with no errors, (I just get a nil as a response). But pstation and pelevation are nil also. Any other ideas? Anyone else??
Just killing time before heading off to the next segment of this trip. :-)
You might try (vlax-invoke-method ....) instead of the shorter version.
Jeff, obviously, the vacation isn't dulling your brain. Adding the -method did the trick. Thank you, now get back ot the vacation.
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register
Start with some of our most frequented solutions to get help installing your software.