/// <summary> /// initialize the controller /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ObjectViewerForm_Load(object sender, EventArgs e) { // detailLevelComboBox detailLevelComboBox.SelectedIndex = (int)m_viewer.DetailLevel; // viewListBox viewListBox.DataSource = m_viewer.AllViews; viewListBox.DisplayMember = "Name"; viewListBox.SelectedItem = m_viewer.CurrentView; // physicalModelRadioButton and analyticalModelRadioButton physicalModelRadioButton.Checked = (m_viewer.DisplayKind == ObjectViewer.DisplayKinds.GeometryModel); analyticalModelRadioButton.Checked = (m_viewer.DisplayKind == ObjectViewer.DisplayKinds.AnalyticalModel); // viewDirectionComboBox viewDirectionComboBox.SelectedIndex = (int)Graphics3DData.ViewDirections.IsoMetric; // m_currentSketch m_currentSketch = m_viewer.CurrentSketch3D; m_currentSketch.DisplayBBox = new RectangleF(new PointF(0.0f, 0.0f), previewBox.Size); m_currentSketch.UpdateViewEvent += delegate { previewBox.Invalidate(); }; // parametersDataGridView parametersDataGridView.DataSource = m_paras; parametersDataGridView.Columns[0].Width = parametersDataGridView.Width / 2; parametersDataGridView.Columns[0].HeaderText = "Parameter Name"; parametersDataGridView.Columns[1].Width = parametersDataGridView.Width / 2; parametersDataGridView.Columns[1].HeaderText = "Value"; }
/// <summary> /// constructor /// </summary> /// <param name="viewer"></param> public ObjectViewerForm(ObjectViewer viewer) { InitializeComponent(); m_viewer = viewer; m_paras = viewer.Params; m_currentSketch = viewer.CurrentSketch3D; Application.AddMessageFilter(this); }
/// <summary> /// constructor /// </summary> public ObjectViewer() { UIDocument doc = Command.CommandData.Application.ActiveUIDocument; ElementSet selection = new ElementSet(); foreach (ElementId elementId in doc.Selection.GetElementIds()) { selection.Insert(doc.Document.GetElement(elementId)); } // only one element should be selected if (0 == selection.Size) { throw new ErrorMessageException("Please select an element."); } if (1 < selection.Size) { throw new ErrorMessageException("Please select only one element."); } // get selected element foreach (Element e in selection) { m_selected = e; } // get current view and all views m_currentView = doc.Document.ActiveView; FilteredElementIterator itor = (new FilteredElementCollector(doc.Document)).OfClass(typeof(View)).GetElementIterator(); itor.Reset(); while (itor.MoveNext()) { View view = itor.Current as View; // Skip view templates because they're invisible in project browser, invalid for geometry elements if (null != view && !view.IsTemplate) { m_allViews.Add(view); } } // create a instance of Sketch3D GeometryData geomFactory = new GeometryData(m_selected, m_currentView); m_currentSketch3D = new Sketch3D(geomFactory.Data3D, Graphics2DData.Empty); //get a instance of ParametersFactory and then use it to create Parameters ParasFactory parasFactory = new ParasFactory(m_selected); m_paras = parasFactory.CreateParas(); }
private Element m_selected; // selected element to display #endregion Fields #region Constructors /// <summary> /// constructor /// </summary> public ObjectViewer() { UIDocument doc = Command.CommandData.Application.ActiveUIDocument; ElementSet selection = doc.Selection.Elements; // only one element should be selected if (0 == selection.Size) { throw new ErrorMessageException("Please select an element."); } if (1 < selection.Size) { throw new ErrorMessageException("Please select only one element."); } // get selected element foreach (Element e in selection) { m_selected = e; } // get current view and all views m_currentView = doc.Document.ActiveView; FilteredElementIterator itor = (new FilteredElementCollector(doc.Document)).OfClass(typeof(View)).GetElementIterator(); itor.Reset(); while (itor.MoveNext()) { View view = itor.Current as View; // Skip view templates because they're invisible in project browser, invalid for geometry elements if (null != view && !view.IsTemplate) { m_allViews.Add(view); } } // create a instance of Sketch3D GeometryData geomFactory = new GeometryData(m_selected, m_currentView); m_currentSketch3D = new Sketch3D(geomFactory.Data3D, Graphics2DData.Empty); //get a instance of ParametersFactory and then use it to create Parameters ParasFactory parasFactory = new ParasFactory(m_selected); m_paras = parasFactory.CreateParas(); }