Creates a new LoadCase.
Namespace: Autodesk.Revit.DB.StructureAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2016
Syntax
C# |
---|
public static LoadCase Create( Document document, string name, ElementId natureId, LoadCaseCategory loadCaseCategory ) |
Visual Basic |
---|
Public Shared Function Create ( _ document As Document, _ name As String, _ natureId As ElementId, _ loadCaseCategory As LoadCaseCategory _ ) As LoadCase |
Visual C++ |
---|
public: static LoadCase^ Create( Document^ document, String^ name, ElementId^ natureId, LoadCaseCategory loadCaseCategory ) |
Parameters
- document
- Type: Autodesk.Revit.DB..::..Document
The Document to which new load case element will be added.
- name
- Type: System..::..String
The name of the load case.
- natureId
- Type: Autodesk.Revit.DB..::..ElementId
The load nature ID.
- loadCaseCategory
- Type: Autodesk.Revit.DB.Structure..::..LoadCaseCategory
The predefined load case category.
Return Value
The newly created load case element if successful, nullNothingnullptra null reference (Nothing in Visual Basic) otherwise.
Remarks
This method is designed to create LoadCase that is associated with one of the predefined category.
Examples

#region Autodesk.Revit.DB.Structure.LoadUsage.Create(Autodesk.Revit.DB.Document,string) #region Autodesk.Revit.DB.Structure.LoadComponent.#ctor(Autodesk.Revit.DB.ElementId,System.Double) #region Autodesk.Revit.DB.Structure.LoadCombination.SetComponents(System.Collections.Generic.IList{Autodesk.Revit.DB.Structure.LoadComponent}) #region Autodesk.Revit.DB.Structure.LoadCombination.SetUsageIds(System.Collections.Generic.IList{Autodesk.Revit.DB.ElementId}) LoadCombination CreateLoadCombinationLoadCaseLoadUsageLoadNatureAndLoadComponent(Document document) { // Create a new load combination LoadCombination loadCombination = LoadCombination.Create(document, "DL1 + RAIN1", LoadCombinationType.Combination, LoadCombinationState.Ultimate); if (loadCombination == null) throw new Exception("Create new load combination failed."); // Get all existing LoadCase FilteredElementCollector collector = new FilteredElementCollector(document); ICollection<Element> collection = collector.OfClass(typeof(LoadCase)).ToElements(); // Find LoadCase "DL1" LoadCase case1 = null; foreach (Element e in collection) { LoadCase loadCase = e as LoadCase; if (loadCase.Name == "DL1") { case1 = loadCase; break; } } // Get all existing LoadNature collector = new FilteredElementCollector(document); collection = collector.OfClass(typeof(LoadNature)).ToElements(); // Find LoadNature "Dead" LoadNature nature1 = null; foreach (Element e in collection) { LoadNature loadNature = e as LoadNature; if (loadNature.Name == "Dead") { nature1 = loadNature; break; } } // Create LoadNature "Dead" if not exist if (nature1 == null) nature1 = LoadNature.Create(document, "Dead"); // Create LoadCase "DL1" if not exist if (case1 == null) case1 = LoadCase.Create(document, "DL1", nature1.Id, LoadCaseCategory.Dead); // Create LoadNature "Rain" LoadNature nature2 = LoadNature.Create(document, "Rain"); if (nature2 == null) throw new Exception("Create new load nature failed."); // Create LoadCase "RAIN1" LoadCase case2 = LoadCase.Create(document, "RAIN1", nature2.Id, LoadCaseCategory.Snow); if (case1 == null || case2 == null) throw new Exception("Create new load case failed."); // Create LoadComponents - they consist of LoadCases or nested LoadCombination and Factors List<LoadComponent> components = new List<LoadComponent>(); components.Add(new LoadComponent(case1.Id, 2.0)); components.Add(new LoadComponent(case2.Id, 1.5)); // Add components to combination loadCombination.SetComponents(components); // Create LoadUsages LoadUsage usage1 = LoadUsage.Create(document, "Frequent"); LoadUsage usage2 = LoadUsage.Create(document, "Rare"); if (usage1 == null || usage2 == null) throw new Exception("Create new load usage failed."); // Add load usages to combination loadCombination.SetUsageIds(new List<ElementId>() {usage1.Id, usage2.Id}); // Give the user some information TaskDialog.Show("Revit", string.Format("Load Combination ID='{0}' created successfully.", loadCombination.Id.IntegerValue)); return loadCombination; } #endregion #endregion #endregion #endregion

#Region "Autodesk.Revit.DB.Structure.LoadUsage.Create(Autodesk.Revit.DB.Document,string)" #Region "Autodesk.Revit.DB.Structure.LoadComponent.#ctor(Autodesk.Revit.DB.ElementId,System.Double)" #Region "Autodesk.Revit.DB.Structure.LoadCombination.SetComponents(System.Collections.Generic.IList{Autodesk.Revit.DB.Structure.LoadComponent})" #Region "Autodesk.Revit.DB.Structure.LoadCombination.SetUsageIds(System.Collections.Generic.IList{Autodesk.Revit.DB.ElementId})" Private Function CreateLoadCombinationLoadCaseLoadUsageLoadNatureAndLoadComponent(document As Document) As LoadCombination ' Create a new load combination Dim loadCombination__1 As LoadCombination = LoadCombination.Create(document, "DL1 + RAIN1", LoadCombinationType.Combination, LoadCombinationState.Ultimate) If loadCombination__1 Is Nothing Then Throw New Exception("Create new load combination failed.") End If ' Get all existing LoadCase Dim collector As New FilteredElementCollector(document) Dim collection As ICollection(Of Element) = collector.OfClass(GetType(LoadCase)).ToElements() ' Find LoadCase "DL1" Dim case1 As LoadCase = Nothing For Each e As Element In collection Dim loadCase__2 As LoadCase = TryCast(e, LoadCase) If loadCase__2.Name = "DL1" Then case1 = loadCase__2 Exit For End If Next ' Get all existing LoadNature collector = New FilteredElementCollector(document) collection = collector.OfClass(GetType(LoadNature)).ToElements() ' Find LoadNature "Dead" Dim nature1 As LoadNature = Nothing For Each e As Element In collection Dim loadNature__3 As LoadNature = TryCast(e, LoadNature) If loadNature__3.Name = "Dead" Then nature1 = loadNature__3 Exit For End If Next ' Create LoadNature "Dead" if not exist If nature1 Is Nothing Then nature1 = LoadNature.Create(document, "Dead") End If ' Create LoadCase "DL1" if not exist If case1 Is Nothing Then case1 = LoadCase.Create(document, "DL1", nature1.Id, LoadCaseCategory.Dead) End If ' Create LoadNature "Rain" Dim nature2 As LoadNature = LoadNature.Create(document, "Rain") If nature2 Is Nothing Then Throw New Exception("Create new load nature failed.") End If ' Create LoadCase "RAIN1" Dim case2 As LoadCase = LoadCase.Create(document, "RAIN1", nature2.Id, LoadCaseCategory.Snow) If case1 Is Nothing OrElse case2 Is Nothing Then Throw New Exception("Create new load case failed.") End If ' Create LoadComponents - they consist of LoadCases or nested LoadCombination and Factors Dim components As New List(Of LoadComponent)() components.Add(New LoadComponent(case1.Id, 2.0)) components.Add(New LoadComponent(case2.Id, 1.5)) ' Add components to combination loadCombination__1.SetComponents(components) ' Create LoadUsages Dim usage1 As LoadUsage = LoadUsage.Create(document, "Frequent") Dim usage2 As LoadUsage = LoadUsage.Create(document, "Rare") If usage1 Is Nothing OrElse usage2 Is Nothing Then Throw New Exception("Create new load usage failed.") End If ' Add load usages to combination loadCombination__1.SetUsageIds(New List(Of ElementId)() From { usage1.Id, usage2.Id }) ' Give the user some information TaskDialog.Show("Revit", String.Format("Load Combination ID='{0}' created successfully.", loadCombination__1.Id.IntegerValue)) Return loadCombination__1 End Function #End Region #End Region #End Region #End Region
Exceptions
Exception | Condition |
---|---|
Autodesk.Revit.Exceptions..::..ArgumentException | The given name is not unique. |
Autodesk.Revit.Exceptions..::..ArgumentNullException | A non-optional argument was NULL |
Autodesk.Revit.Exceptions..::..ArgumentOutOfRangeException | A value passed for an enumeration argument is not a member of that enumeration |