- 积分
- 7160
- 明经币
- 个
- 注册时间
- 2006-12-20
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
相信各位都看过折断线,但我们画完折断线后要后动把一边或双折断线的中间剪掉呀,可不可以画完折断线命令不退出点那边那边被剪掉,双折断线点中间中间就被剪掉,
下面是网友供的折断线,这是一个深层次的问题
(defun c:zdx (/ p1 p2 p1x p1y p2x p2y pmx pmy pm p3 p4 p5 p6 last oldcmdecho oldosmode)
(setq oldcmdecho (getvar "cmdecho"))
(setq oldosmode (getvar "osmode"))
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(setq p1 (getpoint "选择折断线的起点:"))
(setq p2 (getpoint "选择折断线的终点:"))
(setq ang (angle p1 p2))
(setq p1x (car p1))
(setq p1y (cadr p1))
(setq p2x (car p2))
(setq p2y (cadr p2))
(setq pmx (/ (+ p1x p2x) 2))
(setq pmy (/ (+ p1y p2y) 2))
(setq pm (list pmx pmy))
(setq p3 (polar pm (- ang (* pi 0.25)) 28.28427))
(setq p4 (polar pm (- (+ pi ang) (* pi 0.25)) 28.28427))
(setq p5 (polar p3 (+ ang ( * 0.5 pi)) 20))
(setq p6 (polar p4 (+ ang (* pi 1.5)) 20))
(command "pline" p2 p5 p3 p4 p6 p1 "")
(setq l_ast (entlast))
(command "copy" l_ast "" p1 (polar p1 (+ ang (* 1.5 pi)) 50))
(setvar "cmdecho" oldcmdecho)
(setvar "osmode" oldosmode)
(princ)
)
|
|