Creates a new LoadCombination.
Namespace: Autodesk.Revit.DB.StructureAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2016
Syntax
C# |
---|
public static LoadCombination Create( Document document, string name, LoadCombinationType type, LoadCombinationState state ) |
Visual Basic |
---|
Public Shared Function Create ( _ document As Document, _ name As String, _ type As LoadCombinationType, _ state As LoadCombinationState _ ) As LoadCombination |
Visual C++ |
---|
public: static LoadCombination^ Create( Document^ document, String^ name, LoadCombinationType type, LoadCombinationState state ) |
Parameters
- document
- Type: Autodesk.Revit.DB..::..Document
The Document to which new load combination element will be added.
- name
- Type: System..::..String
The name of the load combination.
- type
- Type: Autodesk.Revit.DB.Structure..::..LoadCombinationType
The type of the load combination.
- state
- Type: Autodesk.Revit.DB.Structure..::..LoadCombinationState
The state of the load combination.
Return Value
The newly created load combination element if successful, nullNothingnullptra null reference (Nothing in Visual Basic) otherwise.
Examples

#region Autodesk.Revit.DB.Structure.LoadNature.Create(Autodesk.Revit.DB.Document,string) #region Autodesk.Revit.DB.Structure.LoadCase.Create(Autodesk.Revit.DB.Document,string,Autodesk.Revit.DB.ElementId,Autodesk.Revit.DB.Structure.LoadCaseCategory) #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 #endregion #endregion

#Region "Autodesk.Revit.DB.Structure.LoadNature.Create(Autodesk.Revit.DB.Document,string)" #Region "Autodesk.Revit.DB.Structure.LoadCase.Create(Autodesk.Revit.DB.Document,string,Autodesk.Revit.DB.ElementId,Autodesk.Revit.DB.Structure.LoadCaseCategory)" #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 #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 |