public static void doMXR() { string title = "Multiple XRef - MXR"; string dir = Path.GetDirectoryName(BaseObjs.docFullName); string filter = "All Drawings (*.dwg)|*.dwg|Current Design Files1 (*.dwg)|????BNDY.dwg;????CGP.dwg;????CUP.dwg;????CNTL.dwg;????CONT.dwg;????DEMO.dwg;????GCAL.dwg;????SD.dwg;????TOPO.dwg;????T-SITE.dwg;????UTIL.dwg|Current Design Files2(*.dwg)|*BNDY.dwg;*CGP.dwg;*CUP.dwg;*CNTL.dwg;*CONT.dwg;*DEMO.dwg;*GCAL.dwg;*SD.dwg;*TOPO.dwg;*T-SITE.dwg;*UTIL.dwg|_JDH Files (*_JDH.dwg)|*_JDH.dwg"; string defExt = ".dwg"; string[] files = FileManager.getFiles(defExt, title, filter, dir); if (files == null || files.Length == 0) { return; } string jn = BaseObjs.jobNumber(); object tMode = Application.GetSystemVariable("TILEMODE"); if (tMode.ToString() != "1") { BaseObjs._editor.Command("_tilemode", "1", ""); } BaseObjs._editor.Command("_ucs", "w", ""); for (int i = 0; i < files.Length; i++) { string nameLayer = string.Format("_{0}", Path.GetFileNameWithoutExtension(files[i])); Layer.manageLayers(nameLayer); string nameXRef = nameLayer.Replace("_", "x"); using (Transaction tr = BaseObjs.startTransactionDb()) { ObjectId id = BaseObjs._db.AttachXref(files[i], nameXRef); if (!id.IsNull) { using (BlockReference br = new BlockReference(Point3d.Origin, id)) { BlockTable bt = (BlockTable)BaseObjs._db.BlockTableId.GetObject(OpenMode.ForRead); BlockTableRecord ms = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite); ms.AppendEntity(br); tr.AddNewlyCreatedDBObject(br, true); br.Layer = nameLayer; } } tr.Commit(); } } Editor ed = BaseObjs._editor; ed.Command("_.LAYER", "C", "9", "*TOPO*", ""); }