求助:怎样图块中所有子图元的图元名,谢谢
<p>如题,望高手指点!!!!!!!!!!!!!!谢谢</p><p>求助:怎样图块中所有子图元的图元名,谢谢</p> <p>(setq AcadApp (vlax-get-acad-object)<br/> AcadDoc (vla-get-ActiveDocument acadApp)<br/> Blocks (vla-get-blocks acadDoc)<br/>)</p><p>(setq block-object (vla-item blocks block-name))<br/>(setq block-rep 0)<br/>(repeat (vla-get-count block-object)<br/> (setq ent-name (vlax-vla-object->ename (vla-item block-object block-rep)))<br/> (setq block-rep (1+ block-rep))<br/>)<br/>//block-name:图块名<br/>//ent-name:你要的图元名</p><p>未作测试,不包管用!呵呵!</p> <p>谢谢!!!!完全正确!!!</p><p>感激涕零!!谢谢指点!!!</p><p>这个问题困扰了我很长时间,因为这方面的资料不多,而且也不好找!!!</p> <p>但为什么用以下方法不行:</p><p>(setq ent (car (entsel)))<br/>(setq block-object (vlax-ename->vla-object ent))<br/>(vla-get-count block-object)</p><p>先通过点选的方法选择图块并将图块的图元名赋予ent</p><p>再将ent转换为VLA对象,为什么不能通过这个转换的对象访问子图元的信息</p><p>连(vla-get-count block-object)都会出错,vla-item函数也不能用于此对象</p> 本帖最后由 yshf 于 2012-4-11 12:58 编辑(setq AcadApp (vlax-get-acad-object)
AcadDoc (vla-get-ActiveDocument acadApp)
Blocks (vla-get-blocks acadDoc)
)
(setq block-object (vla-item blocks block-name))
(setq block-rep 0)
(repeat (vla-get-count block-object)
(setq ent-name (vlax-vla-object->ename (vla-item block-object block-rep)))
(setq block-rep (1+ block-rep))
)
好像还是求不出来的 马上就要有用了,留个书签。 sieben 发表于 2010-1-17 19:14 static/image/common/back.gif
(setq AcadApp (vlax-get-acad-object) AcadDoc ( ...
请大神帮忙写个完整的,太高级了。看不懂,谢谢。 wangyao1052 发表于 2010-1-17 19:43 static/image/common/back.gif
但为什么用以下方法不行:(setq ent (car (entsel)))(setq block-object (vlax-ename->vla-object ent))( ...
通过entsel选择到的是块参考BlockReference,而我上面代码获取的是块Block,两者是不一样的 434939575 发表于 2015-3-4 13:00 static/image/common/back.gif
请大神帮忙写个完整的,太高级了。看不懂,谢谢。
我上面的代码已经算是完整了哦
页:
[1]
2