分享一个打断交叉线的程序
(defun c:dd ();;; 如果你不喜欢用PD命令,可以设置成你自己的命令
*^C^C (progn
(setq xxx 1)
(setq myosmode (getvar "osmode"))
(setq s (getreal "\n输入绘图比例1:<100>"))
(if (null s)
(setq s 100)
)
(while xxx
(setq p0 (getpoint "\n选择交叉点:"))
(if (null p0)
(progn
(setq xxx nil)
)
(progn
(setq setline (entsel "\n选择一条直线"))
(if (null setline)
(setvar "osmode" myosmode)
(progn
(setq p01
(cdr (assoc 10 (entget (car setline)))
;;; 获得所选直线的端点
)
)
(setq an1 (angle p0 p01))
(setq an2 (angle p01 p0))
(setq p1 (polar p0 an1 (* 2 s))
p2 (polar p0 an2 (* 2 s))
)
;;; 这里的2 s可以修改 成你需要的数值
(setvar "osmode" 0)
(command "break" p0 "f" p1 p2)
(setvar "osmode" myosmode)
)
)
)
)
)
(prin1)
)
)
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 米兰达薇薇2899的微博
页:
[1]