块和块引用之间的区别是什么
**** Hidden Message ***** 翻译错误代码(429):请求 QPS 超过限制。 翻译错误代码(429):请求 QPS 超过限制。 翻译错误代码(429):请求 QPS 超过限制。 您好,除了Keith和Atook所说的,块定义(BlockTableRecord.NET类型)是一个非图形对象,如层或dimstyle
由于BlockTableRecord、LayerTableRecord和DimStyleTableRecord(以及其他一些)派生自同一个抽象类:SymbolTableRecord,所有这些都包含在派生自SymbolTable的表中(Blocktable、Layer Table、DimStileTable,…)
块引用(BlockReference.NET类型)是一个图形实体,它是一条线或一个对齐的维度(都源自实体抽象类型)。在模型空间、图纸空间或其他块定义(所有这些容器都是BlockTableRecord实例)中插入块时,将创建一个实体,该实体仅作为块定义的引用:它显示与几何变换(旋转、缩放、置换)的块定义中的实体集相同的实体集
插入的块参照与其块定义之间的关系可以与标注及其标注样式之间的关系进行比较:如果修改非图形记录,无论是块定义还是尺寸标注样式,这将影响引用它们的所有图形图元(块参照或标注)。 感谢ATook…从我们的角度来看,使用“实例”一词会更准确。引用是指向某事物实例的指针。在我从事工程行业的短时间里,我发现正确英语的使用完全是可选的(在预制混凝土中,我们有不平坦的架子,没有枢轴或移动的悬臂,是面板的饼干,还有一种叫做回扣端的东西,这是一个架子……我相信还有其他的)。我不应该太吹毛求疵,我们程序员通常也一样糟糕
我希望AcadBlock有一个blockReference集合,AcadBlockReference有一个到其块的显式链接。但我猜测,对于后者,块引用是块的副本,因此独立于它的原始父块……这使得术语“引用”的使用更加不准确。这就是生活 哎呀,有几个人在我之前进来了,所以这可能是一个重复,几点"Block"(BlockTableRecord)是实体的容器。
在AutoCAD中具有图形表示的任何内容都源自实体。
块引用是实体如果您选择一个块引用并在AutoCAD中查看它的属性或查看它的方法和属性,您会注意到大多数都是“平移”的,例如位置、比例、旋转。您还可以让块引用操作图层,归根结底,就是块引用只是在图形管道中推送一个转换矩阵,然后调用Draw on the BlockTableRecord,它只是遍历它包含的所有实体,并应用位置、比例和旋转绘制它们,然后弹出转换矩阵。Block定义中的属性定义为每个BlockResources创建一个属性引用,然后将其添加到每个BlockResources的属性引用集合中。这就是属性可以不同的原因,当您使用动态块时,它们似乎是不可能的,因为如果两个块引用使用相同的定义,它们只能在比例、位置、旋转或颜色上有所不同,但它们在玩把戏并为动态块设置的每一组不同属性创建不同的块定义。。
我与一群没有AutoCAD或Revit API经验的企业开发人员一起工作。我告诉他们,从高层来看,块是块引用,就像类是对象实例;他们似乎对此很在行。 我喜欢这个。 我喜欢这个。这是一个非常好的类比。我也喜欢JeffH的解释。
页:
[1]
2