CAD插件—提取多段线坐标(转存自新浪微博: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文本文件,同时会在图中给多段线的顶点编号。
联系客服