cuongtk2 310 Báo cáo bài đăng Đã đăng Tháng 11 1, 2021 Trong code thiếu gì để các Dynamic properties theo vào [CommandMethod("wblockEntity")] static public void wblockEntity() { Document doc = AcadApp.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; using (var tr = db.TransactionManager.StartTransaction()) { PromptEntityOptions peo = new PromptEntityOptions(""); peo.SetRejectMessage("Đối tượng không phải block"); peo.AddAllowedClass(typeof(BlockReference), true); peo.Message = "Chọn Block"; var per = ed.GetEntity(peo); if (per.Status != PromptStatus.OK) return; var id = per.ObjectId; var btr = tr.GetObject(id, OpenMode.ForRead) as BlockTableRecord; var blr = tr.GetObject(id, OpenMode.ForRead) as BlockReference; if (blr.IsDynamicBlock) { btr = tr.GetObject(blr.DynamicBlockTableRecord, OpenMode.ForRead) as BlockTableRecord; } string FileName = "c:/temp/" + btr.Name + ".dwg"; ObjectIdCollection ids = new ObjectIdCollection(); foreach (ObjectId ent in btr) { ids.Add(ent); } using (Database newDb = new Database(true, false)) { db.Wblock(newDb, ids, new Point3d(), DuplicateRecordCloning.Ignore); newDb.SaveAs(FileName, DwgVersion.AC1021); } tr.Commit(); } } Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
cuongtk2 310 Báo cáo bài đăng Đã đăng Tháng 11 1, 2021 Đã sửa được [CommandMethod("wblockEntity")] static public void wblockEntity() { Document doc = AcadApp.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; using (var tr = db.TransactionManager.StartTransaction()) { PromptEntityOptions peo = new PromptEntityOptions(""); peo.SetRejectMessage("Đối tượng không phải block"); peo.AddAllowedClass(typeof(BlockReference), true); peo.Message = "Chọn Block"; var per = ed.GetEntity(peo); if (per.Status != PromptStatus.OK) return; var id = per.ObjectId; var btr = tr.GetObject(id, OpenMode.ForRead) as BlockTableRecord; var blr = tr.GetObject(id, OpenMode.ForRead) as BlockReference; if (blr.IsDynamicBlock) { btr = tr.GetObject(blr.DynamicBlockTableRecord, OpenMode.ForRead) as BlockTableRecord; } string FileName = "c:/temp/" + btr.Name + ".dwg"; using (Database newDb = db.Wblock(btr.ObjectId)) { newDb.UpdateExt(true); newDb.UpdateThumbnail = 16; newDb.SaveAs(FileName, DwgVersion.AC1021); } tr.Commit(); } } Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác