private void thickComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { int selectedIndex = ((System.Windows.Controls.ComboBox)sender).SelectedIndex; Autodesk.Revit.DB.Category selectedStyle = _lineStyles[selectedIndex]; thickCat = selectedStyle; }
public bool IsCommandAvailable(UIApplication applicationData, Autodesk.Revit.DB.CategorySet selectedCategories) { System.Collections.IEnumerator iterCategory = selectedCategories.GetEnumerator(); iterCategory.Reset(); while (iterCategory.MoveNext()) { Autodesk.Revit.DB.Category category = (Autodesk.Revit.DB.Category)(iterCategory.Current); if (category.Name == "Walls") { return(false); } } return(true); }
private void SettingsButton_Click(object sender, RoutedEventArgs e) { // Collect the categories Autodesk.Revit.DB.Category lineCat = _doc.Settings.Categories.get_Item(Autodesk.Revit.DB.BuiltInCategory.OST_Lines); Autodesk.Revit.DB.CategoryNameMap subCats = lineCat.SubCategories; List <Autodesk.Revit.DB.Category> lineStyles = new List <Autodesk.Revit.DB.Category>(); foreach (Autodesk.Revit.DB.Category style in subCats) { lineStyles.Add(style); } // Sort the linestyles lineStyles.Sort((x, y) => x.Name.CompareTo(y.Name)); SettingsForm form = new SettingsForm(lineStyles, _doc); form.ShowDialog(); }
public SettingsForm(List <Autodesk.Revit.DB.Category> lineStyles, Autodesk.Revit.DB.Document doc) { _lineStyles = lineStyles; _doc = doc; InitializeComponent(); // Get current elementIds int hairlineInt = Properties.Settings.Default.hairlineInt; int thinInt = Properties.Settings.Default.thinInt; int mediumInt = Properties.Settings.Default.mediumInt; int thickInt = Properties.Settings.Default.thickInt; bool reloadValuesOnly = Properties.Settings.Default.reloadValuesOnly; // Set the checkbox contentOnlyCheckBox.IsEnabled = false; contentOnlyCheckBox.Visibility = Visibility.Hidden; //contentOnlyCheckBox.IsChecked = reloadValuesOnly; // Hairline combobox hairLineComboBox.ItemsSource = _lineStyles; hairLineComboBox.DisplayMemberPath = "Name"; try { if (hairlineInt != -1) { Autodesk.Revit.DB.Element hairlineElem = _doc.GetElement(new Autodesk.Revit.DB.ElementId(hairlineInt)); for (int i = 0; i < lineStyles.Count; i++) { Autodesk.Revit.DB.Category cat = lineStyles[i]; if (cat.Name.Trim() == hairlineElem.Name.Trim()) { hairLineComboBox.SelectedIndex = i; break; } } } else { hairLineComboBox.SelectedIndex = 0; } } catch { hairLineComboBox.SelectedIndex = 0; } // Thin Combobox thinComboBox.ItemsSource = _lineStyles; thinComboBox.DisplayMemberPath = "Name"; try { if (thinInt != -1) { Autodesk.Revit.DB.Element thinElem = _doc.GetElement(new Autodesk.Revit.DB.ElementId(thinInt)); for (int i = 0; i < lineStyles.Count; i++) { Autodesk.Revit.DB.Category cat = lineStyles[i]; if (cat.Name.Trim() == thinElem.Name.Trim()) { thinComboBox.SelectedIndex = i; break; } else { thinComboBox.SelectedIndex = 0; } } } else { thinComboBox.SelectedIndex = 0; } } catch { thinComboBox.SelectedIndex = 0; } mediumComboBox.ItemsSource = _lineStyles; mediumComboBox.DisplayMemberPath = "Name"; try { if (mediumInt != -1) { Autodesk.Revit.DB.Element mediumElem = _doc.GetElement(new Autodesk.Revit.DB.ElementId(mediumInt)); for (int i = 0; i < lineStyles.Count; i++) { Autodesk.Revit.DB.Category cat = lineStyles[i]; if (cat.Name.Trim() == mediumElem.Name.Trim()) { mediumComboBox.SelectedIndex = i; break; } else { mediumComboBox.SelectedIndex = 0; } } } else { mediumComboBox.SelectedIndex = 0; } } catch { mediumComboBox.SelectedIndex = 0; } thickComboBox.ItemsSource = _lineStyles; thickComboBox.DisplayMemberPath = "Name"; try { if (thickInt != -1) { Autodesk.Revit.DB.Element thickElem = _doc.GetElement(new Autodesk.Revit.DB.ElementId(thickInt)); //Autodesk.Revit.UI.TaskDialog.Show("Test", "Thick ElementName: " + thickElem.Name); for (int i = 0; i < lineStyles.Count; i++) { Autodesk.Revit.DB.Category cat = lineStyles[i]; if (cat.Name.Trim() == thickElem.Name.Trim()) { thickComboBox.SelectedIndex = i; break; } else { thickComboBox.SelectedIndex = 0; } } } else { thickComboBox.SelectedIndex = 0; } } catch { thickComboBox.SelectedIndex = 0; } }