LoadCaseCreate(Document, String, ElementId, LoadCaseCategory) Method |
Creates a new LoadCase.
Namespace: Autodesk.Revit.DB.StructureAssembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntaxpublic static LoadCase Create(
Document document,
string name,
ElementId natureId,
LoadCaseCategory loadCaseCategory
)
Public Shared Function Create (
document As Document,
name As String,
natureId As ElementId,
loadCaseCategory As LoadCaseCategory
) As LoadCase
public:
static LoadCase^ Create(
Document^ document,
String^ name,
ElementId^ natureId,
LoadCaseCategory loadCaseCategory
)
static member Create :
document : Document *
name : string *
natureId : ElementId *
loadCaseCategory : LoadCaseCategory -> LoadCase
Parameters
- 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
LoadCase
The newly created load case element if successful,
otherwise.
Exceptions
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)
{
LoadCombination loadCombination = LoadCombination.Create(document, "DL1 + RAIN1", LoadCombinationType.Combination, LoadCombinationState.Ultimate);
if (loadCombination == null)
throw new Exception("Create new load combination failed.");
FilteredElementCollector collector = new FilteredElementCollector(document);
ICollection<Element> collection = collector.OfClass(typeof(LoadCase)).ToElements();
LoadCase case1 = null;
foreach (Element e in collection)
{
LoadCase loadCase = e as LoadCase;
if (loadCase.Name == "DL1")
{
case1 = loadCase;
break;
}
}
collector = new FilteredElementCollector(document);
collection = collector.OfClass(typeof(LoadNature)).ToElements();
LoadNature nature1 = null;
foreach (Element e in collection)
{
LoadNature loadNature = e as LoadNature;
if (loadNature.Name == "Dead")
{
nature1 = loadNature;
break;
}
}
if (nature1 == null)
nature1 = LoadNature.Create(document, "Dead");
if (case1 == null)
case1 = LoadCase.Create(document, "DL1", nature1.Id, LoadCaseCategory.Dead);
LoadNature nature2 = LoadNature.Create(document, "Rain");
if (nature2 == null)
throw new Exception("Create new load nature failed.");
LoadCase case2 = LoadCase.Create(document, "RAIN1", nature2.Id, LoadCaseCategory.Snow);
if (case1 == null || case2 == null)
throw new Exception("Create new load case failed.");
List<LoadComponent> components = new List<LoadComponent>();
components.Add(new LoadComponent(case1.Id, 2.0));
components.Add(new LoadComponent(case2.Id, 1.5));
loadCombination.SetComponents(components);
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.");
loadCombination.SetUsageIds(new List<ElementId>() {usage1.Id, usage2.Id});
TaskDialog.Show("Revit", string.Format("Load Combination ID='{0}' created successfully.", loadCombination.Id.ToString()));
return loadCombination;
}
#endregion
#endregion
#endregion
#endregion
#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
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
Dim collector As New FilteredElementCollector(document)
Dim collection As ICollection(Of Element) = collector.OfClass(GetType(LoadCase)).ToElements()
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
collector = New FilteredElementCollector(document)
collection = collector.OfClass(GetType(LoadNature)).ToElements()
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
If nature1 Is Nothing Then
nature1 = LoadNature.Create(document, "Dead")
End If
If case1 Is Nothing Then
case1 = LoadCase.Create(document, "DL1", nature1.Id, LoadCaseCategory.Dead)
End If
Dim nature2 As LoadNature = LoadNature.Create(document, "Rain")
If nature2 Is Nothing Then
Throw New Exception("Create new load nature failed.")
End If
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
Dim components As New List(Of LoadComponent)()
components.Add(New LoadComponent(case1.Id, 2.0))
components.Add(New LoadComponent(case2.Id, 1.5))
loadCombination__1.SetComponents(components)
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
loadCombination__1.SetUsageIds(New List(Of ElementId)() From {
usage1.Id,
usage2.Id
})
TaskDialog.Show("Revit", String.Format(, loadCombination__1.Id.ToString()))
Return loadCombination__1
End Function
#End Region
#End Region
#End Region
#End Region
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also