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);
            }
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }