米兰达薇薇2899 发表于 2015-2-6 16:12:40

分享一个打断交叉线的程序

(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]
查看完整版本: 分享一个打断交叉线的程序