几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   数据库ObjectDBX (http://www.dimcax.com/hust/forumdisplay.php?f=177)
-   -   【转帖】这个是怎么回事?老顾请帮忙 (http://www.dimcax.com/hust/showthread.php?t=13991)

yang686526 2009-04-28 05:08 PM

【转帖】这个是怎么回事?老顾请帮忙
 
这个是怎么回事?老顾请帮忙
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.