LoadCase.Create(Document, String, ElementId, LoadCaseCategory)
Method
Description:
Creates a new LoadCase.
Creates a new LoadCase.
Remarks:
This method is designed to create LoadCase that is associated with one of the predefined category.
This method is designed to create LoadCase that is associated with one of the predefined category.
Syntax
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.ToString()));
return loadCombination;
}
#endregion
#endregion
#endregion
#endregion
Parameters
Parameter | Type | Description |
---|---|---|
document | Document | The Document to which new load case element will be added. |
name | String | The name of the load case. |
natureId | ElementId | The load nature ID. |
loadCaseCategory | LoadCaseCategory | The predefined load case category. |
Return Value
Type | Description |
---|---|
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 |