- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Could someone please help me to add perpendicular length in the same leader line?
(defun c:Chin (/ s p c a d tp sch)
(setvar "cmdecho" 0)
(setq sch (getstring "\nSpecify start chainage : <0>")) ;"0" is set as the default value
(if (= sch "")(setq sch "0"))
(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 : "))
)
(command "_.QLEADER" p tp "" 1
(strcat "CH=" sch "+" (rtos (vlax-curve-getdistatpoint s c) 2 3))
(strcat "E=" (rtos (car p) 2 3))
(strcat "N=" (rtos (cadr p) 2 3))
""
)
(vlax-put-property (vlax-ename->vla-object (entlast)) 'height 0.6);;; Text Height 0.6
)
)
(setvar "cmdecho" 1)
(princ)
)
(vl-load-com)
Solved! Go to Solution.