【发布时间】:2014-10-14 16:27:11
【问题描述】:
我正在开发一个 c# 程序,该程序旨在将已经在 AutoCAD 绘图上的块插入到用户单击的任何位置,并自动将字符串值添加到第一个自定义属性。我已经通过使用新的单击点位置和现有块名称创建新块引用来完成其中的一部分。
仅由于某种原因,现有块上的两个自定义属性不会出现在新块上,它只显示块的行而没有文本。请参阅下面程序的一小部分。有谁知道为什么没有将现有的块属性添加到新块中,如果是这样,我将如何去做?我浏览了很多关于这个问题的论坛,它们都展示了如何创建全新的属性,而不是从现有块中获取预定义的属性并将它们添加到新的属性中。
Scale3d blkScale = new Scale3d(drgScalemm, drgScalemm, drgScalemm);
ObjectId bdId = bt[blkName];
Point3d pt = ptInsert.Value;
BlockReference insblkref = new BlockReference(pt, bdId);
insblkref.ScaleFactors = blkScale;
insblkref.Rotation = 0;
btr.AppendEntity(insblkref);
tr.AddNewlyCreatedDBObject(insblkref, true);
【问题讨论】:
标签: c# attributes block autocad