xiguao 发表于 2010-11-17 11:07:00

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

天正建筑画好的门窗,建筑专业转来的图上总是有编号,下面小程序隐去编号:<div>(setq nameedit (ssget "_x" (list&nbsp;bnameob)));bnameob为图块名称子码</div><div><div>(setq</div><div>       &nbsp;nameobjs (vla-get-ActiveSelectionSet</div><div>               &nbsp; &nbsp; (vla-get-activedocument (vlax-get-acad-object))</div><div>               &nbsp; )</div><div>        )</div><div>        (vlax-for x nameobjs</div><div>               (setq blkatt (vla-GetAttributes x))</div><div>       &nbsp;(setq var1 (vlax-variant-value blkatt))</div><div>       &nbsp;(setq var2 (vlax-safearray-&gt;list var1))</div><div>       &nbsp;(foreach y var2</div><div>       &nbsp; &nbsp;(vla-put-visible y :vlax-false)))</div></div><div>对于有的门窗,会出现“错误: ActiveX 服务器返回错误: 无效索引”,经检查,是(setq var2..时出错,但如果在ssget时不用"_x",用手选就不会出错,请问有什么办法达到全选?</div>

xiguao 发表于 2010-11-26 16:11:00

上面程序是隐藏了属性,但为什么后面想编辑这个块时显示此图形不包含带属性的块 ,也就是说,已经将属性删除了?

发表于 2010-11-26 17:12:00

那句 (ssget "_x" 是什么作用?ssget得到的选择集就一定能被(vla-get-ActiveSelectionSet得到吗?
页: [1]
查看完整版本: [求助]错误: ActiveX 服务器返回错误: 无效索引