Hi There,
As surveyors we like to check point to point information such as
Distance = 14.818, Angle in XY Plane = 66d47'14", Angle from XY Plane = 90d0'0"
Delta X = 13.618, Delta Y = 5.840, Delta Z = 0.000
Which you can do in the masuregeom command. Say I had a station and wanted to do multiple observations, would it be possible to have a running "Live" pop up window to show this information as i run checks from surveyed marks to the station?
Way beyond my head, but it would be nice to have an option.
Cheers
Allan
try this lisp routine maybe it could be modified to have a pop up of the info
(vl-load-com) (defun c:si (/) (c:single-inv) ) (defun c:single-inv ( / invReport dist ang p1 p2 pt1x pt1y pt1num pt1desc pt2x pt2y pt2num pt2desc pt1 pt2 selectedPts1 selectedPts2 cmdecho osmode dxftype dashline notset GetDesc RealOut errInit errTrap errReset errRestoreVars tempErr ) (defun errInit( / ) (setq cmdecho (getvar 'cmdecho) osmode (getvar 'osmode) tempErr *error* *error* errTrap ) (princ) ) (defun errTrap( msg / ) (command nil nil nil) (if (not (member msg '("console break" "Function Cancelled") ) ) (princ (strcat "\nError: " msg) ) ) (errRestoreVars) (princ "\nResetting Environment ") (terpri) (setq *error* tempErr) (princ) ) (defun errRestoreVars( / ) (if osmode (setvar 'osmode osmode) ) (if cmdecho (setvar 'cmdecho cmdecho) ) (princ) ) (defun errReset( / ) (setq *error* tempErr) (errRestoreVars) (princ) ) (defun GetDesc( obj / ) (vlax-get-property obj 'Description) ) (defun RealOut( d / ) (rtos d 2 4) ) (errInit) (setq dxftype "AECC_COGO_POINT" notset "*PROPERTY NOT SET*" ) (setvar 'cmdecho 1) (if (and (setq selectedPts1 (entsel (strcat "\nSelect first point: ") ) ) (eq (cdr (assoc 0 (entget (car selectedPts1) ) ) ) dxftype) ) (progn (setq pt1 (vlax-ename->vla-object (car selectedPts1) ) pt1x (vlax-get-property pt1 'Easting) pt1y (vlax-get-property pt1 'Northing) pt1num (vlax-get-property pt1 'Number) pt1desc (vl-catch-all-apply 'GetDesc (list pt1) ) ) (if (vl-catch-all-error-p pt1desc) (setq pt1desc notset) ) (setq selectedPts2 (entsel (strcat "\nSelect second point: ") ) ) (if (eq (cdr (assoc 0 (entget (car selectedPts2) ) ) ) dxftype) (progn (setq pt2 (vlax-ename->vla-object (car selectedPts2) ) pt2x (vlax-get pt2 'Easting) pt2y (vlax-get pt2 'Northing) pt2num (vlax-get pt2 'Number) pt2desc (vl-catch-all-apply 'GetDesc (list pt2) ) ) (if (vl-catch-all-error-p pt2desc) (setq pt2desc notset) ) (setq p1 (list pt1x pt1y 0.0) p2 (list pt2x pt2y 0.0) dist (distance p1 p2) ang (angtos (angle p1 p2) 4 6) dashline "\n-------------------------------------------------------------------" ) (setq invReport (strcat "\n\n>>From point number: " (itoa pt1num) ": " pt1desc "\n>>To point number: " (itoa pt2num) ": " pt2desc "\n" dashline "\n INVERSE LINE DATA" dashline "\nBegin . . . . . X: " (RealOut pt1x) "' Y: " (RealOut pt1y) "'\nEnd . . . . . . X: " (RealOut pt2x) "' Y: " (RealOut pt2y) "'\n Distance: " (RealOut dist) "' Course: " ang) ) ) (princ "\n...not a point object, try again.") ) ) (princ "\nWrong object/nothing selected") ) (princ invReport) (errReset) (princ) ) (princ)
I was thinking it would show all this information running, so I can quickly click on multiple points frm a station and see the information literally giving me a live feed.
e.g. Click on station, a temporary line is then cretaed to start from that station, then click on points from that station and have the infomation live....great for quick checks...
A program called 12d does something similar, very handy.
Cheers
Al