- 积分
- 683
- 明经币
- 个
- 注册时间
- 2004-8-30
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|

楼主 |
发表于 2004-9-7 14:24:00
|
显示全部楼层
楼上大哥:我的程序本来是想对多个圆标注,要有一个循环的,由於程序有错我就先改为对一个圆标注,给你传上来了。
;(setq p1 (getpoint "Lower left corner :")) ;(setq p2 (getpoint "upper righe corner :")) ;(ssget "w" p1 p2)
这三句不知道你做什么用的,好象没有什么作用,还有你
(setq xx(ssget "x" (list(cons 0 "circle")))) (setq index 0) (setq entname(ssname xx index))
选择了所有的圆,为何只对第一个圆操作,如果这样,你直接选择你需要操作的远不就可以了吗
(command "dimordinate" xy "ydatum" x11) (command "dimordinate" xy "xdatum" y11)
这里x11和y11处需要的参数应该是点,你的x11和y11都不是点,而是一个数,导致错误
我改了,但是还是有问题。
|
(defun c:dimc () (setvar "cmdecho" 0) (setvar "dimtih" 0) (command "osnap" "int,cen,mid") (setq Po (getpoint "Original Point :")) (command "ucs" "new" po) (setq p1 (getpoint "Lower left corner :")) (setq p2 (getpoint "upper righe corner :")) (ssget "w" p1 p2) (setq xx(ssget "x" (list(cons 0 "circle")))) (setq index 0) (setq entname(ssname xx index)) (setq entlist(entget entname)) (setq entasso(assoc 10 entlist)) (setq x1(cadr entasso)) (setq y1(caddr entasso)) (setq x11(+ x1 5)) (setq y11(+ y1 5)) (setq xx(list x11 y1)) (setq yy(list x1 y11)) (command "dimordinate" xy "ydatum" xx ) (command "dimordinate" xy "xdatum" yy ) (setvar "cmdecho" 1) (princ) )
|
|