画系统图的时候经常先复制平面上的线,多数是pline线,转角处相连的,这样画系统图时,要先打断,有没有一种方法(如加载lsp程序),可以用一个快捷键,然后鼠标点pline线,转角处自然断开??还有竖向的直线要旋转-45度,我想找一个加载程序(如lsp格式的),能用一个快捷键,然后点一条直线,就能把这条直线变成45度!!?
画系统图的时候经常先复制平面上的线,多数是pline线,转角处相连的,这样画系统图时,要先打断,有没有一种方法(如加载lsp程序),可以用一个快捷键,然后鼠标点pline线,转角处自然断开??
还有竖向的直线要旋转-45度,我想找一个加载程序(如lsp格式的),能用一个快捷键,然后点一条直线,就能把这条直线变成45度!!?
2楼
路过的朋友帮忙顶一下!
回复
3楼
好啊,支持,期待高手过来!
回复
4楼
谢谢,自己顶
回复
5楼
不知道是不是我理解错了,用炸弹就可以了阿。
两条直线用圆弧连接的pline,炸开后,就变成了3段。
回复
6楼
下载附件,加载后运行bb命令.
;选择的pline线在端点处全部断开.by shrimp 2005.12.2
(defun c:bb ( / bg e ed no p10 pl pl10 plist pltype pt1 pt2)
(defun GETPLVTX (E / ED)
(defun DXF (NO)
(cdr (assoc NO ED))
);end defun
(defun GETLWPL (ED / pl pl10)
(while
(setq ED (cdr (member (setq PL10 (assoc 10 ED)) ED)))
(setq PL (cons (cdr PL10) PL))
)
(reverse PL)
);end defun
(defun GETPL (ED / e p10 pl)
(setq E (DXF -1))
(while
(setq E (entnext E))
(if
(setq P10 (cdr (assoc 10 (entget E))))
(setq PL (cons P10 PL))
);end if
);end while
(reverse PL)
);end defun
(setq ED (entget E))
(setq PLTYPE (DXF 0))
(cond
((= "POLYLINE" PLTYPE)
(GETPL ED)
)
((= "LWPOLYLINE" PLTYPE)
(GETLWPL ED)
)
)
)
(setq e (car (entsel "选择要断开全部端点的多线段? ")))
(setq ED (entget E))
;(setq pw (cdr (assoc 41 ED)))
;(setvar "plinewid" Pw)
(setq bg T )
(setq plist (GETPLVTX e))
;(command "erase" e "")
(while (or bg (and pt1 pt2))
(if (= bg T)
(setq bg nil)
(progn (command "break" e pt2 "@")
(setq e (entlast))
)
)
(setq pt1 (car plist))
(setq plist (cdr plist))
(setq pt2 (car plist))
)
(princ)
)
回复
7楼
哈哈,真是好东西啊!
回复
8楼
请问这个附件是用于AutoCAD的吗?
回复
9楼
当然可以,lsp文件加载后运行命令bb.
回复
10楼
谢谢,太好了
回复
11楼
还有转45的问题 大家继续顶啊
回复