新浪博客

[转载]CAD插件—提取多段线坐标

2017-10-10 12:22阅读:
原文作者:CAD插件下载

命令名: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疑难解答汇总

我的更多文章

下载客户端阅读体验更佳

APP专享