Create Method


Creates a new instance of a divided surface with a default layout.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 22.0.0.0 (22.1.0.0)
Since: 2014

Syntax

C#
public static DividedSurface Create(
	Document document,
	Reference faceReference
)
Visual Basic
Public Shared Function Create ( _
	document As Document, _
	faceReference As Reference _
) As DividedSurface
Visual C++
public:
static DividedSurface^ Create(
	Document^ document, 
	Reference^ faceReference
)

Parameters

document
Type: Autodesk.Revit.DB Document
The document.
faceReference
Type: Autodesk.Revit.DB Reference
Reference that represents a face.

Return Value

The newly created divided surface.

Examples

Copy C#
public void DivideSurface(Document document, Form form)
{
    Autodesk.Revit.ApplicationServices.Application application = document.Application;
    Options opt = application.Create.NewGeometryOptions();
    opt.ComputeReferences = true;

    Autodesk.Revit.DB.GeometryElement geomElem = form.get_Geometry(opt);
    foreach (GeometryObject geomObj in geomElem)
    {
        Solid solid = geomObj as Solid;
        foreach (Face face in solid.Faces)
        {
            if (face.Reference != null)
            {
                DividedSurface ds = DividedSurface.Create(document,face.Reference);
                // create a divided surface with fixed number of U and V grid lines
                SpacingRule srU = ds.USpacingRule;
                srU.SetLayoutFixedNumber(16, SpacingRuleJustification.Center, 0, 0);

                SpacingRule srV = ds.VSpacingRule;
                srV.SetLayoutFixedNumber(24, SpacingRuleJustification.Center, 0, 0);

                break;  // just divide one face of form
            }
        }
    }
}
Copy VB.NET
Public Sub DivideSurface(document As Document, form As Form)
    Dim application As Autodesk.Revit.ApplicationServices.Application = document.Application
    Dim opt As Options = application.Create.NewGeometryOptions()
    opt.ComputeReferences = True

    Dim geomElem As Autodesk.Revit.DB.GeometryElement = form.Geometry(opt)
    For Each geomObj As GeometryObject In geomElem
        Dim solid As Solid = TryCast(geomObj, Solid)
        For Each face As Face In solid.Faces
            If face.Reference IsNot Nothing Then
                Dim ds As DividedSurface = DividedSurface.Create(document, face.Reference)
                ' create a divided surface with fixed number of U and V grid lines
                Dim srU As SpacingRule = ds.USpacingRule
                srU.SetLayoutFixedNumber(16, SpacingRuleJustification.Center, 0, 0)

                Dim srV As SpacingRule = ds.VSpacingRule
                srV.SetLayoutFixedNumber(24, SpacingRuleJustification.Center, 0, 0)

                ' just divide one face of form
                Exit For
            End If
        Next
    Next
End Sub

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException The document does not allow creation of a divided surface. -or- Reference is unstable import element -or- Reference does not represent a face -or- Reference already hosts a divided surface
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was null
Autodesk.Revit.Exceptions InvalidOperationException 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).
Autodesk.Revit.Exceptions ModificationForbiddenException 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.Exceptions ModificationOutsideTransactionException The document has no open transaction.

See Also