LoadComponent
Public Constructor
ArgumentNullException
Constructs a new instance of a LoadComponent. The load case or combination id. The load case or combination factor.
Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public LoadComponent( ElementId loadCaseOrCombinationId, double factor)Parameters
loadCaseOrCombinationId ElementId
factorDouble
Exceptions
Exception
Condition
ArgumentNullException
A non-optional argument was null
Example
#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