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); }
public static KeyBasedTreeEntries GetKeynoteEntries(UIApplication uiapp) { Document doc = uiapp.ActiveUIDocument.Document; KeynoteTable Kt = KeynoteTable.GetKeynoteTable(doc); KeyBasedTreeEntries kbte = Kt.GetKeyBasedTreeEntries(); return(kbte); }
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(); }
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"); } }
//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 }