[转载]CAD插件—提取多段线坐标
2017-10-10 12:22阅读:
命令名:tqdxd
功能:实现多线段提取坐标,输出text文本,并标注点号
由于分享到百度网盘经常被屏蔽,这里直接将代码发上来,大家复制粘贴到记事本中,保存成*.lsp就可以了。
代码如下:
(defun c:tqdxd()
(setvar 'cmdecho' 0)
(vl-load-com)
(prompt
'n命令名:tqdxd。功能:实现多线段提取坐标,输出text文本,并标注点号.By author:mile')
(setq ss2 (Vlax-Get
(Vlax-Ename->Vla-Object (car (entsel))) 'Coordinates ))
;提取多线段坐标
(setq nn (length
ss2))
;测试列表个数
(setq i 1)
(setq n (/ nn
2))
(setq w
220)
(setq pf
(zbtq ss2)) 保存第一点坐标
(setq ffn (getfiled '写出文件' '' 'txt'
1));打开文text文件
(setq ff (open ffn 'w'))
(while ( < i (+ 1 n) )
(setq p2
(zbtq ss2))
(setq ss2
(cdr ss2))
(setq ss2
(cdr ss2)) ;提取第一个坐标后,余下列表。
(setq pname (itoa i ))
(setq pn (strcat
'G' pname ))
;;G为点号前缀
(setq p3 (polar p2 (* PI 0.3) 5))
(command 'layer' 'make' '点号' 'c'
'20' '点号'
'')
(command 'circle' p2 1)
(command 'text' 'TL'
p3 3 0 pn)
; 提取坐标
(setq xa (car p2))
(setq ya
(cadr p2))
(setq y (rtos ya 2 3))
(setq x (rtos xa 2 3))
;写文件
(princ pn ff)
(princ ',' ff)
(princ x ff)
(princ ',' ff)
(princ y ff)
(princ ',' ff)
(princ '0.000' ff)
(princ 'n' ff)
(setq i (+ i 1))
)
(close ff)
(setvar 'cmdecho' 1)
)
(defun zbtq( a ) ; 提取列表坐标
(setq
y
(car a))
(setq
x
(cadr a))
(list y x)
)
使用方法:
1、将上面代码复制粘贴到记事本,另存为*.lsp。
2、在打开的图纸后输入AP,加载保存的LSP文件。
3、输入TQDXD命令,回车,单击多段线。
软件会提示将多段线的点坐标另存为一个TXT文本文件,同时会在图中给多段线的顶点编号。
相关文章:
如何提取CAD图纸中图形的数据?
CAD使用问题可以访问:
CAD实用技巧、CAD使用技巧、CAD疑难解答汇总