.NET如何获取块参照的真实名称

.NET如何获取块参照的真实名称

ouyangzhikui
Contributor Contributor
2,532 次查看
4 条回复
1 条消息(共 5 条)

.NET如何获取块参照的真实名称

ouyangzhikui
Contributor
Contributor

我自定义了一个带参数的块,插入图形之后想利用.NET获取其名称,即下图中所示信息

属性属性

在默认的块参数下,此时查看Database中Black Table信息如下,且*Model_Space中的块参照名称正常,如下图

Database_01Database_01ModelSpace_01ModelSpace_01

 

但是在更改块参照的自定义属性之后,查看Database,发现它的BlockTable会自动生成一个新的块表记录,同时Model_Space中刚才插入的块名称会自动变成这个新的块表记录名称,而在图形特性界面查看名称依旧显示正常。

 

 

更改自定义参数后的特性界面更改自定义参数后的特性界面

 

更改参数后Database更改参数后Database

 

更改参数后BlockTable更改参数后BlockTable

 

调用BlockReference.Name在默认的参数下可以获取的正确的名称,但是更改参数后获取到的是后面新生成的块表记录的名称

我想在参数无论如何变化的情况下都能获取块参照的特性界面的名称,应该如何实现?

已接受的解答 (1)
2,533 次查看
4 条回复
回复 (4)
2 条消息(共 5 条)

ouyangzhikui
Contributor
Contributor
已接受的解答

当前问题本人经过尝试发现可以通过以下方法实现:

OK.png

动态块不应使用BlockReference.Name直接获取块名称;

需要先使用DynamicBlockTableRecord获取块参照的对应动态块表记录,然后获取该块表记录的Name即可。

3 条消息(共 5 条)

lynn_zhang
Community Manager
Community Manager

您好!太棒了,很高兴您自己解决了这个问题并无私分享您的解决方法,我代表社区其他用户感谢您!👍





Lynn Zhang
Community Manager


0 个赞
4 条消息(共 5 条)

zhangyhmax
Explorer
Explorer

请问一下楼主,这个查看图纸symbol table的界面是怎么调出来?

0 个赞
5 条消息(共 5 条)

ouyangzhikui
Contributor
Contributor

用的arxdbg工具