明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1867|回复: 3

[求助]vla-activate问题

[复制链接]
发表于 2008-2-12 15:56:00 | 显示全部楼层 |阅读模式

;以下程序目的是把多个文档中的属性块文字更改,

;;为什么我加入(vla-activate each)程序就不能正确执行,而取消此代码可以执行,请高手指点

(defun c:sss (/ AcadObject AcadDocument mSpace ssobj attributes
       val-att-ent)
  (VL-LOAD-COM)
  (setq AcadObject    (vlax-get-acad-object)
 AcadDocument  (vla-get-ActiveDocument AcadObject)
 AcadDocuments (vla-get-Documents AcadObject)
 mSpace       (vla-get-ModelSpace AcadDocument)
  )
  (setq gpcode (vlax-make-safearray vlax-vbInteger '(0 . 1)))
  (vlax-safearray-fill gpcode '(0 66))
  (setq datevalue (vlax-make-safearray vlax-vbvariant '(0 . 1)))
  (vlax-safearray-fill datevalue '("insert" 1))
  (vlax-for each AcadDocuments
    (vla-activate each);此处加入此代码后程序不能正确执行
    (setq
      ssobj (vla-add (vla-get-selectionsets each) "year11")
    )
    (vla-select
      ssobj acSelectionsetAll nil nil gpcode datevalue)
    (if (> (vla-get-count ssobj) 0)
      (progn
 (vlax-for every ssobj
   (cond
     ((and
        (= (vla-get-objectname every) "AcDbBlockReference")
        (= (vla-get-hasattributes every) :vlax-true)
      )
      (progn
        (setq attributes
        (vlax-variant-value (vla-getattributes every))
        )
        (setq i 0)
        (while (< i (vlax-safearray-get-u-bound attributes 1))
   (setq val-att-ent
   (vlax-safearray-get-element attributes i)
   )
   (if (= (vla-get-tagstring val-att-ent) "YEAR_1")
     (progn
       (vla-put-textstring val-att-ent "open-close")
;;;       (vla-put-tagstring val-att-ent "tag")
     )
   )
   (setq i (1+ i))
     ;(vla-update val-att-ent)
   (princ (strcat "\n--正在更新----"
    (vla-get-name each)
    "中属性文字"
    (vla-get-name every)
    "---"
   )
   )
        )   ;while
      )
     )
     (t (princ "\nasss"))
   )
 )
      )
    )
    (vla-regen each :vlax-true)
    (vla-delete ssobj)
    (setq attributes
        nil
   val-att-ent nil
    )
  )     ;end if
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2008-2-12 18:38:00 | 显示全部楼层
把军权交给了别人,别人就是指挥官了,别人的地盘你当然不能乱踩啦
发表于 2008-2-13 10:59:00 | 显示全部楼层
干嘛要ACTIVATE呢.不激活还不是一样
发表于 2019-12-16 11:11:31 | 显示全部楼层
请问问题解决了吗,我也碰到了一样的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 11:23 , Processed in 0.177044 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表