发现一个问题,不知道是不是2004的BUG
当在2004里用AX的OFFSET方法有时候他会所源对象给删了,有时候则不会,但2002好像就没问题,不知道是不是BUG,而且2004本身的OFFSET命令也好像有问题,有时候一条有厚度时,然后OFFSET一下就会改变他的标高到到(0-厚度/2),不知道为什么,本来想用OFFSET方法来改改这个问题的,可是原来AX里的OFFSET也有问题附上该文件,高手帮忙看看了,谢谢
我试了一下没有问题,是否你装的autocad有问题? 我是说用LISP调用ACTIVEX里的OFFSET的方法的时候会出错啊,
版主怎么说我发错地方呢?奇怪 没有人有这个问题吗? 发贴时请注意是否与版块对应,
你可到LSP里面发表此话题。 luoyaya发表于2003-12-4 21:37:00static/image/common/back.gif我是说用LISP调用ACTIVEX里的OFFSET的方法的时候会出错啊,
版主怎么说我发错地方呢?奇怪
按你开头说的,并没有任何地方涉及到程序问题啊,所以可能原来认为你发错地方了,应该说明白点是用程序调用时有问题。
说说你是怎样调用的吧,最好把调试程序附上。。 (defun c:oo ( / tmp del ss sslen)
(if (setq ss (ssget))
(progn
(setq del nil)
(if (not offset) (setq offset 120))
(initget "a")
(prompt (strcat "\n请输入距离<" (vl-prin1-to-string offset)))
(setq tmp (getdist ">或是(A删除源对象):"))
(cond ((not tmp) (setq tmp offset))
((= (type tmp) 'REAL)(setq offset tmp))
((= (type tmp) 'STR)
(prompt (strcat "\n请输入距离<" (vl-prin1-to-string offset)))
(setq tmp (getdist ">:"))
(if (not tmp)
(setq tmp offset)
(setq offset tmp))
(setq del T)
)
)
(setq sslen (sslength ss))
(repeat sslen
(vla-offset (vlax-ename->vla-object (ssname ss (1- sslen))) tmp)
(vla-offset (vlax-ename->vla-object (ssname ss (1- sslen))) (- tmp))
(if del (entdel (ssname ss (1- sslen))))
(setq sslen (1- sslen))
)
))
(princ))
上面这个命令有时候就是会出错,比如第一楼我发的那个文件里就会
页:
[1]