public Dictionary <string, string> GetKeynote(IEnumerable <Element> roomelemsTypes, UIDocument ActiveUIDocument)
        {
            KeyBasedTreeEntries kbte = GetKeynoteEntries(ActiveUIDocument);

            IEnumerable <KeyBasedTreeEntry> keyValues;

            Dictionary <string, string> elemsKeynote = new Dictionary <string, string>();

            foreach (Element e in roomelemsTypes)
            {
                Parameter p = e.get_Parameter(BuiltInParameter.KEYNOTE_PARAM);

                if (p != null)
                {
                    string pValue = GetParameterValue(p);

                    keyValues = kbte.Where(k => k.Key.Equals(pValue));

                    foreach (KeynoteEntry k in keyValues)
                    {
                        string keynoteText = k.KeynoteText;
                        string keyValue    = k.Key;

                        elemsKeynote.Add(keyValue, keynoteText);
                    }
                }
            }
            return(elemsKeynote);
        }
        public KeyBasedTreeEntries GetKeynoteEntries(UIDocument ActiveUIDocument)
        {
            Document doc = ActiveUIDocument.Document; // doc define o documento ativo na aplicacao

            KeynoteTable Kt = KeynoteTable.GetKeynoteTable(doc);

            KeyBasedTreeEntries kbte = Kt.GetKeyBasedTreeEntries();

            return(kbte);
        }
Exemple #3
0
        public static KeyBasedTreeEntries GetKeynoteEntries(UIApplication uiapp)
        {
            Document doc = uiapp.ActiveUIDocument.Document;

            KeynoteTable Kt = KeynoteTable.GetKeynoteTable(doc);

            KeyBasedTreeEntries kbte = Kt.GetKeyBasedTreeEntries();

            return(kbte);
        }
Exemple #4
0
        public void ReloadNotes()
        {
            KeynoteTable                   knTable        = KeynoteTable.GetKeynoteTable(this.docu);
            KeyBasedTreeEntries            kntableEntries = knTable.GetKeyBasedTreeEntries();
            ModelPath                      p           = ModelPathUtils.ConvertUserVisiblePathToModelPath(dialog.tempFilePath);
            KeyBasedTreeEntriesLoadResults loadResults = new KeyBasedTreeEntriesLoadResults();

            ExternalResourceReference s = ExternalResourceReference.CreateLocalResource(this.docu, ExternalResourceTypes.BuiltInExternalResourceTypes.KeynoteTable, p, PathType.Absolute);
            Transaction t = new Transaction(this.docu, "Reload");

            t.Start();
            knTable.LoadFrom(s, loadResults);
            t.Commit();
            //ExternalResourceReference exRef = new ExternalResourceReference(
            //Transaction tr = new Transaction(this.docu, "Reload");
            //tr.Start();
        }
Exemple #5
0
        public static string GetKeynoteText(string keyValue, UIApplication uiapp)
        {
            KeyBasedTreeEntries kbte = GetKeynoteEntries(uiapp);

            IEnumerable <KeyBasedTreeEntry> keyValues;

            string keynoteText = null;

            keyValues = kbte.Where(k => k.Key.Equals(keyValue));

            foreach (KeynoteEntry k in keyValues)
            {
                keynoteText = k.KeynoteText;
            }
            if (keynoteText != "")
            {
                return(keynoteText);
            }
            else
            {
                return("MISSING");
            }
        }
Exemple #6
0
        //Dialog instantiation
        public FillRoomFinishesParameters(ExternalEvent exEvent, RequestHandler handler, UIApplication uiapp) // define o metodo FillRoomFinishesParameters com um argumento commandData do tipo ExternalCommandData
        {
            Document doc = uiapp.ActiveUIDocument.Document;                                                   // doc define o documento ativo na aplicacao

            uidoc = uiapp.ActiveUIDocument;                                                                   // define uidoc como a propriedade ActiveUIDocument de app

            //Get Levels for comboBoxLevels
            levels = GetLevels(uidoc);
            //List of levels names
            List <string> levelNames = new List <string>(levels.Keys);

            //GetRoom Project Parameters Data
            List <RoomProjectParametersData> projectParameters = GetRoomProjectParametersData(doc);

            InitializeComponent();

            m_Handler = handler;
            m_ExEvent = exEvent;

            comboBoxLevels.Enabled = true;

            foreach (System.Windows.Forms.TextBox textBox in Controls.OfType <System.Windows.Forms.TextBox>())
            {
                textBox.Enabled = true;
            }

            #region comboBoxLevels

            comboBoxLevels.Items.Insert(0, "Select Level");
            comboBoxLevels.SelectedItem = 0;
            comboBoxLevels.Text         = "Select Level";

            foreach (string i in levelNames)
            {
                comboBoxLevels.Items.AddRange(new object[] { i });
            }

            #endregion //comboBoxLevels

            #region Assembly Codes

            #region listBoxAssemblyCodes

            //Get Key Values from loaded Keynote
            KeyBasedTreeEntries kbte = accessRF.GetKeynoteEntries(uidoc);

            foreach (KeyBasedTreeEntry k in kbte)
            {
                string keyValue = k.Key;
                listBoxAssemblyCodes.Items.AddRange(new object[] { keyValue });
            }

            #endregion //listBoxAssemblyCodes

            #region textBoxes Assembly Codes

            textBoxFFAC.ReadOnly = true;
            textBoxFWAC.ReadOnly = true;
            textBoxCAC.ReadOnly  = true;

            #endregion //textBoxes Assembly Codes

            #endregion //Assembly Codes

            #region textBoxes Room Parameters

            textBoxFFK.ReadOnly = true;
            textBoxFFD.ReadOnly = true;
            textBoxFWK.ReadOnly = true;
            textBoxFWD.ReadOnly = true;
            textBoxCK.ReadOnly  = true;
            textBoxCD.ReadOnly  = true;

            foreach (RoomProjectParametersData p in projectParameters)
            {
                string pName = p.Name;
                listBoxKeynotes.Items.AddRange(new object[] { pName });
            }

            #endregion //textBoxes Room Parameters
        }