批量输出圆心坐标
本帖最后由 gaomingabc456 于 2017-8-8 17:44 编辑(defunc:plyxzbtq () ;批量圆心坐标提取到记事本
(setvar "cmdecho" 0)
(setvar "DIMZIN" 0) ;关闭命令执行提示
(setq n 0 ss '()) ;取得一个空表
(prompt"\n ★★★★★★★★请选择圆图元★★★★★★★★")
(setq &kw (ssget '((0 . "CIRCLE")))) ;选择圆
(if (/= &kw nil) ;如果有选择了圆
(progn
(setq L (sslength &kw)
ff (open "d:/圆心坐标文件.txt" "a") ;在D盘建立文本<圆心坐标文件> 保存原有
ff (open "d:/圆心坐标文件.txt" "w") ;在D盘建立文本<圆心坐标文件> 重新写入
)
;;;(princ "X坐标" ff) (princ "\t" ff) (princ "\t" ff)
;;;(princ "Y坐标" ff) (princ "\t" ff) (princ "\n" ff)
(princ "ID----------X--------------Y------" ff)
(princ "\n" ff);换一行输入
(repeat L
(setq &k1 (entget (ssname &kw n))
%k1 (cdr (assoc 10 &k1)) ;取得圆心坐标
ss (cons %k1 ss) ;加入选择集
n (+ n 1)
)
)
(setq n 0)
(repeat L
(setq &k1 (nth n ss)
%k1 (rtos (car &k1) 2 4) ;取得X坐标,小数点后四位
%k2 (rtos (cadr &k1) 2 4) ;取得Y坐标,小数点后四位
n (+ n 1)
)
(setq K1 n)
(setq sn (rtos K1 2 0))
;;;(princ "X=" ff);先输入X=到txt文件(可以考虑是否输入字符X=,不输入则本行删除)
(princ sn ff) ;然后输入X坐标
(princ "\t" ff) ;一个空格分开
(princ %k2 ff) ;然后输入X坐标
(princ "\t" ff) ;一个空格分开
;;;(princ "Y=" ff);再输入Y=到txt文件(可以考虑是否输入字符Y=,不输入则本行删除)
(princ %k1 ff) ;然后输入Y坐标
(princ "\n" ff);换一行输入
)
(close ff) ;关闭文本
(startapp "notepad.exe" "d:/圆心坐标文件.txt")
)
)
)
(prin1)
)
你好我想提的座标按MM为单位怎么设置呢?现在提的都是M为单位,我在建筑上用的 本帖最后由 arno_tm 于 2017-9-5 14:17 编辑
C:\Users\Administrator\Desktop\QQ图片20170905140634
能否做到这个效果不
迷失1786 发表于 2018-5-21 22:20
这样能改吗?
同问 :handshake 不能用错误 少括号 ,已改!!! 谢谢楼主,辛苦了 这样能改吗? 正好能用上 牛逼 不错的源码而且解释的很清楚 谢谢楼主提供,复制学习了
页:
[1]
2