xiabin68 发表于 2008-12-1 09:23:00

[原创]点击圆存坐标并编号可以加前缀

<p>defun c:hk()<br/>&nbsp; (command "CMDECHO" "0")<br/>&nbsp; (command "layer" "m" "hk" "c" "1" "" "")<br/>&nbsp; (setq f (open (getfiled "坐标文件保存到" "c:" "txt" 1) "w"))<br/>&nbsp; (SETQ JJ (STRCASE (getstring"请输入前缀:")))<br/>&nbsp; (setq n 1)<br/>&nbsp; (while<br/>&nbsp;&nbsp;&nbsp;&nbsp; (setq na (entsel"\n注意必须要点击编号的圆 有问题发邮件到<a href="mailto:19539078@QQ.COM">19539078@QQ.COM</a>:"))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (setq xy (cdr (assoc 10 (entget (CAR na)))))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (SETQ X (NTH 0 XY))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (SETQ Y (NTH 1 XY))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (setq zg (* 3 (cdr (ASSOC 40 (ENTGET (CAR na))))))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (SETQ YY (+ Y zg))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (SETQ ZB (LIST X YY))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (setq kk (rtos n 2 0))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (SETQ K (STRCAT JJ KK))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (command "layer" "s" "hk" "")<br/>&nbsp;&nbsp;&nbsp;&nbsp; (command "text" "j" "m" ZB zG "0" K "")<br/>&nbsp;&nbsp;&nbsp;&nbsp; (setq ss (strcat k "," (rtos (nth 0 xy) 2 3) "," (rtos (nth 1 xy) 2 3)))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (write-line ss f)<br/>&nbsp;&nbsp;&nbsp;&nbsp; (setq n (1+ n))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (princ&nbsp; ss)<br/>(princ)<br/>)</p><p>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp; </p>

xiabin68 发表于 2012-9-19 11:16:46

都没有人加分呢??

Gu_xl 发表于 2012-9-19 11:38:08

程序存在以下问题有待提高:
1、捕捉没关闭
2、选择园时要判断所选实体是否为园
3、添加错误处理,当按下ESC时可以恢复系统变量
4、细节:取XY坐标时最好使用car cadr函数、将变量尽量都设为局部变量!

xiabin68 发表于 2012-9-19 13:05:15

Gu_xl 发表于 2012-9-19 11:38 static/image/common/back.gif
程序存在以下问题有待提高:
1、捕捉没关闭
2、选择园时要判断所选实体是否为园


版主说的是,,一定好好学习一下,,,,
页: [1]
查看完整版本: [原创]点击圆存坐标并编号可以加前缀