Esempio n. 1
0
        private void Select_Host(object sender, RoutedEventArgs e)
        {
            try
            {
                Selection            selection     = uidoc.Selection;
                SelectElementsFilter conduitFilter = new SelectElementsFilter(mySource.my_select_host_filter);
                var element = doc.GetElement(selection.PickObject(ObjectType.Element, conduitFilter, "Please select floor or wall element"));
                if (element != null)
                {
                    host.Content = element.Name;
                    host.ToolTip = element.UniqueId;

                    host_of_opening    = element;
                    level.SelectedItem = my_level_data.First(x => x.single_value == doc.GetElement(element.LevelId).Name);
                    level.IsEnabled    = true;

                    level_data item = (level_data)level.SelectedItem;
                    elevation.Text = Math.Round(item.elevation * myAll_Data.list_unit_value_data[2], mySource.lam_tron).ToString();

                    Update_UK_MA();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 2
0
        //--------------------------------------------------------------------------------------------------------------------------------------------------------------
        private void Select_Element_Update(object sender, RoutedEventArgs e)
        {
            try
            {
                Selection            selection     = uidoc.Selection;
                SelectElementsFilter conduitFilter = new SelectElementsFilter(mySource.my_select_filter);
                element = doc.GetElement(selection.PickObject(ObjectType.Element, conduitFilter, "Please select opening element")) as FamilyInstance;
                if (element != null)
                {
                    host.Content = element.Host.Name;
                    host.ToolTip = element.Host.UniqueId;

                    host_of_opening = element.Host;
                    if (new FilteredElementCollector(doc).OfClass(typeof(FamilySymbol)).Where(x => x.Name == host_of_opening.Name).ToList().Count() > 0)
                    {
                        level.SelectedItem = my_level_data.First(x => x.single_value == element.get_Parameter(BuiltInParameter.INSTANCE_SCHEDULE_ONLY_LEVEL_PARAM).AsValueString());
                        if (element.get_Parameter(BuiltInParameter.INSTANCE_SCHEDULE_ONLY_LEVEL_PARAM).IsReadOnly == true)
                        {
                            level.IsEnabled = false;
                        }
                        else
                        {
                            level.IsEnabled = true;
                        }
                    }
                    else
                    {
                        level.SelectedItem = my_level_data.First(x => x.single_value == doc.GetElement(element.LevelId).Name);
                        if (element.get_Parameter(BuiltInParameter.FAMILY_LEVEL_PARAM).IsReadOnly == true)
                        {
                            level.IsEnabled = false;
                        }
                        else
                        {
                            level.IsEnabled = true;
                        }
                    }

                    level_data item = (level_data)level.SelectedItem;
                    if (element.Category.Name == "Doors")
                    {
                        elevation.Text = Math.Round((item.elevation + element.get_Parameter(BuiltInParameter.INSTANCE_SILL_HEIGHT_PARAM).AsDouble()) * myAll_Data.list_unit_value_data[2], mySource.lam_tron).ToString();
                        door.IsChecked = true;
                    }
                    else
                    {
                        elevation.Text          = Math.Round((item.elevation + element.get_Parameter(BuiltInParameter.INSTANCE_ELEVATION_PARAM).AsDouble()) * myAll_Data.list_unit_value_data[2], mySource.lam_tron).ToString();
                        generic_model.IsChecked = true;
                    }

                    Get_Family();
                    family.SelectedItem = my_family_data.First(x => x.single_value == element.get_Parameter(BuiltInParameter.ELEM_FAMILY_PARAM).AsValueString());

                    Get_Type();
                    type.SelectedItem = my_type_data.First(x => x.single_value == element.get_Parameter(BuiltInParameter.ELEM_TYPE_PARAM).AsValueString());

                    Get_Parameter(element);

                    Update_UK_MA();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }