Creates a new instance of a divided surface with a default layout.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.4.0.0 (26.4.0.0)
Syntax
C#
public static DividedSurface Create( Document document, Reference faceReference )
Parameters
Return Value
DividedSurfaceThe newly created divided surface.
Exceptions
| Exception | Condition |
|---|---|
| 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 |
| ArgumentNullException | A non-optional argument was null |
| 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). |
| 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. |
| ModificationOutsideTransactionException | The document has no open transaction. |
Example
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 } } } }
VB
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
