美好的一天,
我正在尝试创建一个csharp程序,将多个块插入到Autocad绘图中,每个块都有不同的插入点。为了简单起见,块是另一张图,我正在使用矩阵插入,我将在下面粘贴。 问题是我引入的块有文本属性,我需要我的程序能够更改。
有没有办法继续使用下面的插入方法,同时在插入时仍然设法编辑块属性?然后在第二次插入时以不同方式编辑它?
using (tr)
{
Vector3d blockDisplacement1 = new Vector3d(ptInsert.Value.X, ptInsert.Value.Y, ptInsert.Value.Z);
double blockScale = 1.0;
string blockPath = @"T:\test.dwg";
Database tmpDb = new Database(false, true);
tmpDb.ReadDwgFile(blockPath, System.IO.FileShare.Read, true, "");
Matrix3d Transform = Matrix3d
.Scaling(blockScale, Point3d.Origin)
.PreMultiplyBy(Matrix3d.Displacement(blockDisplacement1))
.PreMultiplyBy(ed.CurrentUserCoordinateSystem);
db.Insert(Transform, tmpDb, true);
tr.Commit();
tr.Dispose();
}
}
答案 0 :(得分:0)
这绝对有可能。将块插入活动图形后,可以修改现有属性值或打开块表记录并添加全新实体。
这里有几篇博客文章可以帮助您入门:
http://adndevblog.typepad.com/autocad/2012/06/inserting-a-block-with-attributes-to-modelspace.html
http://help.autodesk.com/view/ACD/2015/ENU/?guid=GUID-2107599E-9405-4D8B-A6DD-83D603B41568