예제 #1
0
 private void btnDbLoc_Click(object sender, EventArgs e)
 {
     using (OpenFileDialog openDlg = new OpenFileDialog())
     {
         openDlg.Title = "Select Database source file.";
         DialogResult res = openDlg.ShowDialog(this);
         if (res == DialogResult.OK && !String.IsNullOrEmpty(openDlg.FileName))
         {
             Properties.Settings.Default.dbSource = openDlg.FileName;
             Properties.Settings.Default.Save();
             Properties.Settings.Default.Reload();
             lblDBNotSet.Text = "";
             manager = new DBManager(RevitDocument);
             enableButtons(true);
         }
     }
 }
예제 #2
0
        private void btnFindElements_Click(object sender, EventArgs e)
        {
            lblDone.Visible = false;
            String choice = cboElementType.Text;

            DBManager manager = new DBManager(RevitDocument);
            switch (choice)
            {
                case "Floors":
                //    manager.WriteOutFloors();
                    break;
                case "Roofing":
                  //  manager.WriteOutRoofing();
                    break;
                case "Walls":
              //      manager.WriteOutWalls();
                    break;
                default:
                    break;
            }
        }
        private void AssemblyManagerForm_Load(object sender, EventArgs e)
        {
            manager = new DBManager(RevitDocument);
            List<Assembly> currentAssemblies = null;
            switch (this.GeneralCategory)
            {
                case "Wall":
                    currentAssemblies = manager.RetrieveWallInfo();
                    break;
                case "Roofing":
                    currentAssemblies = manager.RetrieveRoofingInfo();
                    break;
                case "Floor":
                    currentAssemblies = manager.RetrieveFloorInfo();
                    break;
                case "All":
                    currentAssemblies = manager.RetrieveWallInfo();
                    currentAssemblies.AddRange(manager.RetrieveRoofingInfo());
                    currentAssemblies.AddRange(manager.RetrieveFloorInfo());
                    break;
                default:
                    break;
            }
            if (currentAssemblies != null)
                calculateAreas_Volumes(currentAssemblies);

            int projectID = manager.getProjectID(this.RevitDocument.Title);
            if (projectID > 0)
            {
                foreach (BuildingComponent comp in comps.Values)
                {
                    comp.Assemblies = manager.getComponentOptions(comp, projectID);
                }
            }
            foreach (Assembly assem in Assemblies.Values)
            {
                if(!lbAssemblies.Items.Contains(assem))
                    lbAssemblies.Items.Add(assem);
            }
        }
예제 #4
0
        private void cboElementType_SelectedIndexChanged(object sender, EventArgs e)
        {
            lblDone.Visible = false;

            String choice = cboElementType.Text;
            DBManager manager = new DBManager(RevitDocument);
            switch (choice)
            {
                case "Floors":
                    break;
                case "Roofing":
                    break;
                case "Walls":
                    manager.CalculateWallAssemblies(typeof(Wall));
                    //this.Areas = manager.AssemblyAreas;
                    //this.Volumes = manager.AssemblyVolumes;
                    foreach (KeyValuePair<Assembly, double> pair in this.Areas)
                        cboAssemblies.Items.Add(pair.Key.AssemblyCode);
                    break;
                default:
                    break;
            }
        }