qxjlax 发表于 2015-9-9 21:54:10

entget问题怎么处理

本帖最后由 qxjlax 于 2015-9-20 20:14 编辑

entmod有的图可以更新,有的图不可以更新为什么呢?现在把代码和不能更新的图传上来了,请高手指点奇怪的是同样的图,同样的代码,我在CAD2002上entmod能起作用,CAD2007上entmod就不起作用了,这是怎么回事呢?。。。。
终于找到点眉目了,问题出在(setq ssbb1 (entget (ssname ssb a) )) 这句上面,entget得到了一个无效的字段类型 284导致entmod函数出错,请问这样的问题怎么解决?左边是错误的截图,右边是能正常运行程序的截图

(defun c:ysjs ()
(setq
    ssb
   (ssget
       "x"
       (list (cons 0 "insert")
      (cons 8 "PS_YSG_POINT")
      (cons 2 "排水-窨井,排水-检修井")
       )
   )
)
(if (/= ssb nil)
    (progn
      (setq ssblen (sslength ssb))
      (setq a 0)
      (repeat ssblen
(setq ssb1 (ssname ssb a))
(setq ssbb1 (entget (ssname ssb a) ))
(setq ssbb1 (subst (cons 8 "0") (assoc 8 ssbb1) ssbb1))
(entmod ssbb1)
(entupd ssb1)
(setq a (1+ a))
      )
    )
)
)

edata 发表于 2015-9-9 22:10:25

本帖最后由 edata 于 2015-9-9 22:13 编辑

正常改到了0层

qxjlax 发表于 2015-9-9 22:18:24

本帖最后由 qxjlax 于 2015-9-9 22:21 编辑

edata 发表于 2015-9-9 22:10 http://bbs.mjtd.com/static/image/common/back.gif
正常改到了0层

你用我的图能改吗?我在CAD2002上能改到0层,CAD2007上就不能改了

edata 发表于 2015-9-10 09:47:01

试过2006 2008 2011,都正常。最好把变量定义为局部变量,以免变量冲突。

qxjlax 发表于 2015-9-20 18:27:19

请问有什么函数可以替代entmod的功能吗》?

qxjlax 发表于 2015-9-20 19:39:43

终于找到点眉目了,问题出在(setq ssbb1 (entget (ssname ssb a) )) 这句上面,entget得到了一个无效的字段类型 284导致entmod函数出错,请问这样的问题怎么解决?左边是错误的截图,右边是能正常运行程序的截图

qxjlax 发表于 2015-10-9 07:45:32

自己顶下,没人知道怎么解决吗?

czcxxx 发表于 2015-10-9 08:26:15

谢谢分享经验!!!!!!!!!!!!!!
页: [1]
查看完整版本: entget问题怎么处理