admin管理员组文章数量:1574121
实现往cad图纸中插入另一个dwg文件,可用于图框签名
private static void SignDwgName(ref Document doc, Transaction transaction, ObjectId objId, Point3d position, string signfilename, double widthblv, double heigthblv, double rotation)
{
BlockTableRecord ms = transaction.GetObject(objId, OpenMode.ForWrite, false) as BlockTableRecord;
string type = signfilename.Substring(signfilename.Length - 3, 3); //获取签名格式(dwg: CAD图纸 png:图片)
if ("dwg" == type) // 矢量图签名
{
using (Database db = new Database(false, false))
{
db.ReadDwgFile(signfilename, FileOpenMode.OpenForReadAndReadShare, true, null);
db.CloseInput(true);
string name = signfilename.Substring(signfilename.LastIndexOf("\\") + 1).Replace(".dwg", "");
ObjectId objectId = doc.Database.Insert(name, db, false);
using (BlockReference brf = new BlockReference(position, objectId)) //position是一个Point3D坐标,这里是插入进当前dwg文件中
{
brf.ScaleFactors = new Scale3d(widthblv, heigthblv, 1);
brf.Rotation = rotation;
ms.AppendEntity(brf);
transaction.AddNewlyCreatedDBObject(brf, true);
}
}
}
}
signfilename:插入文件路径
widthblv:宽度比例
heigthblv:高度比例
rotation:方向
版权声明:本文标题:C# AutoCAD图纸插入块(另一个dwg文件) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727766526a1128523.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论