Application: SampleCommandsSteelElements
Revit Platform: All
Revit Version: 2019.0
First Released For: 2019.0
Programming Language: C#
Skill Level: High
Category: Structure
Type: ExternalCommand

Subject: Sample commands for steel elements
Summary: 
Sample commands for steel elements. These API samples allow for creation, modification and deletion of steel elements.

Classes: 
Autodesk.Revit.UI.IExternalCommand
Autodesk.Revit.DB.Structure.StructuralConnectionHandler
Autodesk.Revit.DB.Structure.StructuralConnectionHandlerType
Autodesk.Revit.DB.Steel.SteelElementProperties
Autodesk.Revit.DB.Transaction
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.ElementId
Autodesk.Revit.DB.Reference
Autodesk.Revit.DB.Document
Autodesk.Revit.UI.Events
Autodesk.Revit.UI.UIDocument

Project Files: 
AddElementsToConnection.cs – command which adds elements to a structural connection element.
AddElementsToCustomConnection.cs – command which adds elements to a custom connection.
CreateAnchorPattern.cs – command which creates an anchor pattern.
CreateBoltPattern.cs - command which creates a bolt pattern.
CreateContourCut.cs - command which creates a contour cut modifier.
CreateCopeSkewed.cs - command which creates a cope modifier.
CreateCornerCut.cs - command which creates a corner cut modifier.
CreatePlate.cs - command which creates a plate element.
CreatePlateHole.cs - command which creates some holes in a plate element.
CreateShearStudPattern.cs - command which creates a shear stud pattern.
CreateShortening.cs - command which creates a shortening modifier on a structural framing or structural column.
CreateWeldPoint.cs - command which creates a weld.
DeleteConnection.cs - command which deletes a structural connection.
Functions.cs – this file contains some utilities methods.
RemoveElementsFromConnection.cs – command which removes elements from a structural connection.
RemoveSubelementsFromCustomConnection.cs – command which removes elements from a custom connection.
UpdateConnectionDetailedParameters.cs – command which reads detailed connection parameters
BackgroundCalculation.cs – command which shows how to check for background calculations and how to handle exceptions thrown when trying to start fabrication transaction during background calculations.

Description: 
This sample provides following functionalities:
•	How to create different kind of steel elements using Revit and Advance Steel API (plates, bolts, anchors, welds)
•	How to add different kind of modifiers on steel elements using Revit and Advance Steel API (shortening, contour cut, corner cut, holes)
•	How to add and remove elements from a custom connection
•	How to add and remove elements from a structural connection