为什么没有对象捕捉
请问一下,这个插件为什么没有对象捕捉呢,要怎么改才能捕捉到中点和端点呢,帮忙看一下(defun c:tt (/ myerr olderr d ss e pt pam p1 p2 vec an wid)
(defun myerr (msg)
(setvar "nomutt" 0)
(princ)
)
(setq olderr *error*
*error* myerr
)
(if (null **GlobleWidth**)
(setq **GlobleWidth** 0.0)
)
(if (null **GlobleLength**)
(setq **GlobleLength** 0.0)
)
(if (setq d
(getdist (strcat "\n线长<" (rtos **GlobleLength** 2 2) ">: "))
)
(setq **GlobleLength** d)
)
(if (setq wid
(getdist (strcat "\n线宽<" (rtos **GlobleWidth** 2 2) ">: "))
)
(setq **GlobleWidth** wid)
)
(while
(progn (setvar "nomutt" 1)
(princ "\r请选择线: ")
(setq ss (ssget ":S" '((0 . "*Line,Arc,Circle,Ellipse"))))
)
(setq e (ssname ss 0)
pt(cadr (last (last (ssnamex ss))))
pt(vlax-curve-getclosestpointto e pt)
pam (vlax-curve-getparamatpoint e pt)
vec (vlax-curve-getfirstderiv e pam)
an(angle '(0 0 0) vec)
p1(polar pt (+ an (/ pi 2)) (/ **GlobleLength** 2))
p2(polar pt (- an (/ pi 2)) (/ **GlobleLength** 2))
)
(entmake (list '(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
'(90 . 2)
(list 10 (car p1) (cadr p1))
(list 10 (car p2) (cadr p2))
(cons 43 **GlobleWidth**)
)
)
)
(setvar "nomutt" 0)
(setq *error* olderr)
(princ)
)
页:
[1]