//-------------------------------------------------------
        private void Update_All_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ObservableCollection <Element_Change> element_Changes = new ObservableCollection <Element_Change>();
                for (int i = 0; i < data_update.Items.Count; i++)
                {
                    Element_Change item = (Element_Change)data_update.Items[i];
                    if (item.changeORignore && item.color == Source.color_not_change)
                    {
                        element_Changes.Add(item);
                        item.color = Source.color_used_change;
                    }
                }
                my_change.element_Changes   = element_Changes;
                my_change.my_element_change = my_element_change;
                my_change.doc_link          = doc_link;
                my_change.data_update       = data_update;
                e_change.Raise();

                data_update.Items.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        //-------------------------------------------------------
        private void Update_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int index = 0;
                index = data_update.SelectedIndex;

                Element_Change item = (Element_Change)data_update.Items[index];
                if (item.changeORignore && item.color == Source.color_not_change)
                {
                    ObservableCollection <Element_Change> element_Changes = new ObservableCollection <Element_Change>();
                    element_Changes.Add(item);

                    my_change.element_Changes   = element_Changes;
                    my_change.my_element_change = my_element_change;
                    my_change.doc_link          = doc_link;
                    my_change.data_update       = data_update;
                    my_change.link_file         = link_file;
                    e_change.Raise();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 //-------------------------------------------------------
 private void High_Light_Click(object sender, MouseButtonEventArgs e)
 {
     try
     {
         if (data_update.SelectedItem != null)
         {
             Element_Change item = (Element_Change)data_update.SelectedItem;
             my_forcus.item     = item;
             my_change.doc_link = doc_link;
             e_forcus.Raise();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemple #4
0
        void Focus(UIApplication uiapp, Document doc, Element_Change item)
        {
            try
            {
                BoundingBoxXYZ boundingBoxXYZ = new BoundingBoxXYZ();
                ResetView(uiapp, doc);
                double a = 2;
                if (item.element != null && item.element_link != null)
                {
                    BoundingBoxXYZ boundingbox_1 = item.element.get_BoundingBox(null);
                    BoundingBoxXYZ boundingbox_2 = item.element_link.get_BoundingBox(null);

                    var x_1_min = boundingbox_1.Min.X;
                    var y_1_min = boundingbox_1.Min.Y;
                    var z_1_min = boundingbox_1.Min.Z;

                    var x_2_min = boundingbox_2.Min.X;
                    var y_2_min = boundingbox_2.Min.Y;
                    var z_2_min = boundingbox_2.Min.Z;

                    XYZ min = new XYZ(Math.Max(x_1_min, x_2_min) - a, Math.Max(y_1_min, y_2_min) - a, Math.Max(z_1_min, z_2_min) - a);

                    var x_1_max = boundingbox_1.Max.X;
                    var y_1_max = boundingbox_1.Max.Y;
                    var z_1_max = boundingbox_1.Max.Z;

                    var x_2_max = boundingbox_2.Max.X;
                    var y_2_max = boundingbox_2.Max.Y;
                    var z_2_max = boundingbox_2.Max.Z;

                    XYZ max = new XYZ(Math.Min(x_1_max, x_2_max) + a, Math.Min(y_1_max, y_2_max) + a, Math.Min(z_1_max, z_2_max) + a);

                    boundingBoxXYZ.Min = min;
                    boundingBoxXYZ.Max = max;
                }
                else if (item.element != null && item.element_link == null)
                {
                    BoundingBoxXYZ boundingbox_1 = item.element.get_BoundingBox(null);

                    XYZ min = new XYZ(boundingbox_1.Min.X - a, boundingbox_1.Min.Y - a, boundingbox_1.Min.Z - a);
                    XYZ max = new XYZ(boundingbox_1.Max.X + a, boundingbox_1.Max.Y + a, boundingbox_1.Max.Z + a);

                    boundingBoxXYZ.Min = min;
                    boundingBoxXYZ.Max = max;
                }
                else if (item.element == null && item.element_link != null)
                {
                    BoundingBoxXYZ boundingbox_1 = item.element_link.get_BoundingBox(null);

                    XYZ min = new XYZ(boundingbox_1.Min.X - a, boundingbox_1.Min.Y - a, boundingbox_1.Min.Z - a);
                    XYZ max = new XYZ(boundingbox_1.Max.X + a, boundingbox_1.Max.Y + a, boundingbox_1.Max.Z + a);

                    boundingBoxXYZ.Min = min;
                    boundingBoxXYZ.Max = max;
                }

                View3D view = doc.ActiveView as View3D;
                view.SetSectionBox(boundingBoxXYZ);

                var UIView = uiapp.ActiveUIDocument.GetOpenUIViews();
                foreach (var view1 in UIView)
                {
                    if (view1.ViewId == view.Id)
                    {
                        view1.ZoomAndCenterRectangle(boundingBoxXYZ.Min, boundingBoxXYZ.Max);
                    }
                }

                Selection select = uiapp.ActiveUIDocument.Selection;
                if (item.element != null)
                {
                    select.SetElementIds(new List <ElementId>()
                    {
                        item.element.Id
                    });
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }