![]() |
【转帖】这个是怎么回事?老顾请帮忙
这个是怎么回事?老顾请帮忙
www.dimcax.com 这个是怎么回事?老顾请帮忙 以下这个程序,在运行时有点问题,请教各位老大, 就是说运行的时候,本来 pol和arc和circle都是在同一点上画出来的, 但输入或者点击的时候有时会出现乱跑就是本来三个是在同一点的,却各自为王了,请帮忙!!!谢谢 (defun c:lx2() ;(setq old_cmdecho (getvar "cmdecho")) (setvar "cmdecho" 0) (command "layer" "s" "hole" "") (princ "\n ======= 螺丝孔 ==== 编者 :星河凤之恋 ") (princ "\n [1] 8mm螺丝孔 [2] 4mm螺丝孔:") (setq cho (getstring)) (cond ((= cho "1") (princ "\n[ 请点选位置 ] :") (setq p1 (getpoint)) (command "polygon" "6" p1 "c" "3.0") (command "change"(entlast)"" "p" "lt" "hidden" "lts" 2 "c" 4"") (command "arc" "c" p1 "@0,5" "a" 270) (command "change"(entlast)"" "p" "lt" "hidden" "lts" 2 "c" 4"") (command "circle" p1 "4.0"))) (cond ((= cho "2") (princ "\n[ 请点选位置 ] :") (setq p1 (getpoint)) (command "polygon" "6" p1 "c" "1.5") (command "change"(entlast)"" "p" "lt" "hidden" "lts" 2 "c" 4"") (command "arc" "c" p1 "@0,2.5" "a" 270) (command "change"(entlast)"" "p" "lt" "hidden" "lts" 2 "c" 4"") (command "circle" p1 "2.0"))) (cond ((= cho "1") (princ "\n[ 请点选位置 ] :") (setq p1 (getpoint)) (command "polygon" "6" p1 "c" "3.0") (command "change"(entlast)"" "p" "lt" "hidden" "lts" 2 "c" 4"") (command "arc" "c" p1 "@0,5" "a" 270) (command "change"(entlast)"" "p" "lt" "hidden" "lts" 2 "c" 4"") (command "circle" p1 "4.0"))) (cond ((= cho "2") (princ "\n[ 请点选位置 ] :") (setq p1 (getpoint)) (command "polygon" "6" p1 "c" "1.5") (command "change"(entlast)"" "p" "lt" "hidden" "lts" 2 "c" 4"") (command "arc" "c" p1 "@0,2.5" "a" 270) (command "change"(entlast)"" "p" "lt" "hidden" "lts" 2 "c" 4"") (command "circle" p1 "2.0"))) ;(setvar "cmdecho" old_cmdecho) (princ) ) 是不是和捕捉有关?? (setvar "osmode" 0) 如果加了关闭捕捉,那我要在完成画图后,又自动打开捕捉,应该怎么搞??谢谢 前面加上(setq os (getvar "osmode")) 结尾加上 (setvar "osmode" os) 就ok啦 progress every day!!! |
| 所有的时间均为北京时间。 现在的时间是 05:28 AM. |