Documentation

Support

Asset Transformer SDK


User Manual

Python API

C# API

Changelog

Discussions

Asset Transformer SDK

CADInterface

Class
Read time 35 minutesLast updated a day ago

Inheritance
Inherited Members
Namespace: UnityEngine.Pixyz.CAD
public class CADInterface : Interface

Methods

GetLastError

public static string GetLastError()
Returns

Type

Description

string

ConfigureFunctionLogger

[HandleProcessCorruptedStateExceptions]public void ConfigureFunctionLogger(string functionName, bool enableFunction, bool enableParameters, bool enableExecutionTime)
Parameters

Type

Name

Description

stringfunctionName
boolenableFunction
boolenableParameters
boolenableExecutionTime

GetPrecision

Get the CAD precision.
[HandleProcessCorruptedStateExceptions]public double GetPrecision()
Returns

Type

Description

double

GetUnitLength

Get the CAD unity length property.
[HandleProcessCorruptedStateExceptions]public double GetUnitLength()
Returns

Type

Description

double

SetUnitLength

Set the CAD unity length property.
[HandleProcessCorruptedStateExceptions]public void SetUnitLength(double precision)
Parameters

Type

Name

Description

doubleprecisionUnit length.

SolidIntersection

Perform boolean operation intersection on two bodies (A ^ B).
[HandleProcessCorruptedStateExceptions]public BodyList SolidIntersection(uint A, uint B)
Parameters

Type

Name

Description

uintAThe first body.
uintBThe second body.
Returns

Type

Description

BodyList

SolidSubtraction

Perform boolean operation subtraction on two bodies (A - B).
[HandleProcessCorruptedStateExceptions]public BodyList SolidSubtraction(uint A, uint B)
Parameters

Type

Name

Description

uintAThe first body.
uintBThe second body.
Returns

Type

Description

BodyList

SolidUnion

Perform boolean operation union on two bodies (A + B).
[HandleProcessCorruptedStateExceptions]public BodyList SolidUnion(uint A, uint B)
Parameters

Type

Name

Description

uintAThe first body.
uintBThe second body.
Returns

Type

Description

BodyList

CreateBezierCurve

Create a Bezier curve.
[HandleProcessCorruptedStateExceptions]public uint CreateBezierCurve(Point3List poles)
Parameters

Type

Name

Description

Point3ListpolesPoles list.
Returns

Type

Description

uint

CreateCircleCurve

Create a new circle.
[HandleProcessCorruptedStateExceptions]public uint CreateCircleCurve(double radius, Matrix4 matrix)
Parameters

Type

Name

Description

doubleradiusCircle radius.
Matrix4matrixTransformation matrix.
Returns

Type

Description

uint

CreateCompositeCurve

Create a composite curve from a list of limited curves.
[HandleProcessCorruptedStateExceptions]public uint CreateCompositeCurve(CurveList CurveList)
Parameters

Type

Name

Description

CurveListCurveListList of limited curves.
Returns

Type

Description

uint

CreateCosinusCurve

Create a cosinus curve.
[HandleProcessCorruptedStateExceptions]public uint CreateCosinusCurve(double Amplitude, double Offset, double Period, Matrix4 matrix)
Parameters

Type

Name

Description

doubleAmplitudeCosinus amplitude.
doubleOffsetCosinus offset.
doublePeriodCosinus period.
Matrix4matrixTransformation matrix.
Returns

Type

Description

uint

CreateEllipseCurve

Create an ellipse curve.
[HandleProcessCorruptedStateExceptions]public uint CreateEllipseCurve(double URadius, double VRadius, Matrix4 matrix)
Parameters

Type

Name

Description

doubleURadiusEllipse radius in u direction.
doubleVRadiusEllipse radius in v direction.
Matrix4matrixTransformation matrix.
Returns

Type

Description

uint

CreateHelixCurve

Create an helix curve.
[HandleProcessCorruptedStateExceptions]public uint CreateHelixCurve(double radius, double pitch, Matrix4 matrix, bool trigonometrixOrientation = true)
Parameters

Type

Name

Description

doubleradiusRadius of the helix.
doublepitchHeight of one revolution.
Matrix4matrixTransformation matrix.
booltrigonometrixOrientationOrientation of the rotation.
Returns

Type

Description

uint

CreateHermiteCurve

Create a Hermite Curve.
[HandleProcessCorruptedStateExceptions]public uint CreateHermiteCurve(Point3 FirstPoint, Point3 FirstTangent, Point3 SecondPoint, Point3 SecondTangent)
Parameters

Type

Name

Description

Point3FirstPointStarting point of the curve.
Point3FirstTangentTangent of the starting point.
Point3SecondPointEnding point of the curve.
Point3SecondTangentTangent of the ending point.
Returns

Type

Description

uint

CreateHyperbolaCurve

Create an hyperBola curve.
[HandleProcessCorruptedStateExceptions]public uint CreateHyperbolaCurve(double URadius, double VRadius, Matrix4 matrix)
Parameters

Type

Name

Description

doubleURadiusHyperbola radius in u direction.
doubleVRadiusHyperbola radius in v direction.
Matrix4matrixTransformation matrix.
Returns

Type

Description

uint

CreateIntersectionCurve

Create a Intersection Curve.
[HandleProcessCorruptedStateExceptions]public uint CreateIntersectionCurve(uint firstSurface, uint secondSurface, uint chart, double minBounds, double maxBounds)
Parameters

Type

Name

Description

uintfirstSurfaceFirst surface of the intersection curve.
uintsecondSurfaceSecond surface of the intersection curve.
uintchartDirection curve of the intersection curve.
doubleminBoundsMinimum value of the bounds of the intersection curve.
doublemaxBoundsMaximum value of the bounds of the intersection curve.
Returns

Type

Description

uint

CreateLineCurve

Create a Line Curve.
[HandleProcessCorruptedStateExceptions]public uint CreateLineCurve(Point3 OriginPt, Point3 DirectionPt)
Parameters

Type

Name

Description

Point3OriginPtOrinin point of the line curve.
Point3DirectionPtDirection vector of the line curve.
Returns

Type

Description

uint

CreateNURBSCurve

Create a NURBS curve.
[HandleProcessCorruptedStateExceptions]public uint CreateNURBSCurve(int degree, DoubleList knots, Point3List poles, DoubleList weights = null)
Parameters

Type

Name

Description

intdegreeDegree of the curve.
DoubleListknotsKnots of the curve.
Point3ListpolesPoles list.
DoubleListweightsWeight list.
Returns

Type

Description

uint

CreateParabolaCurve

Create an parabola curve.
[HandleProcessCorruptedStateExceptions]public uint CreateParabolaCurve(double focalLength, Matrix4 matrix)
Parameters

Type

Name

Description

doublefocalLengthFocal lecngth of the parabola.
Matrix4matrixTransformation matrix.
Returns

Type

Description

uint

CreatePolylineCurve

Create a Polyline curve.
[HandleProcessCorruptedStateExceptions]public uint CreatePolylineCurve(Point3List points, DoubleList parameters = null)
Parameters

Type

Name

Description

Point3ListpointsPoints of polyline curve.
DoubleListparametersParams of polyline curve.
Returns

Type

Description

uint

CreateSegmentCurve

Create a segment curve from two given points.
[HandleProcessCorruptedStateExceptions]public uint CreateSegmentCurve(Point3 firstPoint, Point3 secondPoint)
Parameters

Type

Name

Description

Point3firstPointFirst point.
Point3secondPointSecond point.
Returns

Type

Description

uint

CreateSurfacicCurve

Create a curve from a surface.
[HandleProcessCorruptedStateExceptions]public uint CreateSurfacicCurve(uint surface, uint curve2D)
Parameters

Type

Name

Description

uintsurfaceSurface to bound.
uintcurve2DCurve to project.
Returns

Type

Description

uint

CreateTransformedCurve

Create a curve from a surface.
[HandleProcessCorruptedStateExceptions]public uint CreateTransformedCurve(uint curve, Matrix4 matrix)
Parameters

Type

Name

Description

uintcurveCurve to transform.
Matrix4matrixMatrix of the transformation.
Returns

Type

Description

uint

InvertCurve

Invert a curve parametricaly.
[HandleProcessCorruptedStateExceptions]public uint InvertCurve(uint curve, double precision)
Parameters

Type

Name

Description

uintcurveThe curve to invert.
doubleprecisionThe precision used to invert the curve.
Returns

Type

Description

uint

CreateBoundedLinearExtrusion

Create a linear extrusion body.
[HandleProcessCorruptedStateExceptions]public uint CreateBoundedLinearExtrusion(Point3 direction, Point3 planeOrigin, Point3 planeNormal, ProfileBase profileBase, Point3 startingNormal, ExtrusionBoundaryType boundaryType = ExtrusionBoundaryType.Full, ProfileBase profileEnd = null)
Parameters

Type

Name

Description

Point3directionThe profile curves will be extruded in this direction.
Point3planeOriginThe origin of the plane that bound the extrusion.
Point3planeNormalThe normal of the plane that bound the extrusion.
ProfileBaseprofileBaseProfile loops to extrude.
Point3startingNormalThe normal of the plane in which all starting profile lie on.
ExtrusionBoundaryTypeboundaryTypeIf the profile curves define an area or not.
ProfileBaseprofileEndThe end profile of the extrusion.
Returns

Type

Description

uint

CreateCurveExtrusion

Create a curve extrusion body.
[HandleProcessCorruptedStateExceptions]public uint CreateCurveExtrusion(uint curve, ProfileBase profileBase, Point3 startingNormal, ExtrusionBoundaryType boundaryType = ExtrusionBoundaryType.Full, ProfileBase profileEnd = null)
Parameters

Type

Name

Description

uintcurveThe profile curves will be extruded along this curve.
ProfileBaseprofileBaseProfile loops to extrude.
Point3startingNormalThe normal of the plane in which all starting profile lie one.
ExtrusionBoundaryTypeboundaryTypeIf the profile curves define an area or not.
ProfileBaseprofileEndThe end profile of the extrusion.
Returns

Type

Description

uint

CreateLinearExtrusion

Create a linear extrusion body.
[HandleProcessCorruptedStateExceptions]public uint CreateLinearExtrusion(Point3 direction, double depth, ProfileBase profileBase, Point3 startingNormal, ExtrusionBoundaryType boundaryType = ExtrusionBoundaryType.Full, ProfileBase profileEnd = null)
Parameters

Type

Name

Description

Point3directionThe profile curves will be extruded in this direction.
doubledepthThe extrusion will stop at the defined depth.
ProfileBaseprofileBaseProfile loops to extrude.
Point3startingNormalThe normal of the plane in which all starting profile lie on.
ExtrusionBoundaryTypeboundaryTypeIf the profile curves define an area or not.
ProfileBaseprofileEndThe end profile of the extrusion.
Returns

Type

Description

uint

CreateMultiExtrusion

Create a linear extrusion body.
[HandleProcessCorruptedStateExceptions]public uint CreateMultiExtrusion(ProfileBaseList profileBaseList, CurveListList profileExtrusionList, ExtrusionBoundaryType boundaryType = ExtrusionBoundaryType.Full)
Parameters

Type

Name

Description

ProfileBaseListprofileBaseListProfile loops to be extruded.
CurveListListprofileExtrusionListExtrusion profiles.
ExtrusionBoundaryTypeboundaryTypeIf the profile curves define an area or not.
Returns

Type

Description

uint

CreateRevolveExtrusion

Create a revolved extrusion body.
[HandleProcessCorruptedStateExceptions]public uint CreateRevolveExtrusion(Point3 center, Point3 axis, double angle, ProfileBase profileBase, Point3 startingNormal, ExtrusionBoundaryType boundaryType = ExtrusionBoundaryType.Full, ProfileBase profileEnd = null)
Parameters

Type

Name

Description

Point3centerThe center of revolution.
Point3axisThe profile curves will be revolved around this axis.
doubleangleThe revolution will stop at the defined angle.
ProfileBaseprofileBaseProfile loops to revolve.
Point3startingNormalThe normal of the plane in which all starting profile lie on.
ExtrusionBoundaryTypeboundaryTypeIf the profile curves define an area or not.
ProfileBaseprofileEndThe end profile of the extrusion.
Returns

Type

Description

uint

GetFaceMaterial

Get the material on a face.
[HandleProcessCorruptedStateExceptions]public uint GetFaceMaterial(uint face)
Parameters

Type

Name

Description

uintfaceThe face.
Returns

Type

Description

uint

SetFaceMaterial

Set the material on a face.
[HandleProcessCorruptedStateExceptions]public void SetFaceMaterial(uint face, uint material)
Parameters

Type

Name

Description

uintfaceThe face.
uintmaterialThe material.

AddBodyToModel

Add a body to the model.
[HandleProcessCorruptedStateExceptions]public void AddBodyToModel(uint body, uint model)
Parameters

Type

Name

Description

uintbodyBody added to the model.
uintmodelModel.

AddEdgeToModel

Add an edge to the model.
[HandleProcessCorruptedStateExceptions]public void AddEdgeToModel(uint edge, uint model)
Parameters

Type

Name

Description

uintedgeEdge added to the model.
uintmodelModel.

AddOpenShellToModel

Add an open shell to the model.
[HandleProcessCorruptedStateExceptions]public void AddOpenShellToModel(uint shell, uint model)
Parameters

Type

Name

Description

uintshellOpen shell added to the model.
uintmodelModel.

AddVertexToModel

Add a vertex to the model.
[HandleProcessCorruptedStateExceptions]public void AddVertexToModel(uint vtx, uint model)
Parameters

Type

Name

Description

uintvtxVertex added to the model.
uintmodelModel.

BuildFaces

Build faces from a surface and a set of loop.
[HandleProcessCorruptedStateExceptions]public BuildFacesReturn BuildFaces(uint surface, LoopList loopList)
Parameters

Type

Name

Description

uintsurfaceSurface used to build the faces.
LoopListloopListList of Loops used to build the faces.
Returns

Type

Description

BuildFacesReturn

CreateModel

Create a new model.
[HandleProcessCorruptedStateExceptions]public uint CreateModel(double precision = -1)
Parameters

Type

Name

Description

doubleprecisionCAD precision for this model.
Returns

Type

Description

uint

EndThreadBrepSession

Create a new BrepSession on current thread.
[HandleProcessCorruptedStateExceptions]public void EndThreadBrepSession()

GetAllModelFaces

Get all the face of a model recursively.
[HandleProcessCorruptedStateExceptions]public FaceList GetAllModelFaces(uint model)
Parameters

Type

Name

Description

uintmodelModel.
Returns

Type

Description

FaceList

GetModelBodies

Get the list of bodies contained in a model.
[HandleProcessCorruptedStateExceptions]public BodyList GetModelBodies(uint model)
Parameters

Type

Name

Description

uintmodelModel.
Returns

Type

Description

BodyList

GetModelBoundaries

Get boundary edges of a model grouped by cycles.
[HandleProcessCorruptedStateExceptions]public EdgeListList GetModelBoundaries(uint model)
Parameters

Type

Name

Description

uintmodelModel.
Returns

Type

Description

EdgeListList

GetModelEdges

Get the list of free edges contained in a model.
[HandleProcessCorruptedStateExceptions]public EdgeList GetModelEdges(uint model)
Parameters

Type

Name

Description

uintmodelModel.
Returns

Type

Description

EdgeList

GetModelOpenShells

Get the list of open shells contained in a model.
[HandleProcessCorruptedStateExceptions]public OpenShellList GetModelOpenShells(uint model)
Parameters

Type

Name

Description

uintmodelModel.
Returns

Type

Description

OpenShellList

GetModelPrecision

Get the precision used in a model.
[HandleProcessCorruptedStateExceptions]public double GetModelPrecision(uint model)
Parameters

Type

Name

Description

uintmodelModel.
Returns

Type

Description

double

GetModelVertices

Get the list of free vertices contained in a model.
[HandleProcessCorruptedStateExceptions]public VertexList GetModelVertices(uint model)
Parameters

Type

Name

Description

uintmodelModel.
Returns

Type

Description

VertexList

GetReferencers

Returns the entities referencing a given CAD entity.
[HandleProcessCorruptedStateExceptions]public EntityList GetReferencers(uint entity)
Parameters

Type

Name

Description

uintentityCAD entity to get the referencers.
Returns

Type

Description

EntityList

StartThreadBrepSession

Create a new BrepSession on current thread.
[HandleProcessCorruptedStateExceptions]public void StartThreadBrepSession(double precision)
Parameters

Type

Name

Description

doubleprecisionCAD precision for this model.

CreateBRepCone

Creates a BRep Cone whose axis is the Z axis centered on O.
[HandleProcessCorruptedStateExceptions]public uint CreateBRepCone(double radius, double height, Matrix4 matrix = null)
Parameters

Type

Name

Description

doubleradiusCone radius.
doubleheightCone height.
Matrix4matrixPositionning matrix of the Cone.
Returns

Type

Description

uint

CreateBRepCube

Creates a BRep Cube.
[HandleProcessCorruptedStateExceptions]public uint CreateBRepCube(double size, Matrix4 matrix = null)
Parameters

Type

Name

Description

doublesizeSide length.
Matrix4matrixPositionning matrix of the Cube.
Returns

Type

Description

uint

CreateBRepCylinder

Creates a BRep Cylinder aligned on the Z axis centered on O.
[HandleProcessCorruptedStateExceptions]public uint CreateBRepCylinder(double radius, double length, Matrix4 matrix = null)
Parameters

Type

Name

Description

doubleradiusCylinder radius.
doublelengthCylinder length.
Matrix4matrixPositionning matrix of the Cylinder.
Returns

Type

Description

uint

CreateBRepPlane

Creates a BRep Plane whose normal is the Z axis centered on O.
[HandleProcessCorruptedStateExceptions]public uint CreateBRepPlane(double length, double width, Matrix4 matrix = null)
Parameters

Type

Name

Description

doublelengthPlane length (X axis).
doublewidthPlane width (Y axis).
Matrix4matrixPositionning matrix of the Plane.
Returns

Type

Description

uint

CreateBRepSphere

Creates a BRep Sphere centered on O and whose singularities are on the Z axis.
[HandleProcessCorruptedStateExceptions]public uint CreateBRepSphere(double radius, Matrix4 matrix = null)
Parameters

Type

Name

Description

doubleradiusSphere radius.
Matrix4matrixPositionning matrix of the Sphere.
Returns

Type

Description

uint

CreateBRepTorus

Creates a BRep Torus whose axis is the Z axis centered on O.
[HandleProcessCorruptedStateExceptions]public uint CreateBRepTorus(double majorRadius, double minorRadius, Matrix4 matrix = null)
Parameters

Type

Name

Description

doublemajorRadiusMajor radius.
doubleminorRadiusMinor radius.
Matrix4matrixPositionning matrix of the Torus.
Returns

Type

Description

uint

AreCurvesEquals

Check if two curve are equals by comparing each attribute, one by one. The two curves need to be of the same type; otherwise, it returns false by default.
[HandleProcessCorruptedStateExceptions]public bool AreCurvesEquals(uint curve1, uint curve2)
Parameters

Type

Name

Description

uintcurve1A curve to be compare.
uintcurve2A curve to be compare.
Returns

Type

Description

bool

EvalCurvatureOnCurve

Evaluate curvature on a curve.
[HandleProcessCorruptedStateExceptions]public double EvalCurvatureOnCurve(uint curve, double parameter)
Parameters

Type

Name

Description

uintcurveThe curve.
doubleparameterParameter to evaluate.
Returns

Type

Description

double

EvalCurvatureOnSurface

Evaluate main curvatures on a surface.
[HandleProcessCorruptedStateExceptions]public Curvatures EvalCurvatureOnSurface(uint surface, Point2 parameter)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Point2parameterParameter to evaluate.
Returns

Type

Description

Curvatures

EvalOnCurve

Evaluate a point and derivatives on a curve.
[HandleProcessCorruptedStateExceptions]public EvalOnCurveReturn EvalOnCurve(uint curve, double parameter, int derivation = 0)
Parameters

Type

Name

Description

uintcurveThe curve.
doubleparameterParameter to evaluate.
intderivationDerivation level (0,1,2).
Returns

Type

Description

EvalOnCurveReturn

EvalOnSurface

Evaluate a point and derivatives on a surface.
[HandleProcessCorruptedStateExceptions]public EvalOnSurfaceReturn EvalOnSurface(uint surface, Point2 parameter, int derivation = 0)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Point2parameterParameter to evaluate.
intderivationDerivation level (0,1,2).
Returns

Type

Description

EvalOnSurfaceReturn

GetBodyClosedShells

Get all closedShells contain in the body.
[HandleProcessCorruptedStateExceptions]public ClosedShellList GetBodyClosedShells(uint body)
Parameters

Type

Name

Description

uintbodyThe body.
Returns

Type

Description

ClosedShellList

GetCircleCurveDefinition

Get all parameters contained in the circleCurve.
[HandleProcessCorruptedStateExceptions]public GetCircleCurveDefinitionReturn GetCircleCurveDefinition(uint circleCurve)
Parameters

Type

Name

Description

uintcircleCurveThe circleCurve.
Returns

GetClosedShellOrientedFaces

Get all orienteFaces contain in the closedShell.
[HandleProcessCorruptedStateExceptions]public OrientedFaceList GetClosedShellOrientedFaces(uint closedShell)
Parameters

Type

Name

Description

uintclosedShellThe closedShell.
Returns

Type

Description

OrientedFaceList

GetCoEdgeDefinition

Get all parameters contained in the coEdge.
[HandleProcessCorruptedStateExceptions]public GetCoEdgeDefinitionReturn GetCoEdgeDefinition(uint coEdge)
Parameters

Type

Name

Description

uintcoEdgeThe coEdge.
Returns

GetCompositeCurveDefinition

Get all parameters contained in the compositeCurve.
[HandleProcessCorruptedStateExceptions]public GetCompositeCurveDefinitionReturn GetCompositeCurveDefinition(uint compositeCurve)
Parameters

Type

Name

Description

uintcompositeCurveThe compositeCurve.
Returns

GetConeSurfaceDefinition

Get all parameters contained in the coneSurface.
[HandleProcessCorruptedStateExceptions]public GetConeSurfaceDefinitionReturn GetConeSurfaceDefinition(uint coneSurface)
Parameters

Type

Name

Description

uintconeSurfaceThe coneSurface.
Returns

GetCurveExtrusionSurfaceDefinition

Get all parameters contained in the curveExtrusionSurface.
[HandleProcessCorruptedStateExceptions]public GetCurveExtrusionSurfaceDefinitionReturn GetCurveExtrusionSurfaceDefinition(uint curveExtrusionSurface)
Parameters

Type

Name

Description

uintcurveExtrusionSurfaceThe curveExtrusionSurface.
Returns

GetCurveLength

Returns the length of the curve.
[HandleProcessCorruptedStateExceptions]public double GetCurveLength(uint curve)
Parameters

Type

Name

Description

uintcurveThe curve.
Returns

Type

Description

double

GetCurveLimits

Get the parametric space limits of a curve.
[HandleProcessCorruptedStateExceptions]public Bounds1D GetCurveLimits(uint curve)
Parameters

Type

Name

Description

uintcurveThe curve.
Returns

Type

Description

Bounds1D

GetCylinderSurfaceDefinition

Get all parameters contained in the cylinderSurface.
[HandleProcessCorruptedStateExceptions]public GetCylinderSurfaceDefinitionReturn GetCylinderSurfaceDefinition(uint cylinderSurface)
Parameters

Type

Name

Description

uintcylinderSurfaceThe cylinderSurface.
Returns

GetEdgeDefinition

Get all parameters contained in the edge.
[HandleProcessCorruptedStateExceptions]public GetEdgeDefinitionReturn GetEdgeDefinition(uint edge)
Parameters

Type

Name

Description

uintedgeThe edge.
Returns

GetEdgeLength

Returns the length of the edge.
[HandleProcessCorruptedStateExceptions]public double GetEdgeLength(uint edge)
Parameters

Type

Name

Description

uintedgeThe edge.
Returns

Type

Description

double

GetEdgeMaterial

Get the material of the edge, if any.
[HandleProcessCorruptedStateExceptions]public uint GetEdgeMaterial(uint edge)
Parameters

Type

Name

Description

uintedge
Returns

Type

Description

uint

GetEllipseCurveDefinition

Get all parameters contained in the ellipseCurve.
[HandleProcessCorruptedStateExceptions]public GetEllipseCurveDefinitionReturn GetEllipseCurveDefinition(uint ellipseCurve)
Parameters

Type

Name

Description

uintellipseCurveThe ellipseCurve.
Returns

GetEllipticConeSurfaceDefinition

Get all parameters contained in the ellipticConeSurface.
[HandleProcessCorruptedStateExceptions]public GetEllipticConeSurfaceDefinitionReturn GetEllipticConeSurfaceDefinition(uint ellipticConeSurface)
Parameters

Type

Name

Description

uintellipticConeSurfaceThe EllipticConeSurface.
Returns

GetFaceDefinition

Get all parameters contain in the face.
[HandleProcessCorruptedStateExceptions]public GetFaceDefinitionReturn GetFaceDefinition(uint face)
Parameters

Type

Name

Description

uintfaceThe face.
Returns

GetFaceParametricBoundaries

Get parametric definition of each face loop.
[HandleProcessCorruptedStateExceptions]public Point2ListList GetFaceParametricBoundaries(uint face)
Parameters

Type

Name

Description

uintfaceThe face.
Returns

Type

Description

Point2ListList

GetHelixCurveDefinition

Get all parameters contained in the helixCurve.
[HandleProcessCorruptedStateExceptions]public GetHelixCurveDefinitionReturn GetHelixCurveDefinition(uint helixCurve)
Parameters

Type

Name

Description

uinthelixCurveThe helixCurve.
Returns

GetHermiteCurveDefinition

Get all parameters contained in the hermiteCurve.
[HandleProcessCorruptedStateExceptions]public GetHermiteCurveDefinitionReturn GetHermiteCurveDefinition(uint hermiteCurve)
Parameters

Type

Name

Description

uinthermiteCurveThe HermiteCurve.
Returns

GetHyperbolaCurveDefinition

Get all parameters contained in the hyperbolaCurve.
[HandleProcessCorruptedStateExceptions]public GetHyperbolaCurveDefinitionReturn GetHyperbolaCurveDefinition(uint hyperbolaCurve)
Parameters

Type

Name

Description

uinthyperbolaCurveThe hyperbolaCurve.
Returns

GetIntersectionCurveDefinition

Get all parameters contained in the intersectionCurve.
[HandleProcessCorruptedStateExceptions]public GetIntersectionCurveDefinitionReturn GetIntersectionCurveDefinition(uint intersectionCurve)
Parameters

Type

Name

Description

uintintersectionCurveThe intersectionCurve.
Returns

GetLineCurveDefinition

Get all parameters contain in the lineCurve.
[HandleProcessCorruptedStateExceptions]public GetLineCurveDefinitionReturn GetLineCurveDefinition(uint lineCurve)
Parameters

Type

Name

Description

uintlineCurveThe lineCurve.
Returns

GetLoopCoEdges

Get all coEdges contain in the loop.
[HandleProcessCorruptedStateExceptions]public CoEdgeList GetLoopCoEdges(uint loop)
Parameters

Type

Name

Description

uintloopThe loop.
Returns

Type

Description

CoEdgeList

GetNURBSCurveDefinition

Get all parameters contained in the nurbsCurve.
[HandleProcessCorruptedStateExceptions]public GetNURBSCurveDefinitionReturn GetNURBSCurveDefinition(uint nurbsCurve)
Parameters

Type

Name

Description

uintnurbsCurveThe nurbsCurve.
Returns

GetNURBSSurfaceDefinition

Get all parameters contained in the nurbsSurface.
[HandleProcessCorruptedStateExceptions]public GetNURBSSurfaceDefinitionReturn GetNURBSSurfaceDefinition(uint nurbsSurface)
Parameters

Type

Name

Description

uintnurbsSurfaceThe nurbsSurface.
Returns

GetOffsetCurveDefinition

Get all parameters contained in the offsetCurve.
[HandleProcessCorruptedStateExceptions]public GetOffsetCurveDefinitionReturn GetOffsetCurveDefinition(uint offsetCurve)
Parameters

Type

Name

Description

uintoffsetCurveThe offsetCurve.
Returns

GetOffsetSurfaceDefinition

Get all parameters contained in the offsetSurface.
[HandleProcessCorruptedStateExceptions]public GetOffsetSurfaceDefinitionReturn GetOffsetSurfaceDefinition(uint offsetSurface)
Parameters

Type

Name

Description

uintoffsetSurfaceThe offsetSurface.
Returns

GetOpenShellOrientedFaces

Get all orienteFaces contain in the openShell.
[HandleProcessCorruptedStateExceptions]public OrientedFaceList GetOpenShellOrientedFaces(uint openShell)
Parameters

Type

Name

Description

uintopenShellThe openShell.
Returns

Type

Description

OrientedFaceList

GetParabolaCurveDefinition

Get all parameters contained in the parabolaCurve.
[HandleProcessCorruptedStateExceptions]public GetParabolaCurveDefinitionReturn GetParabolaCurveDefinition(uint parabolaCurve)
Parameters

Type

Name

Description

uintparabolaCurveThe parabolaCurve.
Returns

GetParametricPrecisionOnSurface

Returns the parametric precision of a surface from the input precision.
[HandleProcessCorruptedStateExceptions]public double GetParametricPrecisionOnSurface(uint surface, double precision)
Parameters

Type

Name

Description

uintsurfaceThe surface.
doubleprecisionInput precision.
Returns

Type

Description

double

GetPlaneSurfaceDefinition

Get all parameters contained in the planeSurface.
[HandleProcessCorruptedStateExceptions]public Matrix4 GetPlaneSurfaceDefinition(uint planeSurface)
Parameters

Type

Name

Description

uintplaneSurfaceThe planeSurface.
Returns

Type

Description

Matrix4

GetPolylineCurveDefinition

Get all parameters contained in the polylinCurve.
[HandleProcessCorruptedStateExceptions]public GetPolylineCurveDefinitionReturn GetPolylineCurveDefinition(uint polylineCurve)
Parameters

Type

Name

Description

uintpolylineCurveThe polylineCurve.
Returns

GetRevolutionSurfaceDefinition

Get all parameters contained in the revolutionSurface.
[HandleProcessCorruptedStateExceptions]public GetRevolutionSurfaceDefinitionReturn GetRevolutionSurfaceDefinition(uint revolutionSurface)
Parameters

Type

Name

Description

uintrevolutionSurfaceThe revolutionSurface.
Returns

GetRuledSurfaceDefinition

Get all parameters contained in the ruledSurface.
[HandleProcessCorruptedStateExceptions]public GetRuledSurfaceDefinitionReturn GetRuledSurfaceDefinition(uint ruledSurface)
Parameters

Type

Name

Description

uintruledSurfaceThe ruledSurface.
Returns

GetSegmentCurveDefinition

Get all parameters contained in the segmentCurve.
[HandleProcessCorruptedStateExceptions]public GetSegmentCurveDefinitionReturn GetSegmentCurveDefinition(uint segmentCurve)
Parameters

Type

Name

Description

uintsegmentCurveThe segmentCurve.
Returns

GetSphereSurfaceDefinition

Get all parameters contained in the sphereSurface.
[HandleProcessCorruptedStateExceptions]public GetSphereSurfaceDefinitionReturn GetSphereSurfaceDefinition(uint sphereSurface)
Parameters

Type

Name

Description

uintsphereSurfaceThe sphereSurface.
Returns

GetSurfaceLimits

Get the parametric space limits of a surface.
[HandleProcessCorruptedStateExceptions]public Bounds2D GetSurfaceLimits(uint surface)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Returns

Type

Description

Bounds2D

GetSurfacicCurveDefinition

Get all parameters contained in the surfacicCurve.
[HandleProcessCorruptedStateExceptions]public GetSurfacicCurveDefinitionReturn GetSurfacicCurveDefinition(uint surfacicCurve)
Parameters

Type

Name

Description

uintsurfacicCurveThe surfacicCurve.
Returns

GetTabulatedCylinderSurfaceDefinition

Get all parameters contained in the TabulatedCylinderSurface.
[HandleProcessCorruptedStateExceptions]public GetTabulatedCylinderSurfaceDefinitionReturn GetTabulatedCylinderSurfaceDefinition(uint tabulatedCylinderSurface)
Parameters

Type

Name

Description

uinttabulatedCylinderSurfaceThe tabulatedCylinderSurface.
Returns

GetTorusSurfaceDefinition

Get all parameters contained in the torusSurface.
[HandleProcessCorruptedStateExceptions]public GetTorusSurfaceDefinitionReturn GetTorusSurfaceDefinition(uint torusSurface)
Parameters

Type

Name

Description

uinttorusSurfaceThe torusSurface.
Returns

GetTransformedCurveDefinition

Get all parameters contained in the transformedCurve.
[HandleProcessCorruptedStateExceptions]public GetTransformedCurveDefinitionReturn GetTransformedCurveDefinition(uint transformedCurve)
Parameters

Type

Name

Description

uinttransformedCurveThe transformedCurve.
Returns

GetVertexPosition

Get the position of the vertex.
[HandleProcessCorruptedStateExceptions]public Point3 GetVertexPosition(uint vertex)
Parameters

Type

Name

Description

uintvertexThe vertex.
Returns

Type

Description

Point3

InvertOnCurve

Invert a point to a curve.
[HandleProcessCorruptedStateExceptions]public double InvertOnCurve(uint curve, Point3 point, double precision = -1)
Parameters

Type

Name

Description

uintcurveThe curve.
Point3pointThe point to invert.
doubleprecisionInversion precision.
Returns

Type

Description

double

InvertOnSurface

Invert a point to a surface.
[HandleProcessCorruptedStateExceptions]public Point2 InvertOnSurface(uint surface, Point3 point, double precision = -1)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Point3pointThe point to invert.
doubleprecisionInversion precision.
Returns

Type

Description

Point2

IsCurveClosed

If the curve is closed, return true, return false otherwise.
[HandleProcessCorruptedStateExceptions]public bool IsCurveClosed(uint curve)
Parameters

Type

Name

Description

uintcurveThe curve.
Returns

Type

Description

bool

IsCurveFinite

If the curve is finite return true, return false otherwise.
[HandleProcessCorruptedStateExceptions]public bool IsCurveFinite(uint curve)
Parameters

Type

Name

Description

uintcurveThe curve.
Returns

Type

Description

bool

IsCurvePeriodic

If the curve is periodic return true, return false otherwise.
[HandleProcessCorruptedStateExceptions]public IsCurvePeriodicReturn IsCurvePeriodic(uint curve)
Parameters

Type

Name

Description

uintcurveThe curve.
Returns

Type

Description

IsCurvePeriodicReturn

IsSurfaceClosed

Return if the surface is closed on U or on V.
[HandleProcessCorruptedStateExceptions]public IsSurfaceClosedReturn IsSurfaceClosed(uint surface)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Returns

Type

Description

IsSurfaceClosedReturn

IsSurfacePeriodic

Return if the surface is periodic on U or on V.
[HandleProcessCorruptedStateExceptions]public IsSurfacePeriodicReturn IsSurfacePeriodic(uint surface)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Returns

NeedTorusShapeCheck

Returns true if the torus has a shape (lemon or apple) corresponding to the provided points.
[HandleProcessCorruptedStateExceptions]public bool NeedTorusShapeCheck(uint surface, Point3List points)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Point3ListpointsList of points to check the surface.
Returns

Type

Description

bool

ProjectOnCurve

Project a point to a curve.
[HandleProcessCorruptedStateExceptions]public double ProjectOnCurve(uint curve, Point3 point, double precision = -1)
Parameters

Type

Name

Description

uintcurveThe curve.
Point3pointThe point to project.
doubleprecisionProjection precision.
Returns

Type

Description

double

ProjectOnSurface

Project a point to a surface.
[HandleProcessCorruptedStateExceptions]public Point2 ProjectOnSurface(uint surface, Point3 point, double precision = -1)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Point3pointThe point to project.
doubleprecisionProjection precision.
Returns

Type

Description

Point2

SetCoEdgeCurve2D

Set the curve 2D value of a coEdge.
[HandleProcessCorruptedStateExceptions]public void SetCoEdgeCurve2D(uint coEdge, uint curve2D)
Parameters

Type

Name

Description

uintcoEdgeThe coEdge.
uintcurve2DThe new curve 2D.

SetCoEdgeSurface

Set the surface value of a coEdge.
[HandleProcessCorruptedStateExceptions]public void SetCoEdgeSurface(uint coEdge, uint surface)
Parameters

Type

Name

Description

uintcoEdgeThe coEdge.
uintsurfaceThe new surface.

SetCurveLimits

Set the parametric space limits of a curve.
[HandleProcessCorruptedStateExceptions]public void SetCurveLimits(uint curve, Bounds1D limits)
Parameters

Type

Name

Description

uintcurveThe curve.
Bounds1DlimitsCurve limits.

SetEdgeMaterial

Define an edge's material.
[HandleProcessCorruptedStateExceptions]public void SetEdgeMaterial(uint edge, uint material)
Parameters

Type

Name

Description

uintedgeThe edge to apply to style to.
uintmaterialThe material to apply.

CreateBody

Create a body from a surface.
[HandleProcessCorruptedStateExceptions]public uint CreateBody(uint outerShell, ClosedShellList innerShells = null)
Parameters

Type

Name

Description

uintouterShellClosedShell used to create the body.
ClosedShellListinnerShellsList of closedShell used to create the body.
Returns

Type

Description

uint

CreateClosedShell

Create a closedShell from a set of faces of a set of orientations.
[HandleProcessCorruptedStateExceptions]public uint CreateClosedShell(FaceList faces, OrientationList orientations)
Parameters

Type

Name

Description

FaceListfacesList of faces composing the closedShell.
OrientationListorientationsList of orientations for each face.
Returns

Type

Description

uint

CreateCoEdge

Create an coEdge with a edge and an orientation.
[HandleProcessCorruptedStateExceptions]public uint CreateCoEdge(uint edge, bool orientation, uint surface = 0, uint curve2D = 0, bool computeGateway = false)
Parameters

Type

Name

Description

uintedgeEdge used to create the coEdge.
boolorientationOrientation of the edge regarding the loop.
uintsurfaceThe surface trimmed by the edge.
uintcurve2DSurfacic curve of the edge on the surface trimmed.
boolcomputeGatewayNeeded if 3d curve and 2d curve have different parametrization.
Returns

Type

Description

uint

CreateEdge

Create an edge with a curve an extremity vertices.
[HandleProcessCorruptedStateExceptions]public uint CreateEdge(uint curve, uint startVertex, uint endVertex)
Parameters

Type

Name

Description

uintcurveCurve used to create the edge.
uintstartVertexThe start vertex.
uintendVertexThe end vertex.
Returns

Type

Description

uint

CreateEdgeFromCurve

Create an edge from a limited curve.
[HandleProcessCorruptedStateExceptions]public uint CreateEdgeFromCurve(uint curve)
Parameters

Type

Name

Description

uintcurveLimited curve used to create the edge.
Returns

Type

Description

uint

CreateEdgeWithBounds

Create an edge with a curve an extremity vertices and a given boundary.
[HandleProcessCorruptedStateExceptions]public uint CreateEdgeWithBounds(uint curve, uint startVertex, uint endVertex, Bounds1D bounds)
Parameters

Type

Name

Description

uintcurveCurve used to create the edge.
uintstartVertexThe start vertex.
uintendVertexThe end vertex.
Bounds1DboundsThe parametrization boundary.
Returns

Type

Description

uint

CreateFace

Create a face from a surface.
[HandleProcessCorruptedStateExceptions]public uint CreateFace(uint surface, LoopList loopList = null, bool useSurfaceOrientation = false)
Parameters

Type

Name

Description

uintsurfaceSurface used to create the face.
LoopListloopListList of Loops used to create the face.
booluseSurfaceOrientationIf True, the face will have the same orientation than the surface and loops will be inverted if they are inconsistent.
Returns

Type

Description

uint

CreateLoop

Create a loop from a set of edges of a set of orientations.
[HandleProcessCorruptedStateExceptions]public uint CreateLoop(CoEdgeList coEdges, bool check = true, bool deleteIsolatedVertices = true)
Parameters

Type

Name

Description

CoEdgeListcoEdgesList of coEdges composing the loop.
boolcheckIf true, the loop check if edges are well connected or not.
booldeleteIsolatedVerticesIf true, this will merge isolated vertices in the loop.
Returns

Type

Description

uint

CreateLoopFromCurve

Create a loop from a finite curve.
[HandleProcessCorruptedStateExceptions]public uint CreateLoopFromCurve(uint curve)
Parameters

Type

Name

Description

uintcurveThe curve to create the loop with.
Returns

Type

Description

uint

CreateOpenShell

Create a openShell from a set of faces of a set of orientations and set of loops.
[HandleProcessCorruptedStateExceptions]public uint CreateOpenShell(FaceList faces, OrientationList orientations)
Parameters

Type

Name

Description

FaceListfacesList of faces composing the openShell.
OrientationListorientationsList of orientations for each face.
Returns

Type

Description

uint

CreateVertex

Create a vertex from a position.
[HandleProcessCorruptedStateExceptions]public uint CreateVertex(Point3 position)
Parameters

Type

Name

Description

Point3positionVertex position.
Returns

Type

Description

uint

InvertCoEdge

Invert a coedge.
[HandleProcessCorruptedStateExceptions]public void InvertCoEdge(uint coedge)
Parameters

Type

Name

Description

uintcoedgeThe coedge to invert.

InvertFaces

Invert faces.
[HandleProcessCorruptedStateExceptions]public void InvertFaces(FaceList faces, bool invertLoops = true)
Parameters

Type

Name

Description

FaceListfacesThe faces to invert.
boolinvertLoopsIf true, invert loops orientation.

InvertLoop

Invert a loop.
[HandleProcessCorruptedStateExceptions]public void InvertLoop(uint loop)
Parameters

Type

Name

Description

uintloopThe loop to invert.

IsSurfaceFinite

Return if the surface is finite.
[HandleProcessCorruptedStateExceptions]public bool IsSurfaceFinite(uint surface)
Parameters

Type

Name

Description

uintsurfaceThe surface.
Returns

Type

Description

bool

AddPrecisionArea

Define a working area on the 2D projection of the surface to define a parametric precision.
[HandleProcessCorruptedStateExceptions]public void AddPrecisionArea(uint surface, AABR aabr)
Parameters

Type

Name

Description

uintsurfaceSurface on which the precision area will be set.
AABRaabr2D area defining the working area.

CreateBezierSurface

Create a new bezier surface.
[HandleProcessCorruptedStateExceptions]public uint CreateBezierSurface(int degreeU, int degreeV, Point3List poles)
Parameters

Type

Name

Description

intdegreeUU degree.
intdegreeVV degree.
Point3ListpolesPoles list.
Returns

Type

Description

uint

CreateConeSurface

Create a new cone surface.
[HandleProcessCorruptedStateExceptions]public uint CreateConeSurface(double radius, double semiAngle, Matrix4 matrix = null)
Parameters

Type

Name

Description

doubleradiusRadius of the cone at origin.
doublesemiAngleSemi-angle of the cone (in rad).
Matrix4matrixPositionning matrix of the cone.
Returns

Type

Description

uint

CreateCurveExtrusionSurface

Create a new curveExtrusion surface.
[HandleProcessCorruptedStateExceptions]public uint CreateCurveExtrusionSurface(uint generatrixCurve, uint directrixCurve, uint refSurface = 0)
Parameters

Type

Name

Description

uintgeneratrixCurveThe generatrix curve.
uintdirectrixCurveThe directrix curve.
uintrefSurfaceThe reference surface.
Returns

Type

Description

uint

CreateCylinderSurface

Create a new cylinder surface.
[HandleProcessCorruptedStateExceptions]public uint CreateCylinderSurface(double radius, Matrix4 matrix = null)
Parameters

Type

Name

Description

doubleradiusRadius of the cylinder.
Matrix4matrixPositionning matrix of the cylinder.
Returns

Type

Description

uint

CreateEllipticConeSurface

Create a new elliptic cone surface.
[HandleProcessCorruptedStateExceptions]public uint CreateEllipticConeSurface(double radius1, double radius2, double semiAngle, Matrix4 matrix = null)
Parameters

Type

Name

Description

doubleradius1Radius of the cone at origin on the X axis.
doubleradius2Radius of the cone at origin on the Y axis.
doublesemiAngleSemi-angle of the cone (in rad).
Matrix4matrixPositionning matrix of the cone.
Returns

Type

Description

uint

CreateNURBSSurface

Create a new NURBS surface.
[HandleProcessCorruptedStateExceptions]public uint CreateNURBSSurface(int degreeU, int degreeV, DoubleList knotsU, DoubleList knotsV, Point3List poles, DoubleList weights = null)
Parameters

Type

Name

Description

intdegreeUU degree.
intdegreeVV degree.
DoubleListknotsUKnots on U.
DoubleListknotsVKnots on V.
Point3ListpolesPoles list.
DoubleListweightsWeights list.
Returns

Type

Description

uint

CreateOffsetSurface

Create a new offset surface.
[HandleProcessCorruptedStateExceptions]public uint CreateOffsetSurface(uint baseSurface, double distance)
Parameters

Type

Name

Description

uintbaseSurfaceThe base surface.
doubledistanceThe offset distance.
Returns

Type

Description

uint

CreatePlaneSurface

Create a new plane surface.
[HandleProcessCorruptedStateExceptions]public uint CreatePlaneSurface(Matrix4 matrix = null)
Parameters

Type

Name

Description

Matrix4matrixPositionning matrix of the plane.
Returns

Type

Description

uint

CreateRevolutionSurface

Create a new revolution surface.
[HandleProcessCorruptedStateExceptions]public uint CreateRevolutionSurface(uint generatrixCurve, Point3 axisOrigin, Point3 axisDirection, double startParam = 0, double endParam = 6.283185307179586)
Parameters

Type

Name

Description

uintgeneratrixCurveGeneratrix curve rotated to create the revolution surface.
Point3axisOriginAxis origin point.
Point3axisDirectionAxis direction vector.
doublestartParamStart angle of the revolution surface (in rad).
doubleendParamEnd angle of the revolution surface (in rad).
Returns

Type

Description

uint

CreateRuledSurface

Create a new ruled surface.
[HandleProcessCorruptedStateExceptions]public uint CreateRuledSurface(uint firstCurve, uint secondCurve)
Parameters

Type

Name

Description

uintfirstCurveFirst Curve.
uintsecondCurveSeconde Curve.
Returns

Type

Description

uint

CreateSphereSurface

Create a new sphere surface.
[HandleProcessCorruptedStateExceptions]public uint CreateSphereSurface(double radius, Matrix4 matrix = null)
Parameters

Type

Name

Description

doubleradiusRadius of the sphere.
Matrix4matrixPositionning matrix of the sphere.
Returns

Type

Description

uint

CreateTabulatedCylinderSurface

Create a new tabulated cylinder surface.
[HandleProcessCorruptedStateExceptions]public uint CreateTabulatedCylinderSurface(uint directrixCurve, Point3 GeneratixLine, double minRange, double maxRange)
Parameters

Type

Name

Description

uintdirectrixCurveDirectrix Curve.
Point3GeneratixLineGeneratrix Line.
doubleminRangeMinimimum value of the range.
doublemaxRangeMaximum value of the range.
Returns

Type

Description

uint

CreateTorusSurface

Create a new torus surface.
[HandleProcessCorruptedStateExceptions]public uint CreateTorusSurface(double radiusMax, double radiusMin, Matrix4 matrix = null)
Parameters

Type

Name

Description

doubleradiusMaxMajor radius.
doubleradiusMinMinor radius.
Matrix4matrixPositionning matrix of the sphere.
Returns

Type

Description

uint

NeedPrecisionArea

Tells if it needs a working area on the surface.
[HandleProcessCorruptedStateExceptions]public bool NeedPrecisionArea(uint surface)
Parameters

Type

Name

Description

uintsurfaceSurface to check if it needs precision area.
Returns

Type

Description

bool