asd106 发表于 2011-3-17 17:27:26

如何理解图形区中“块”概念

本帖最后由 asd106 于 2011-3-22 09:29 编辑

比如:
在图形区定义了块名为“A1”,“A2”等块
但仅仅插入了“A1”
请问:
1、如何取得图形区中全部定义了的块的名字呢?
    这些块在cad中有官方的叫法么?叫“定义的块”么?
2、如何取得图形区中全部插入的块和块的名字?
    这些插入块在cad中有官方的叫法么?叫“插入的块”么?

Source_Liu 发表于 2011-3-17 20:09:10

搜索块索引集合中的块索引名称。

sieben 发表于 2011-3-17 21:19:03

本帖最后由 sieben 于 2011-3-17 21:27 编辑

非官方说法
图形区:可以叫做命名空间,一般用户面对的是模型空间和图纸空间,模型空间对应的是名字叫做“ModelSpace"的块记录;
图形区定义了块名:一般用户是在模型空间定义(制作)图块,但制作好的图块(块记录)并非存在于模型空间,通常所说的图块其地位和类型和模型空间是一样的,不一样的是模型空间不可删除,而其他图块可以。平常看得见的图块其实是位于模型空间的块参考
1、如何取得图形区中全部定义了的块的名字呢?
    这些块在cad中有官方的叫法么?叫“定义的块”么?
答: 打开BlockTable块表,遍历块表就可以取得全部块记录,从而可以取得块的名字,这些块在.net里叫BlockTableRecord
2、如何取得图形区中全部插入的块和块的名字?
    这些插入块在cad中有官方的叫法么?叫“插入的块”么?
答:使用过滤器(0 ."Insert")可以取得图形区中全部插入的块(或者遍历模型空间块记录,取出其中的块参考),嵌套块则有些特殊,这些块在.net里叫BlockReference
至于块的名字,AutoCAD 2008往后版本直接从BlockReference就可以取得图块名,之前的版本则需要再访问块参考的块记录的名字

可以说块记录是幕后黑手,幕后黑手遥控着在前台的块参考,而块表则是块记录的党委会。模型空间这个块记录则很特殊,它本身是幕后黑手,同时自己又走到前台让大家看得见。

asd106 发表于 2011-3-18 09:46:34

详细
还有个问题,前台的块参考怎么被替换成其他块记录吗?
比如有块记录a、b,引用了a,现在想把a替换成b,怎么实现?先删除a,再建立b?

sieben 发表于 2011-3-18 10:33:24

不明白上面的问题。
若是想变换块参考所对应的块记录,直接换块参考的BlockTableRecord即可;

asd106 发表于 2011-3-19 11:03:20

sieben 发表于 2011-3-18 10:33 static/image/common/back.gif
不明白上面的问题。
若是想变换块参考所对应的块记录,直接换块参考的BlockTableRecord即可;

直接换块参考的BlockTableRecord??
怎么个换法?

sieben 发表于 2011-3-19 11:32:44

上面的BlockTableRecord是BlockReference的属性,可写,数据类型为ObjectId;即是块记录BlockTableRecord的ObjectId属性;

asd106 发表于 2011-3-21 09:13:33

哦,了解了
谢谢了

hulei_accp 发表于 2012-5-10 16:23:09

zswplaycate 发表于 2013-3-14 13:17:36

学习了!!!
页: [1] 2
查看完整版本: 如何理解图形区中“块”概念