/// <summary> /// constructor of CreateModelLineOptionsForm /// </summary> /// <param name="openingInfos">a list of OpeningInfo</param> /// /// <param name="selectOpening">current displayed (in preview) Opening</param> public CreateModelLineOptionsForm(List <OpeningInfo> openingInfos, OpeningInfo selectOpening) { InitializeComponent(); m_openingInfos = openingInfos; m_selectedOpeningInfo = selectOpening; }
/// <summary> /// constructor of CreateModelLineOptionsForm /// </summary> /// <param name="openingInfos">a list of OpeningInfo</param> /// /// <param name="selectOpening">current displayed (in preview) Opening</param> public CreateModelLineOptionsForm(List<OpeningInfo> openingInfos, OpeningInfo selectOpening) { InitializeComponent(); m_openingInfos = openingInfos; m_selectedOpeningInfo = selectOpening; }
private OpeningInfo m_selectedOpeningInfo; //current displayed (in preview) OpeningInfo private void OpeningForm_Load(object sender, EventArgs e) { this.OpeningListComboBox.DataSource = m_openingInfos; this.OpeningListComboBox.DisplayMember = "NameAndId"; m_selectedOpeningInfo = (OpeningInfo)this.OpeningListComboBox.SelectedItem; this.OpeningPropertyGrid.SelectedObject = m_selectedOpeningInfo.Property; }
/// <summary> /// Implement this method as an external command for Revit. /// </summary> /// <param name="commandData">An object that is passed to the external application /// which contains data related to the command, /// such as the application object and active view.</param> /// <param name="message">A message that can be set by the external application /// which will be displayed if a failure or cancellation is returned by /// the external command.</param> /// <param name="elements">A set of elements to which the external application /// can add elements that are to be highlighted in case of failure or cancellation.</param> /// <returns>Return the status of the external command. /// A result of Succeeded means that the API external method functioned as expected. /// Cancelled can be used to signify that the user cancelled the external operation /// at some point. Failure should be returned if the application is unable to proceed with /// the operation.</returns> public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements) { Transaction transaction = new Transaction(commandData.Application.ActiveUIDocument.Document, "External Tool"); try { transaction.Start(); Application app = commandData.Application.Application; bool haveOpening = false; //search Opening in Revit List <OpeningInfo> openingInfos = new List <OpeningInfo>(); FilteredElementIterator iter = (new FilteredElementCollector(commandData.Application.ActiveUIDocument.Document)).OfClass(typeof(Opening)).GetElementIterator(); iter.Reset(); while (iter.MoveNext()) { Object obj = iter.Current; if (obj is Opening) { haveOpening = true; Opening opening = obj as Opening; OpeningInfo openingInfo = new OpeningInfo(opening, commandData.Application); openingInfos.Add(openingInfo); } } if (!haveOpening) { message = "don't have opening in the project"; return(Autodesk.Revit.UI.Result.Cancelled); } //show dialogue using (OpeningForm openingForm = new OpeningForm(openingInfos)) { openingForm.ShowDialog(); } } catch (Exception e) { message = e.ToString(); return(Autodesk.Revit.UI.Result.Failed); } finally { transaction.Commit(); } return(Autodesk.Revit.UI.Result.Succeeded); }
/// <summary> /// Implement this method as an external command for Revit. /// </summary> /// <param name="commandData">An object that is passed to the external application /// which contains data related to the command, /// such as the application object and active view.</param> /// <param name="message">A message that can be set by the external application /// which will be displayed if a failure or cancellation is returned by /// the external command.</param> /// <param name="elements">A set of elements to which the external application /// can add elements that are to be highlighted in case of failure or cancellation.</param> /// <returns>Return the status of the external command. /// A result of Succeeded means that the API external method functioned as expected. /// Cancelled can be used to signify that the user cancelled the external operation /// at some point. Failure should be returned if the application is unable to proceed with /// the operation.</returns> public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements) { Transaction transaction = new Transaction(commandData.Application.ActiveUIDocument.Document, "External Tool"); try { transaction.Start(); Application app = commandData.Application.Application; bool haveOpening = false; //search Opening in Revit List<OpeningInfo> openingInfos = new List<OpeningInfo>(); FilteredElementIterator iter = (new FilteredElementCollector(commandData.Application.ActiveUIDocument.Document)).OfClass(typeof(Opening)).GetElementIterator(); iter.Reset(); while (iter.MoveNext()) { Object obj = iter.Current; if (obj is Opening) { haveOpening = true; Opening opening = obj as Opening; OpeningInfo openingInfo = new OpeningInfo(opening, commandData.Application); openingInfos.Add(openingInfo); } } if (!haveOpening) { message = "don't have opening in the project"; return Autodesk.Revit.UI.Result.Cancelled; } //show dialogue using (OpeningForm openingForm = new OpeningForm(openingInfos)) { openingForm.ShowDialog(); } } catch (Exception e) { message = e.ToString(); return Autodesk.Revit.UI.Result.Failed; } finally { transaction.Commit(); } return Autodesk.Revit.UI.Result.Succeeded; }
private void OpeningListComboBox_SelectedIndexChanged(object sender, EventArgs e) { m_selectedOpeningInfo = (OpeningInfo)this.OpeningListComboBox.SelectedItem; this.OpeningPropertyGrid.SelectedObject = m_selectedOpeningInfo.Property; this.PreviewPictureBox.Refresh(); }
private void OpeningForm_Load(object sender, EventArgs e) { this.OpeningListComboBox.DataSource = m_openingInfos; this.OpeningListComboBox.DisplayMember = "NameAndId"; m_selectedOpeningInfo = (OpeningInfo)this.OpeningListComboBox.SelectedItem; this.OpeningPropertyGrid.SelectedObject = m_selectedOpeningInfo.Property; }