找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 669|回复: 0

[LISP函数]:求高手改一程序

[复制链接]
发表于 2007-11-20 20:39:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
(defun c:cc ()
(setq cm (getvar "cmdecho") om (getvar "osmode"))
(setvar "osmode" 0)
(command "_undo" "be")
(setq dd (getdist (strcat "\n请输入要断开的长度<"
(rtos (getvar "userr1")) ">:"
)
)
)
(if dd (setvar "userr1" dd)(setq dd (getvar "userr1")))
(while (setq ent (car (entsel "\n请选择置上的管线:")))
(setq dxf (entget ent)
p1 (cdr (assoc 10 dxf))
p2 (cdr (assoc 11 dxf))
)
(if (setq ssa (ssdel ent (ssget "f" (list p1 p2) '((0 . "LINE")))))
(progn
(setq i 0 n (sslength ssa))
(repeat n
(setq en2 (ssname ssa i)
dxf (entget en2)
p3 (cdr (assoc 10 dxf))
p4 (cdr (assoc 11 dxf))
pt (inters p1 p2 p3 p4)
)
(command "_circle" pt (/ dd 2.0))(setq en1 (entlast))
(command "_trim" (entlast) "" (list en2 pt) "")
(entdel en1)
(setq i (1+ i))
)
)
)
)
(command "_undo" "e")
(setvar "osmode" om)(setvar "cmdecho" cm)(princ)
)

此段lisp程序可以使交叉的线在交点处断开,但是仅支持直线,不支持pline线,而且在选择的时候不能框选,只能点选,求高手帮忙修改一下程序~不甚感激!另外如果能够使程序可以实现再选择哪些与已选对象在交点处断开~就更好了啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 01:37 , Processed in 0.162004 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表