LoadCase.Create(Document, String, ElementId, LoadCaseCategory)
Public Class
ArgumentException
ArgumentNullException
ArgumentOutOfRangeException
Creates a new LoadCase.
Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public static LoadCase Create( Document document, string name, ElementId natureId, LoadCaseCategory loadCaseCategory)
Parameters
document Document
The Document to which new load case element will be added.
nameString
The name of the load case.
natureId ElementId
The load nature ID.
loadCaseCategory LoadCaseCategory
The predefined load case category.
Return Value
LoadCase
The newly created load case element if successful, . otherwise.
Exceptions
Exception
Condition
ArgumentException
The given name is not unique.
ArgumentNullException
A non-optional argument was null
ArgumentOutOfRangeException
A value passed for an enumeration argument is not a member of that enumeration
Remarks
This method is designed to create LoadCase that is associated with one of the predefined category.
Example
#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.ToString()));
return loadCombination;}#endregion#endregion#endregion#endregion