Creates a non rectangular profile wall within the project using the specified wall type and normal vector.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 26.4.0.0 (26.4.0.0)
Syntax
C#
public static Wall Create(
Document document,
IList<Curve> profile,
ElementId wallTypeId,
ElementId levelId,
bool structural,
XYZ normal
)
Parameters
- document Document
-
The document in which the new wall is created.
- profile IList<Curve>
-
An array of planar curves that represent the vertical profile of the wall.
- wallTypeId ElementId
-
Id of the wall type to be used by the new wall instead of the default type.
- levelId ElementId
-
Id of the level on which the wall is to be placed.
- structural Boolean
-
If set, specifies that the wall is structural in nature.
- normal XYZ
-
A vector that must be perpendicular to the profile which dictates which side of the wall is considered to be inside and outside.
Return Value
Wall
If successful a new wall object within the project.
Exceptions
Example
C#
public Wall CreateWallUsingProfile(Autodesk.Revit.DB.Document document, Level level, WallType wallType)
{
XYZ first = new XYZ(0, 0, 0);
XYZ second = new XYZ(20, 0, 0);
XYZ third = new XYZ(20, 0, 15);
XYZ fourth = new XYZ(0, 0, 15);
IList<Curve> profile = new List<Curve>();
Autodesk.Revit.Creation.Application appCreation = document.Application.Create;
profile.Add(Line.CreateBound(first, second));
profile.Add(Line.CreateBound(second, third));
profile.Add(Line.CreateBound(third, fourth));
profile.Add(Line.CreateBound(fourth, first));
XYZ normal = new XYZ(0, 1, 0);
return Wall.Create(document, profile, wallType.Id, level.Id, true, normal);
}
VB
Public Function CreateWallUsingProfile(document As Autodesk.Revit.DB.Document, level As Level, wallType As WallType) As Wall
Dim first As New XYZ(0, 0, 0)
Dim second As New XYZ(20, 0, 0)
Dim third As New XYZ(20, 0, 15)
Dim fourth As New XYZ(0, 0, 15)
Dim profile As IList(Of Curve) = New List(Of Curve)()
Dim appCreation As Autodesk.Revit.Creation.Application = document.Application.Create
profile.Add(Line.CreateBound(first, second))
profile.Add(Line.CreateBound(second, third))
profile.Add(Line.CreateBound(third, fourth))
profile.Add(Line.CreateBound(fourth, first))
Dim normal As New XYZ(0, 1, 0)
Return Wall.Create(document, profile, wallType.Id, level.Id, True, normal)
End Function
See Also
Reference