//------------------------------------------------------- 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); } }
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); } }