一个DWG追加到另外一个DWG,都是包含内容的
一个DWG追加到另外一个DWG,Wblock可否实现,书上代码可以实现新建一个DWG,然后复制进去,可是我两个DWG都是已有的图形,怎么实现?
这个是个混合区,不知道你所用那种语言,什么方式,不标明,很难说清楚。。 Document.Database->获取他的数据库. /// <summary>
/// 从源数据库复制块到指定的数据库.
/// </summary>
/// <param name="sourceDb"></param>
/// <param name="db"></param>
/// <param name="blockName"></param>
/// <param name="bReplace"></param>
/// <returns></returns>
public static ObjectId importBlock(Database sourceDb, Database db, string blockName, bool bReplace,DuplicateRecordCloning Cloing = DuplicateRecordCloning.Replace)
{
//返回Id
ObjectId destId = ObjectId.Null;
//对照关系
IdMapping idmap;
using (Transaction sourceTr = sourceDb.TransactionManager.StartTransaction())
{
//块表
BlockTable sourceBt = sourceTr.GetObject(sourceDb.BlockTableId, OpenMode.ForRead) as BlockTable;
if (sourceBt.Has(blockName))
{
ObjectId sourceId = sourceBt;
idmap = new IdMapping();
sourceDb.WblockCloneObjects(new ObjectIdCollection(new[] { sourceId }), db.BlockTableId, idmap, Cloing, false);
destId = idmap.Value;
idmap.Dispose();
}
//销毁对象
sourceBt.Dispose();
sourceTr.Commit();
}
//返回
return destId;
} db.WblockCloneObjects(ids,blkrec.ObjectId, map, DuplicateRecordCloning.Ignore, false);
实现了,可是是在 db 中,怎么转化到当前文档显示呢?
页:
[1]