Esempio n. 1
0
        public INIDataManager(UIApplication uiapp, MassCategory category)
        {
            m_app        = uiapp.Application;
            doc          = uiapp.ActiveUIDocument.Document;
            massCategory = category;

            if (FindINI())
            {
                ReadINI();
                StoreSharedParams();
                if (roomCenters.Count > 0)
                {
                    FindDiscrepancyOfRoom();
                }
                if (areaAreas.Count > 0)
                {
                    FindDiscrepancyOfArea();
                }
                if (floorCenters.Count > 0)
                {
                    FindDiscrepancyOfFloor();
                }
            }
            else
            {
                MessageBox.Show("The INI file cannot be found.\n Please see if the Revit project file has a file location.", "INI Not Found", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        public Form_Parameters(UIApplication uiapp, MassCategory category)
        {
            try
            {
                m_app        = uiapp;
                m_doc        = m_app.ActiveUIDocument.Document;
                massCategory = category;
                InitializeComponent();
                string currentAssembly = System.Reflection.Assembly.GetAssembly(this.GetType()).Location;
                string definitionPath  = Path.GetDirectoryName(currentAssembly) + "/Resources/Mass Shared Parameters.txt";
                using (Transaction trans = new Transaction(m_doc))
                {
                    trans.Start("Open Parameter Definition");
                    m_app.Application.SharedParametersFilename = definitionPath;
                    definitionFile = m_app.Application.OpenSharedParameterFile();
                    trans.Commit();
                }

                if (null == definitionFile)
                {
                    MessageBox.Show("Cannot find a definition file for shared Parameters.\n", "Form_Parameters:" + category.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to initialize the form of parameters.\n" + ex.Message, "Form_Parameters:" + category.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        private MassCategory GetCategory()
        {
            MassCategory category = MassCategory.Rooms;

            if (radioButtonRoom.Checked)
            {
                category = MassCategory.Rooms;
            }
            else if (radioButtonArea.Checked)
            {
                category = MassCategory.Areas;
            }
            else if (radioButtonFloor.Checked)
            {
                category = MassCategory.Floors;
            }

            return(category);
        }
        private void bttnToRoom_Click(object sender, EventArgs e)
        {
            massCategory = GetCategory();

            iniDataManager = new INIDataManager(m_app, massCategory);
            defDictionary  = new Dictionary <string, Definition>();
            defDictionary  = iniDataManager.DefDictionary;

            string parameters = "";

            foreach (string param in defDictionary.Keys)
            {
                parameters += "[" + param + "]  ";
            }

            bool result = false;

            switch (massCategory)
            {
            case MassCategory.Rooms:
                result = TransferToRoom(roomDictionary);
                break;

            case MassCategory.Areas:
                result = TransferToRoom(areaDictionary);
                break;

            case MassCategory.Floors:
                result = TransferToRoom(floorDictionary);
                break;
            }

            if (result)
            {
                DialogResult dr = MessageBox.Show("Parameters values have been successfully transferred from Mass to" + massCategory.ToString() + ".\n" + parameters, "Updated Parameters", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (dr == DialogResult.OK)
                {
                    this.DialogResult = DialogResult.OK;
                }
            }
        }