Load |
Creates a new LoadNature.
Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Parameters
- document Document
- The Document to which new load nature element will be added.
- name String
- The name of the load nature.
Return Value
LoadNatureThe newly created load nature element if successful, otherwise.

Exception | Condition |
---|---|
ArgumentException | The given name is not unique |
ArgumentNullException | A non-optional argument was null |

#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.ToString()));
return loadCombination;
}
#endregion
#endregion
#endregion
#endregion
#endregion
