Revit.SDK.Samples.DoorSwing.CS.DoorSwingData.DeleteTempDoorInstances C# (CSharp) Method

DeleteTempDoorInstances() public method

Delete temporarily created door instances which are used to retrieve geometry. Retrieved geometry will shown to users. So they can initialize door opening parameter more visually.
public DeleteTempDoorInstances ( ) : void
return void
        public void DeleteTempDoorInstances()
        {
            for (int i = 0; i < m_doorFamilies.Count; i++)
             {
            m_doorFamilies[i].DeleteTempDoorInstance();
             }
        }

Usage Example

Exemplo n.º 1
0
        /// <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,
                                                ElementSet elements)
        {
            Autodesk.Revit.UI.Result returnCode = Autodesk.Revit.UI.Result.Cancelled;

            Transaction tran = new Transaction(commandData.Application.ActiveUIDocument.Document, "Initialize Command");

            tran.Start();

            try
            {
                // one instance of DoorSwingData class.
                DoorSwingData databuffer = new DoorSwingData(commandData.Application);

                using (InitializeForm initForm = new InitializeForm(databuffer))
                {
                    // Show UI
                    DialogResult dialogResult = initForm.ShowDialog();

                    if (DialogResult.OK == dialogResult)
                    {
                        databuffer.DeleteTempDoorInstances();

                        // update door type's opening feature based on family's actual geometry and
                        // country's standard.
                        databuffer.UpdateDoorFamiliesOpeningFeature();

                        // update each door instance's Opening feature and internal door flag
                        returnCode = DoorSwingData.UpdateDoorsInfo(commandData.Application.ActiveUIDocument.Document, false, true, ref message);
                    }
                }
            }
            catch (Exception ex)
            {
                // if there is anything wrong, give error information and return failed.
                message    = ex.Message;
                returnCode = Autodesk.Revit.UI.Result.Failed;
            }

            if (Autodesk.Revit.UI.Result.Succeeded == returnCode)
            {
                tran.Commit();
            }
            else
            {
                tran.RollBack();
            }
            return(returnCode);
        }
All Usage Examples Of Revit.SDK.Samples.DoorSwing.CS.DoorSwingData::DeleteTempDoorInstances