# CAD

> Python API types

### Body

A Body is the topological entity which defines a volume. It is bounded by a set of shells.
Base class: [scene.Shape](./scene_types#shape)


**Frame:**
```mermaid
classDiagram
    class Body
    Shape <|-- Body
    Body : +core.Entity Model
```

Functions accepting this type or a list of this type as a parameter:

* [cad.solidIntersection](./cad_functions#solidintersection)
* [cad.solidSubtraction](./cad_functions#solidsubtraction)
* [cad.solidUnion](./cad_functions#solidunion)
* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### BodyList

List of [cad.Body](./cad_types#body)

***

### Bounds1D

1-Dimension bounds.
Fields

| Type | Name   | Default | Description |
| ---- | ------ | ------- | ----------- |
| min  | Double | 1       |             |
| max  | Double | -1      |             |

Functions accepting this type or a list of this type as a parameter:

* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)

***

### Bounds2D

2-Dimensions bounds.
Fields

| Type | Name     | Default | Description |
| ---- | -------- | ------- | ----------- |
| u    | Bounds1D |         |             |
| v    | Bounds1D |         |             |

***

### BrickDefinition

Fields

| Type       | Name      | Default   | Description |
| ---------- | --------- | --------- | ----------- |
| type       | BrickType | Rectangle |             |
| length     | Int       | 1         |             |
| width      | Int       | 1         |             |
| fullHeight | Boolean   | True      |             |

***

### BrickDefinitionList

List of [cad.BrickDefinition](./cad_types#brickdefinition)

***

### BrickType

Enum of [core.Int](./core_types#int)

| Name        | Value |
| ----------- | ----- |
| Rectangle   | 0     |
| CornerLeft  | 1     |
| CornerRight | 2     |

***

### CADEntity

CADEntity is the base type for the CAD module entities.
Base class: [geom.GeomEntity](./geom_types#geomentity)

Derived classes:

* [ClosedShell](./cad_types#closedshell)
* [CoEdge](./cad_types#coedge)
* [Curve](./cad_types#curve)
* [Loop](./cad_types#loop)
* [Model](./cad_types#model)
* [Shape](./cad_types#shape)
* [Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class CADEntity
    GeomEntity <|-- CADEntity
        CADEntity <|-- ClosedShell
    ClosedShell : +core.Ident Id
        CADEntity <|-- CoEdge
    CoEdge : +core.Entity Surface
    CoEdge : +core.Entity Curve2D
        CADEntity <|-- Curve
        CADEntity <|-- Loop
    Loop : +core.Ident Id
        CADEntity <|-- Model
    Model : +core.Ident Id
        CADEntity <|-- Shape
        CADEntity <|-- Surface
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### CircleCurve

Circle curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class CircleCurve
    Curve <|-- CircleCurve
    CircleCurve : +core.Ident Id
    CircleCurve : +core.Real Radius
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### ClosedShell

A Face is the topological entity relative to a set of surface, which is closed.
Base class: [cad.CADEntity](./cad_types#cadentity)


**Frame:**
```mermaid
classDiagram
    class ClosedShell
    CADEntity <|-- ClosedShell
    ClosedShell : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.createBody](./cad_functions#createbody)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### ClosedShellList

List of [cad.ClosedShell](./cad_types#closedshell)

Functions accepting this type or a list of this type as a parameter:

* [cad.createBody](./cad_functions#createbody)

***

### CoEdge

A connected edge is an edge part of a loop.
Base class: [cad.CADEntity](./cad_types#cadentity)


**Frame:**
```mermaid
classDiagram
    class CoEdge
    CADEntity <|-- CoEdge
    CoEdge : +core.Entity Surface
    CoEdge : +core.Entity Curve2D
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### CoEdgeList

List of [cad.CoEdge](./cad_types#coedge)

Functions accepting this type or a list of this type as a parameter:

* [cad.createLoop](./cad_functions#createloop)

***

### CompositeCurve

Curve compose of multiple curves.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class CompositeCurve
    Curve <|-- CompositeCurve
    CompositeCurve : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### ConeSurface

Cone surface.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class ConeSurface
    Surface <|-- ConeSurface
    ConeSurface : +core.Ident Id
    ConeSurface : +core.Real Radius
    ConeSurface : +core.Real SemiAngle
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### Curve

A Curve is a CAD entity defining the geometrical representation of a CAD spline.
Base class: [cad.CADEntity](./cad_types#cadentity)

Derived classes:

* [CircleCurve](./cad_types#circlecurve)
* [CompositeCurve](./cad_types#compositecurve)
* [EllipseCurve](./cad_types#ellipsecurve)
* [HelixCurve](./cad_types#helixcurve)
* [HermiteCurve](./cad_types#hermitecurve)
* [HyperbolaCurve](./cad_types#hyperbolacurve)
* [IntersectionCurve](./cad_types#intersectioncurve)
* [LineCurve](./cad_types#linecurve)
* [NURBSCurve](./cad_types#nurbscurve)
* [OffsetCurve](./cad_types#offsetcurve)
* [ParabolaCurve](./cad_types#parabolacurve)
* [PolylineCurve](./cad_types#polylinecurve)
* [SegmentCurve](./cad_types#segmentcurve)
* [SurfacicCurve](./cad_types#surfaciccurve)
* [TransformedCurve](./cad_types#transformedcurve)


**Frame:**
```mermaid
classDiagram
    class Curve
    CADEntity <|-- Curve
        Curve <|-- CircleCurve
    CircleCurve : +core.Ident Id
    CircleCurve : +core.Real Radius
        Curve <|-- CompositeCurve
    CompositeCurve : +core.Ident Id
        Curve <|-- EllipseCurve
    EllipseCurve : +core.Ident Id
    EllipseCurve : +core.Real Radius1
    EllipseCurve : +core.Real Radius2
        Curve <|-- HelixCurve
        Curve <|-- HermiteCurve
    HermiteCurve : +core.Ident Id
        Curve <|-- HyperbolaCurve
    HyperbolaCurve : +core.Ident Id
    HyperbolaCurve : +core.Real Radius1
    HyperbolaCurve : +core.Real Radius2
        Curve <|-- IntersectionCurve
    IntersectionCurve : +core.Ident Id
    IntersectionCurve : +core.Entity FirstSurface
    IntersectionCurve : +core.Entity SecondSurface
    IntersectionCurve : +core.Entity Chart
    IntersectionCurve : +geom.Bounds1D Bounds
        Curve <|-- LineCurve
    LineCurve : +core.Ident Id
    LineCurve : +geom.Point3 Origin
    LineCurve : +geom.Vector3 Direction
        Curve <|-- NURBSCurve
    NURBSCurve : +core.Ident Id
    NURBSCurve : +geom.Point3 Origin
    NURBSCurve : +geom.Vector3 Direction
        Curve <|-- OffsetCurve
    OffsetCurve : +core.Ident Id
    OffsetCurve : +core.Entity Curve
    OffsetCurve : +geom.Vector3 Direction
    OffsetCurve : +core.Real Distance
        Curve <|-- ParabolaCurve
    ParabolaCurve : +core.Ident Id
    ParabolaCurve : +core.Real FocalLength
        Curve <|-- PolylineCurve
    PolylineCurve : +core.Ident Id
        Curve <|-- SegmentCurve
    SegmentCurve : +core.Ident Id
    SegmentCurve : +geom.Point3 StartPoint
    SegmentCurve : +geom.Point3 EndPoint
        Curve <|-- SurfacicCurve
    SurfacicCurve : +core.Ident Id
    SurfacicCurve : +core.Entity Surface
    SurfacicCurve : +core.Entity Curve2D
        Curve <|-- TransformedCurve
    TransformedCurve : +core.Ident Id
    TransformedCurve : +core.Entity Curve
    TransformedCurve : +geom.Matrix4 Matrix
```

Functions accepting this type or a list of this type as a parameter:

* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### CurveExtrusionSurface

Extrusion of a curve by a curve.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class CurveExtrusionSurface
    Surface <|-- CurveExtrusionSurface
    CurveExtrusionSurface : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### CurveList

List of [cad.Curve](./cad_types#curve)

Functions accepting this type or a list of this type as a parameter:

* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createMultiExtrusion](./cad_functions#createmultiextrusion)

***

### CurveListList

List of [cad.CurveList](./cad_types#curvelist)

Functions accepting this type or a list of this type as a parameter:

* [cad.createMultiExtrusion](./cad_functions#createmultiextrusion)

***

### CylinderSurface

Cylinder surface.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class CylinderSurface
    Surface <|-- CylinderSurface
    CylinderSurface : +core.Ident Id
    CylinderSurface : +core.Real Radius
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### Edge

An Edge is the topological entity relative to a Curve.
Base class: [scene.Shape](./scene_types#shape)


**Frame:**
```mermaid
classDiagram
    class Edge
    Shape <|-- Edge
    Edge : +core.Entity Model
```

Functions accepting this type or a list of this type as a parameter:

* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### EdgeList

List of [polygonal.Edge](./polygonal_types#edge)

***

### EdgeListList

List of [cad.EdgeList](./cad_types#edgelist)

***

### EllipseCurve

Ellipse curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class EllipseCurve
    Curve <|-- EllipseCurve
    EllipseCurve : +core.Ident Id
    EllipseCurve : +core.Real Radius1
    EllipseCurve : +core.Real Radius2
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### EllipticConeSurface

Elliptical cone surface.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class EllipticConeSurface
    Surface <|-- EllipticConeSurface
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### ExtrusionBoundaryType

Enum of [core.Int](./core_types#int)

| Name | Value |
| ---- | ----- |
| Full | 0     |
| Hole | 1     |
| Open | 2     |

Functions accepting this type or a list of this type as a parameter:

* [cad.createBoundedLinearExtrusion](./cad_functions#createboundedlinearextrusion)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.createLinearExtrusion](./cad_functions#createlinearextrusion)
* [cad.createMultiExtrusion](./cad_functions#createmultiextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)

***

### Face

A Face is the topological entity relative to a surface and bounded by loops.
Base class: [scene.Shape](./scene_types#shape)


**Frame:**
```mermaid
classDiagram
    class Face
    Shape <|-- Face
    Face : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getFaceMaterial](./cad_functions#getfacematerial)
* [cad.setFaceMaterial](./cad_functions#setfacematerial)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### FaceList

List of [cad.Face](./cad_types#face)

Functions accepting this type or a list of this type as a parameter:

* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.invertFaces](./cad_functions#invertfaces)

***

### HelixCurve

Helix curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class HelixCurve
    Curve <|-- HelixCurve
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### HermiteCurve

Hermite curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class HermiteCurve
    Curve <|-- HermiteCurve
    HermiteCurve : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### HyperbolaCurve

Hyperbola curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class HyperbolaCurve
    Curve <|-- HyperbolaCurve
    HyperbolaCurve : +core.Ident Id
    HyperbolaCurve : +core.Real Radius1
    HyperbolaCurve : +core.Real Radius2
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### IntersectionCurve

The result of the intersection between txo surfaces.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class IntersectionCurve
    Curve <|-- IntersectionCurve
    IntersectionCurve : +core.Ident Id
    IntersectionCurve : +core.Entity FirstSurface
    IntersectionCurve : +core.Entity SecondSurface
    IntersectionCurve : +core.Entity Chart
    IntersectionCurve : +geom.Bounds1D Bounds
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### LineCurve

Line curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class LineCurve
    Curve <|-- LineCurve
    LineCurve : +core.Ident Id
    LineCurve : +geom.Point3 Origin
    LineCurve : +geom.Vector3 Direction
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### Loop

A Loop is a cyclic list of edges. It is used to define boundaries of faces.
Base class: [cad.CADEntity](./cad_types#cadentity)


**Frame:**
```mermaid
classDiagram
    class Loop
    CADEntity <|-- Loop
    Loop : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.createFace](./cad_functions#createface)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### LoopList

List of [cad.Loop](./cad_types#loop)

Functions accepting this type or a list of this type as a parameter:

* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createFace](./cad_functions#createface)

***

### Model

A Model is a CAD entity which contains a set of bodies and surfacic faces.
Base class: [cad.CADEntity](./cad_types#cadentity)


**Frame:**
```mermaid
classDiagram
    class Model
    CADEntity <|-- Model
    Model : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.getAllModelFaces](./cad_functions#getallmodelfaces)
* [cad.getModelBodies](./cad_functions#getmodelbodies)
* [cad.getModelBoundaries](./cad_functions#getmodelboundaries)
* [cad.getModelEdges](./cad_functions#getmodeledges)
* [cad.getModelOpenShells](./cad_functions#getmodelopenshells)
* [cad.getModelPrecision](./cad_functions#getmodelprecision)
* [cad.getModelVertices](./cad_functions#getmodelvertices)
* [scene.setPartModel](./scene_functions#setpartmodel)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### ModelList

List of [cad.Model](./cad_types#model)

***

### NURBSCurve

Nurbs curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class NURBSCurve
    Curve <|-- NURBSCurve
    NURBSCurve : +core.Ident Id
    NURBSCurve : +geom.Point3 Origin
    NURBSCurve : +geom.Vector3 Direction
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### NURBSSurface

Nurbs surface.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class NURBSSurface
    Surface <|-- NURBSSurface
    NURBSSurface : +core.Ident Id
    NURBSSurface : +core.Int DegreeU
    NURBSSurface : +core.Int DegreeV
    NURBSSurface : +core.Boolean PeriodicU
    NURBSSurface : +core.Boolean PeriodicV
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### OffsetCurve

Offset curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class OffsetCurve
    Curve <|-- OffsetCurve
    OffsetCurve : +core.Ident Id
    OffsetCurve : +core.Entity Curve
    OffsetCurve : +geom.Vector3 Direction
    OffsetCurve : +core.Real Distance
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### OffsetSurface

Offset surface.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class OffsetSurface
    Surface <|-- OffsetSurface
    OffsetSurface : +core.Ident Id
    OffsetSurface : +core.Entity BaseSurface
    OffsetSurface : +core.Real Distance
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### OpenShell

A OpenShell is the topological entity relative to a set of surface, which is open. It can be restricted by a set of loops.
Base class: [scene.Shape](./scene_types#shape)


**Frame:**
```mermaid
classDiagram
    class OpenShell
    Shape <|-- OpenShell
    OpenShell : +core.Entity Model
```

Functions accepting this type or a list of this type as a parameter:

* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### OpenShellList

List of [cad.OpenShell](./cad_types#openshell)

***

### OrientedEdge

Edge with an orientation.
Fields

| Type        | Name        | Default | Description |
| ----------- | ----------- | ------- | ----------- |
| edge        | Edge        | 0       |             |
| orientation | Orientation | True    |             |

***

### OrientedEdgeList

List of [cad.OrientedEdge](./cad_types#orientededge)

***

### OrientedFace

Face with an orientation.
Fields

| Type        | Name        | Default | Description |
| ----------- | ----------- | ------- | ----------- |
| face        | Face        | 0       |             |
| orientation | Orientation | True    |             |

***

### OrientedFaceList

List of [cad.OrientedFace](./cad_types#orientedface)

***

### ParabolaCurve

Parabola curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class ParabolaCurve
    Curve <|-- ParabolaCurve
    ParabolaCurve : +core.Ident Id
    ParabolaCurve : +core.Real FocalLength
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### PlaneSurface

Plane surface.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class PlaneSurface
    Surface <|-- PlaneSurface
    PlaneSurface : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### PolylineCurve

Line curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class PolylineCurve
    Curve <|-- PolylineCurve
    PolylineCurve : +core.Ident Id
```

Functions accepting this type or a list of this type as a parameter:

* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### ProfileBase

List of [cad.ProfileLoop](./cad_types#profileloop)

Functions accepting this type or a list of this type as a parameter:

* [cad.createBoundedLinearExtrusion](./cad_functions#createboundedlinearextrusion)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.createLinearExtrusion](./cad_functions#createlinearextrusion)
* [cad.createMultiExtrusion](./cad_functions#createmultiextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)

***

### ProfileBaseList

List of [cad.ProfileBase](./cad_types#profilebase)

Functions accepting this type or a list of this type as a parameter:

* [cad.createMultiExtrusion](./cad_functions#createmultiextrusion)

***

### ProfileLoop

Fields

| Type    | Name             | Default | Description |
| ------- | ---------------- | ------- | ----------- |
| edges   | OrientedEdgeList |         |             |
| isOuter | Boolean          | True    |             |

Functions accepting this type or a list of this type as a parameter:

* [cad.createBoundedLinearExtrusion](./cad_functions#createboundedlinearextrusion)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.createLinearExtrusion](./cad_functions#createlinearextrusion)
* [cad.createRevolveExtrusion](./cad_functions#createrevolveextrusion)

***

### RevolutionSurface

Revolution of curve around an axis.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class RevolutionSurface
    Surface <|-- RevolutionSurface
    RevolutionSurface : +core.Ident Id
    RevolutionSurface : +core.Entity GeneratrixCurve
    RevolutionSurface : +geom.Point3 AxisOrigin
    RevolutionSurface : +geom.Point3 AxisDirection
    RevolutionSurface : +core.Real StartAngle
    RevolutionSurface : +core.Real EndAngle
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### RuledSurface

Ruled surface between two curves.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class RuledSurface
    Surface <|-- RuledSurface
    RuledSurface : +core.Ident Id
    RuledSurface : +core.Entity FirstCurve
    RuledSurface : +core.Entity SecondCurve
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### SegmentCurve

Segment curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class SegmentCurve
    Curve <|-- SegmentCurve
    SegmentCurve : +core.Ident Id
    SegmentCurve : +geom.Point3 StartPoint
    SegmentCurve : +geom.Point3 EndPoint
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### Shape

A Shape is the base type for CAD topology entities.
Base class: [cad.CADEntity](./cad_types#cadentity)

Derived classes:

* [Body](./cad_types#body)
* [Edge](./cad_types#edge)
* [Face](./cad_types#face)
* [OpenShell](./cad_types#openshell)
* [Vertex](./cad_types#vertex)


**Frame:**
```mermaid
classDiagram
    class Shape
    CADEntity <|-- Shape
        Shape <|-- Body
    Body : +core.Entity Model
        Shape <|-- Edge
    Edge : +core.Entity Model
        Shape <|-- Face
    Face : +core.Ident Id
        Shape <|-- OpenShell
    OpenShell : +core.Entity Model
        Shape <|-- Vertex
    Vertex : +core.Entity Model
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### SphereSurface

Sphere surface.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class SphereSurface
    Surface <|-- SphereSurface
    SphereSurface : +core.Ident Id
    SphereSurface : +core.Real Radius
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### SplittedEdge

Fields

| Type     | Name     | Default | Description |
| -------- | -------- | ------- | ----------- |
| oldEdge  | Edge     | 0       |             |
| newEdges | EdgeList |         |             |

***

### SplittedEdgeList

List of [cad.SplittedEdge](./cad_types#splittededge)

***

### Surface

A Surface is a CAD entity defining the geometrical representation of a CAD surface.
Base class: [cad.CADEntity](./cad_types#cadentity)

Derived classes:

* [ConeSurface](./cad_types#conesurface)
* [CurveExtrusionSurface](./cad_types#curveextrusionsurface)
* [CylinderSurface](./cad_types#cylindersurface)
* [EllipticConeSurface](./cad_types#ellipticconesurface)
* [NURBSSurface](./cad_types#nurbssurface)
* [OffsetSurface](./cad_types#offsetsurface)
* [PlaneSurface](./cad_types#planesurface)
* [RevolutionSurface](./cad_types#revolutionsurface)
* [RuledSurface](./cad_types#ruledsurface)
* [SphereSurface](./cad_types#spheresurface)
* [TabulatedCylinderSurface](./cad_types#tabulatedcylindersurface)
* [TorusSurface](./cad_types#torussurface)


**Frame:**
```mermaid
classDiagram
    class Surface
    CADEntity <|-- Surface
        Surface <|-- ConeSurface
    ConeSurface : +core.Ident Id
    ConeSurface : +core.Real Radius
    ConeSurface : +core.Real SemiAngle
        Surface <|-- CurveExtrusionSurface
    CurveExtrusionSurface : +core.Ident Id
        Surface <|-- CylinderSurface
    CylinderSurface : +core.Ident Id
    CylinderSurface : +core.Real Radius
        Surface <|-- EllipticConeSurface
        Surface <|-- NURBSSurface
    NURBSSurface : +core.Ident Id
    NURBSSurface : +core.Int DegreeU
    NURBSSurface : +core.Int DegreeV
    NURBSSurface : +core.Boolean PeriodicU
    NURBSSurface : +core.Boolean PeriodicV
        Surface <|-- OffsetSurface
    OffsetSurface : +core.Ident Id
    OffsetSurface : +core.Entity BaseSurface
    OffsetSurface : +core.Real Distance
        Surface <|-- PlaneSurface
    PlaneSurface : +core.Ident Id
        Surface <|-- RevolutionSurface
    RevolutionSurface : +core.Ident Id
    RevolutionSurface : +core.Entity GeneratrixCurve
    RevolutionSurface : +geom.Point3 AxisOrigin
    RevolutionSurface : +geom.Point3 AxisDirection
    RevolutionSurface : +core.Real StartAngle
    RevolutionSurface : +core.Real EndAngle
        Surface <|-- RuledSurface
    RuledSurface : +core.Ident Id
    RuledSurface : +core.Entity FirstCurve
    RuledSurface : +core.Entity SecondCurve
        Surface <|-- SphereSurface
    SphereSurface : +core.Ident Id
    SphereSurface : +core.Real Radius
        Surface <|-- TabulatedCylinderSurface
    TabulatedCylinderSurface : +core.Ident Id
    TabulatedCylinderSurface : +core.Entity DirectrixCurve
    TabulatedCylinderSurface : +geom.Vector3 GeneratrixLine
    TabulatedCylinderSurface : +geom.Bounds1D Range
        Surface <|-- TorusSurface
    TorusSurface : +core.Ident Id
    TorusSurface : +core.Real MajorRadius
    TorusSurface : +core.Real MinorRadius
```

Functions accepting this type or a list of this type as a parameter:

* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### SurfacicCurve

Surfacic curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class SurfacicCurve
    Curve <|-- SurfacicCurve
    SurfacicCurve : +core.Ident Id
    SurfacicCurve : +core.Entity Surface
    SurfacicCurve : +core.Entity Curve2D
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### TabulatedCylinderSurface

Extrusion of a curve by a segment.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class TabulatedCylinderSurface
    Surface <|-- TabulatedCylinderSurface
    TabulatedCylinderSurface : +core.Ident Id
    TabulatedCylinderSurface : +core.Entity DirectrixCurve
    TabulatedCylinderSurface : +geom.Vector3 GeneratrixLine
    TabulatedCylinderSurface : +geom.Bounds1D Range
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### TorusSurface

Torus surface.
Base class: [cad.Surface](./cad_types#surface)


**Frame:**
```mermaid
classDiagram
    class TorusSurface
    Surface <|-- TorusSurface
    TorusSurface : +core.Ident Id
    TorusSurface : +core.Real MajorRadius
    TorusSurface : +core.Real MinorRadius
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createFace](./cad_functions#createface)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)
* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### TorusType

Enum of [core.Int](./core_types#int)

| Name   | Value |
| ------ | ----- |
| Donut  | 0     |
| Vortex | 1     |
| Apple  | 2     |
| Lemon  | 3     |

***

### TransformedCurve

Transoformed curve.
Base class: [cad.Curve](./cad_types#curve)


**Frame:**
```mermaid
classDiagram
    class TransformedCurve
    Curve <|-- TransformedCurve
    TransformedCurve : +core.Ident Id
    TransformedCurve : +core.Entity Curve
    TransformedCurve : +geom.Matrix4 Matrix
```

Functions accepting this type or a list of this type as a parameter:

* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)
* [cad.createCurveExtrusion](./cad_functions#createcurveextrusion)
* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### Vertex

A Vertex is the topological entity used to define a point in space.
Base class: [scene.Shape](./scene_types#shape)


**Frame:**
```mermaid
classDiagram
    class Vertex
    Shape <|-- Vertex
    Vertex : +core.Entity Model
```

Functions accepting this type or a list of this type as a parameter:

* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.getReferencers](./cad_functions#getreferencers)
* [geom.applyTransform](./geom_functions#applytransform)
* [geom.getEntityAABB](./geom_functions#getentityaabb)
* [core.cloneEntity](./core_functions#cloneentity)
* [core.deleteEntities](./core_functions#deleteentities)
* [core.entityExists](./core_functions#entityexists)
* [core.getEntityType](./core_functions#getentitytype)
* [core.getEntityTypeString](./core_functions#getentitytypestring)
* [core.addCustomProperties](./core_functions#addcustomproperties)
* [core.addCustomProperty](./core_functions#addcustomproperty)
* [core.getProperties](./core_functions#getproperties)
* [core.getProperty](./core_functions#getproperty)
* [core.getPropertyInfo](./core_functions#getpropertyinfo)
* [core.hasCustomProperty](./core_functions#hascustomproperty)
* [core.hasProperty](./core_functions#hasproperty)
* [core.listProperties](./core_functions#listproperties)
* [core.listPropertiesBatch](./core_functions#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions#removecustomproperty)
* [core.setProperties](./core_functions#setproperties)
* [core.setProperty](./core_functions#setproperty)
* [core.supportCustomProperties](./core_functions#supportcustomproperties)
* [core.unsetProperty](./core_functions#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions#unlinkpropertytoanimation)

***

### VertexList

List of [polygonal.Vertex](./polygonal_types#vertex)
