Search the Community
Showing results for tags 'line length'.
-
hai, i need a small help.i have a working lisp routine which gives perpendicular line distance to main line, i want the the lisp to ask me every time i start the lisp that what chainage it should start and what i enter should change the numerical text in this command "" (strcat "CH=1+" "". means, when i start the lisp and it asks for chainage then i enter 23 then it should out as "" (strcat "CH=23+" "". and if possible the out put decimal can be changed to 3 decimals. now its coming in 4 decimals like 23+455.2565. thank you.. pls reply if its possible... thanks (defun c:Chi (/ s p c a d tp) (if (and (setq s (car (entsel "\nPick a polyline :"))) (or (= (cdr (assoc 0 (entget s))) "LWPOLYLINE") (alert "Invalid object! Please pick a polyline only.") ) ) (while (and (setq p (getpoint "\nSpecify point perpendicular to polyline :") ) (setq c (vlax-curve-getclosestpointto s p)) (setq a (angle p c)) (not (grdraw p c 1 -1)) ;; rubber line in red colour. (setq d (angle '(0. 0. 0.) (vlax-curve-getfirstderiv s (vlax-curve-getparamatpoint s c) ) ) ) (or (or (equal (rem (+ d (* pi 0.5)) (+ pi pi)) a 1e-4) (equal (rem (+ d (* pi 1.5)) (+ pi pi)) a 1e-4) ) (alert "Picked point is not a perpendicular to picked polyline. <!>" ) ) (setq tp (getpoint "\nSpecify Point for Text : ")) ) (entmakex (list '(0 . "text") '(100 . "AcDbEntity") '(67 . 0) '(370 . 13) '(100 . "AcDbText") (cons 10 tp) (cons 40 0.6) ; Change text height here (cons 1 (strcat "CH=1+" (rtos (vlax-curve-getdistatpoint s c) 2 4) ) ) (cons 71 0) (cons 72 0) (cons 11 '(0 0 0)) '(100 . "AcDbText") (cons 73 0) ) ) ) ) (princ) ) (vl-load-com) thank you..