Create Method (Document, Curve, ElementId, ElementId, Double, Double, Boolean, Boolean)


Creates a new rectangular profile wall within the project using the specified wall type, height, and offset.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 24.0.0.0 (24.0.0.0)

Syntax

C#
public static Wall Create(
	Document document,
	Curve curve,
	ElementId wallTypeId,
	ElementId levelId,
	double height,
	double offset,
	bool flip,
	bool structural
)
Visual Basic
Public Shared Function Create ( _
	document As Document, _
	curve As Curve, _
	wallTypeId As ElementId, _
	levelId As ElementId, _
	height As Double, _
	offset As Double, _
	flip As Boolean, _
	structural As Boolean _
) As Wall
Visual C++
public:
static Wall^ Create(
	Document^ document, 
	Curve^ curve, 
	ElementId^ wallTypeId, 
	ElementId^ levelId, 
	double height, 
	double offset, 
	bool flip, 
	bool structural
)

Parameters

document
Type: Autodesk.Revit.DBDocument
The document in which the new wall is created.
curve
Type: Autodesk.Revit.DBCurve
A curve representing the base line of the wall.
wallTypeId
Type: Autodesk.Revit.DBElementId
Id of the wall type to be used by the new wall instead of the default type.
levelId
Type: Autodesk.Revit.DBElementId
Id of the level on which the wall is to be placed.
height
Type: SystemDouble
The height of the wall other than the default height.
offset
Type: SystemDouble
Modifies the wall's Base Offset parameter to determine its vertical placement.
flip
Type: SystemBoolean
Change which side of the wall is considered to be the inside and outside of the wall.
structural
Type: SystemBoolean
If set, specifies that the wall is structural in nature.

Return Value

If successful a new wall object within the project.

Examples

CopyC#
public Wall CreateWallUsingCurve2(Autodesk.Revit.DB.Document document, Level level, WallType wallType)
{
    // Build a location line for the wall creation
    XYZ start = new XYZ(0, 0, 0);
    XYZ end = new XYZ(10, 10, 0);
    Line geomLine = Line.CreateBound(start, end);

    // Determine the other parameters
    double height = 15;
    double offset = 3;

    // Create a wall using the location line and wall type
    return Wall.Create(document, geomLine, wallType.Id, level.Id, height, offset, true, true);
}
CopyVB.NET
Public Function CreateWallUsingCurve2(document As Autodesk.Revit.DB.Document, level As Level, wallType As WallType) As Wall
    ' Build a location line for the wall creation
    Dim start As New XYZ(0, 0, 0)
    Dim [end] As New XYZ(10, 10, 0)
    Dim geomLine As Line = Line.CreateBound(start, [end])

    ' Determine the other parameters
    Dim height As Double = 15
    Dim offset As Double = 3

    ' Create a wall using the location line and wall type
    Return Wall.Create(document, geomLine, wallType.Id, level.Id, height, offset, _
        True, True)
End Function

Exceptions

ExceptionCondition
Autodesk.Revit.ExceptionsArgumentException The curve argument is not valid for wall creation.
Autodesk.Revit.ExceptionsArgumentNullException A non-optional argument was null
Autodesk.Revit.ExceptionsArgumentOutOfRangeException The given value for height must be greater than 0 and no more than 30000 feet. -or- The given value for offset must be no more than 30000 feet in absolute value.
Autodesk.Revit.ExceptionsModificationForbiddenException The document is in failure mode: an operation has failed, and Revit requires the user to either cancel the operation or fix the problem (usually by deleting certain elements). -or- The document is being loaded, or is in the midst of another sensitive process.
Autodesk.Revit.ExceptionsModificationOutsideTransactionException The document has no open transaction.

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →