Message 1 of 4
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
How do I move DynamicBlock to a BlockTableRecord,and ensure thatthe result is not an anonymous block?
I try deepclone,but show error eAlreadyIrDb,how to transform to BlockTableRecord.thank you eyeryone for here.
var ent = (Entity)tr.GetObject(item);
Entity clonedEntity;
if (ent is BlockReference br && br.IsDynamicBlock)
{
//using ObjectIdCollection mapIds = [br.ObjectId];
//using IdMapping mapping = [];
//Env.Database.DeepCloneObjects(mapIds, Env.Database.CurrentSpaceId, mapping, false);
//clonedEntity = (Entity)tr.GetObject(mapping[br.ObjectId].Value, OpenMode.ForWrite);
var clonedDynamicBlock = (BlockReference)ent.Clone();
CopyDynamicProperties(br, clonedDynamicBlock, Env.Editor);
clonedEntity = clonedDynamicBlock;
}
else
clonedEntity = (Entity)ent.Clone();
btr.AppendEntity(clonedEntity);
Solved! Go to Solution.