public static List <BaseC3dObject> GetSites() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; CivilDocument civilDoc = CivilApplication.ActiveDocument; ObjectIdCollection sitesID = civilDoc.GetSiteIds(); List <BaseC3dObject> sites = new List <BaseC3dObject>(); if (sitesID.Count == 0) { return(null); } else { using (Transaction ts = db.TransactionManager.StartTransaction()) { try { foreach (ObjectId item in sitesID) { Site site = item.GetObject(OpenMode.ForRead) as Site; BaseC3dObject bObject = new BaseC3dObject(); bObject.Name = site.Name; bObject.Id = site.ObjectId; sites.Add(bObject); } } catch (System.Exception) { throw; } } return(sites); } }
public void Speckle() { // Gets the current document, and prints some basic information about it // to the command editor window. CivilDocument doc = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument; var bindings = new SpeckleUIBindingsAutoCAD(doc); ObjectIdCollection alignments = doc.GetAlignmentIds(); ObjectIdCollection sites = doc.GetSiteIds(); String docInfo = String.Format("\nHello Speckle!"); Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(docInfo); SpeckleWindow = new SpeckleUiWindow(bindings); var helper = new System.Windows.Interop.WindowInteropHelper(SpeckleWindow); helper.Owner = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle; SpeckleWindow.Show(); Launched = true; }
public static Site ByIndex(int index) { CivilDocument civilDocument = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument; Site site = null; ObjectIdCollection siteIds = civilDocument.GetSiteIds(); //get the current document and database AcadApp.Document doc = AcadApp.Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (Transaction trans = db.TransactionManager.StartTransaction()) { site = new Site((Autodesk.Civil.DatabaseServices.Entity)trans.GetObject(siteIds[index], OpenMode.ForRead), true); } return(site); }
public static Site ByName(string siteName) { CivilDocument civilDocument = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument; Site site = null; ObjectIdCollection siteIds = civilDocument.GetSiteIds(); //get the current document and database AcadApp.Document doc = AcadApp.Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (Transaction trans = db.TransactionManager.StartTransaction()) { foreach (ObjectId objectId in siteIds) { site = new Site((Autodesk.Civil.DatabaseServices.Entity)trans.GetObject(objectId, OpenMode.ForRead), true); if (site.Name != siteName) { site = null; } } } return(site); }