明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2457|回复: 2

[基础] [求助]错误: ActiveX 服务器返回错误: 无效索引

[复制链接]
发表于 2010-11-17 11:07:00 | 显示全部楼层 |阅读模式
天正建筑画好的门窗,建筑专业转来的图上总是有编号,下面小程序隐去编号:
(setq nameedit (ssget "_x" (list bnameob)));bnameob为图块名称子码
(setq
 nameobjs (vla-get-ActiveSelectionSet
    (vla-get-activedocument (vlax-get-acad-object))
  )
)
(vlax-for x nameobjs
(setq blkatt (vla-GetAttributes x))
 (setq var1 (vlax-variant-value blkatt))
 (setq var2 (vlax-safearray->list var1))
 (foreach y var2
   (vla-put-visible y :vlax-false)))
对于有的门窗,会出现“错误: ActiveX 服务器返回错误: 无效索引”,经检查,是(setq var2..时出错,但如果在ssget时不用"_x",用手选就不会出错,请问有什么办法达到全选?
 楼主| 发表于 2010-11-26 16:11:00 | 显示全部楼层
上面程序是隐藏了属性,但为什么后面想编辑这个块时显示  此图形不包含带属性的块 ,也就是说,已经将属性删除了?
发表于 2010-11-26 17:12:00 | 显示全部楼层
那句 (ssget "_x" 是什么作用?ssget得到的选择集就一定能被(vla-get-ActiveSelectionSet得到吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 16:24 , Processed in 0.152250 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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