明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2076|回复: 10

求助:怎样图块中所有子图元的图元名,谢谢

[复制链接]
发表于 2010-1-16 23:45:00 | 显示全部楼层 |阅读模式

如题,望高手指点!!!!!!!!!!!!!!谢谢

求助:怎样图块中所有子图元的图元名,谢谢

发表于 2010-1-17 19:14:00 | 显示全部楼层

(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))
)
//block-name:图块名
//ent-name:你要的图元名

未作测试,不包管用!呵呵!

 楼主| 发表于 2010-1-17 19:29:00 | 显示全部楼层

谢谢!!!!完全正确!!!

感激涕零!!谢谢指点!!!

这个问题困扰了我很长时间,因为这方面的资料不多,而且也不好找!!!

 楼主| 发表于 2010-1-17 19:43:00 | 显示全部楼层

但为什么用以下方法不行:

(setq ent (car (entsel)))
(setq block-object (vlax-ename->vla-object ent))
(vla-get-count block-object)

先通过点选的方法选择图块并将图块的图元名赋予ent

再将ent转换为VLA对象,为什么不能通过这个转换的对象访问子图元的信息

连(vla-get-count block-object)都会出错,vla-item函数也不能用于此对象

发表于 2012-4-11 12:56:53 | 显示全部楼层
本帖最后由 yshf 于 2012-4-11 12:58 编辑

  1. (setq AcadApp   (vlax-get-acad-object)
  2.       AcadDoc   (vla-get-ActiveDocument acadApp)
  3.       Blocks   (vla-get-blocks acadDoc)
  4. )
  5. (setq block-object (vla-item blocks block-name))
  6. (setq block-rep 0)
  7. (repeat (vla-get-count block-object)
  8.   (setq ent-name (vlax-vla-object->ename (vla-item block-object block-rep)))
  9.   (setq block-rep (1+ block-rep))
  10. )



发表于 2012-8-14 13:09:00 | 显示全部楼层
好像还是求不出来的
发表于 2012-12-20 10:22:11 | 显示全部楼层
马上就要有用了,留个书签。
发表于 2015-3-4 13:00:36 | 显示全部楼层
sieben 发表于 2010-1-17 19:14
(setq AcadApp   (vlax-get-acad-object)      AcadDoc   ( ...

请大神帮忙写个完整的,太高级了。看不懂,谢谢。
发表于 2015-3-5 09:33:15 | 显示全部楼层
wangyao1052 发表于 2010-1-17 19:43
但为什么用以下方法不行:(setq ent (car (entsel)))(setq block-object (vlax-ename->vla-object ent))( ...

通过entsel选择到的是块参考BlockReference,而我上面代码获取的是块Block,两者是不一样的
发表于 2015-3-5 09:33:48 | 显示全部楼层
434939575 发表于 2015-3-4 13:00
请大神帮忙写个完整的,太高级了。看不懂,谢谢。

我上面的代码已经算是完整了哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-23 09:58 , Processed in 0.174998 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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