# CAD

> Python API functions

### configureFunctionLogger

```python
cad.configureFunctionLogger(functionName, enableFunction, enableParameters, enableExecutionTime)
```

Parameters

| Type                            | Name                | Description |
| ------------------------------- | ------------------- | ----------- |
| [String](./core_types#string)   | functionName        |             |
| [Boolean](./core_types#boolean) | enableFunction      |             |
| [Boolean](./core_types#boolean) | enableParameters    |             |
| [Boolean](./core_types#boolean) | enableExecutionTime |             |

### getPrecision

Get the CAD precision.

```python
cad.getPrecision() -> geom.Distance
```

Returns

| Type                              | Name      | Description            |
| --------------------------------- | --------- | ---------------------- |
| [Distance](./geom_types#distance) | precision | The current precision. |

### getUnitLength

Get the CAD unity length property.

```python
cad.getUnitLength() -> geom.Distance
```

Returns

| Type                              | Name      | Description              |
| --------------------------------- | --------- | ------------------------ |
| [Distance](./geom_types#distance) | precision | The current unit length. |

### setUnitLength

Set the CAD unity length property.

```python
cad.setUnitLength(precision=0.02)
```

Parameters

| Type                              | Name      | Description  |
| --------------------------------- | --------- | ------------ |
| [Distance](./geom_types#distance) | precision | Unit length. |

## Boolean Operators

### solidIntersection

Perform boolean operation intersection on two bodies (A ^ B).

```python
cad.solidIntersection(A, B) -> cad.BodyList
```

Parameters

| Type                     | Name | Description      |
| ------------------------ | ---- | ---------------- |
| [Body](./cad_types#body) | A    | The first body.  |
| [Body](./cad_types#body) | B    | The second body. |

Returns

| Type                             | Name   | Description               |
| -------------------------------- | ------ | ------------------------- |
| [BodyList](./cad_types#bodylist) | result | List of resulting bodies. |

See also:

* [cad.solidSubtraction](./cad_functions#solidsubtraction)
* [cad.solidUnion](./cad_functions#solidunion)

### solidSubtraction

Perform boolean operation subtraction on two bodies (A - B).

```python
cad.solidSubtraction(A, B) -> cad.BodyList
```

Parameters

| Type                     | Name | Description      |
| ------------------------ | ---- | ---------------- |
| [Body](./cad_types#body) | A    | The first body.  |
| [Body](./cad_types#body) | B    | The second body. |

Returns

| Type                             | Name   | Description               |
| -------------------------------- | ------ | ------------------------- |
| [BodyList](./cad_types#bodylist) | result | List of resulting bodies. |

See also:

* [cad.solidIntersection](./cad_functions#solidintersection)
* [cad.solidUnion](./cad_functions#solidunion)

### solidUnion

Perform boolean operation union on two bodies (A + B).

```python
cad.solidUnion(A, B) -> cad.BodyList
```

Parameters

| Type                     | Name | Description      |
| ------------------------ | ---- | ---------------- |
| [Body](./cad_types#body) | A    | The first body.  |
| [Body](./cad_types#body) | B    | The second body. |

Returns

| Type                             | Name   | Description               |
| -------------------------------- | ------ | ------------------------- |
| [BodyList](./cad_types#bodylist) | result | List of resulting bodies. |

See also:

* [cad.solidIntersection](./cad_functions#solidintersection)
* [cad.solidSubtraction](./cad_functions#solidsubtraction)

## curves

### createBezierCurve

Create a Bezier curve.

```python
cad.createBezierCurve(poles) -> cad.Curve
```

Parameters

| Type                                  | Name  | Description |
| ------------------------------------- | ----- | ----------- |
| [Point3List](./geom_types#point3list) | poles | Poles list. |

Returns

| Type                       | Name        | Description   |
| -------------------------- | ----------- | ------------- |
| [Curve](./cad_types#curve) | BezierCurve | Bezier curve. |

See also:

* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createCircleCurve

Create a new circle.

```python
cad.createCircleCurve(radius, matrix=geom.IdentityMatrix4) -> cad.Curve
```

Parameters

| Type                              | Name   | Description            |
| --------------------------------- | ------ | ---------------------- |
| [Distance](./geom_types#distance) | radius | Circle radius.         |
| [Matrix4](./geom_types#matrix4)   | matrix | Transformation matrix. |

Returns

| Type                       | Name        | Description             |
| -------------------------- | ----------- | ----------------------- |
| [Curve](./cad_types#curve) | circleCurve | Generated circle curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createCompositeCurve

Create a composite curve from a list of limited curves.

```python
cad.createCompositeCurve(CurveList) -> cad.Curve
```

Parameters

| Type                               | Name      | Description             |
| ---------------------------------- | --------- | ----------------------- |
| [CurveList](./cad_types#curvelist) | CurveList | List of limited curves. |

Returns

| Type                       | Name           | Description                                              |
| -------------------------- | -------------- | -------------------------------------------------------- |
| [Curve](./cad_types#curve) | compositeCurve | Composite curve created from the list of limited curves. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createCosinusCurve

Create a cosinus curve.

```python
cad.createCosinusCurve(Amplitude, Offset, Period, matrix) -> cad.Curve
```

Parameters

| Type                              | Name      | Description            |
| --------------------------------- | --------- | ---------------------- |
| [Distance](./geom_types#distance) | Amplitude | Cosinus amplitude.     |
| [Distance](./geom_types#distance) | Offset    | Cosinus offset.        |
| [Distance](./geom_types#distance) | Period    | Cosinus period.        |
| [Matrix4](./geom_types#matrix4)   | matrix    | Transformation matrix. |

Returns

| Type                       | Name         | Description    |
| -------------------------- | ------------ | -------------- |
| [Curve](./cad_types#curve) | cosinusCurve | Cosinus curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createEllipseCurve

Create an ellipse curve.

```python
cad.createEllipseCurve(URadius, VRadius, matrix=geom.IdentityMatrix4) -> cad.Curve
```

Parameters

| Type                              | Name    | Description                    |
| --------------------------------- | ------- | ------------------------------ |
| [Distance](./geom_types#distance) | URadius | Ellipse radius in u direction. |
| [Distance](./geom_types#distance) | VRadius | Ellipse radius in v direction. |
| [Matrix4](./geom_types#matrix4)   | matrix  | Transformation matrix.         |

Returns

| Type                       | Name         | Description    |
| -------------------------- | ------------ | -------------- |
| [Curve](./cad_types#curve) | ellipseCurve | Ellipse curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createHelixCurve

Create an helix curve.

```python
cad.createHelixCurve(radius, pitch, matrix=geom.IdentityMatrix4, trigonometrixOrientation=True) -> cad.Curve
```

Parameters

| Type                              | Name                     | Description                  |
| --------------------------------- | ------------------------ | ---------------------------- |
| [Distance](./geom_types#distance) | radius                   | Radius of the helix.         |
| [Distance](./geom_types#distance) | pitch                    | Height of one revolution.    |
| [Matrix4](./geom_types#matrix4)   | matrix                   | Transformation matrix.       |
| [Boolean](./core_types#boolean)   | trigonometrixOrientation | Orientation of the rotation. |

Returns

| Type                       | Name       | Description  |
| -------------------------- | ---------- | ------------ |
| [Curve](./cad_types#curve) | helixCurve | Helix curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createHermiteCurve

Create a Hermite Curve.

```python
cad.createHermiteCurve(FirstPoint, FirstTangent, SecondPoint, SecondTangent) -> cad.Curve
```

Parameters

| Type                          | Name          | Description                    |
| ----------------------------- | ------------- | ------------------------------ |
| [Point3](./geom_types#point3) | FirstPoint    | Starting point of the curve.   |
| [Point3](./geom_types#point3) | FirstTangent  | Tangent of the starting point. |
| [Point3](./geom_types#point3) | SecondPoint   | Ending point of the curve.     |
| [Point3](./geom_types#point3) | SecondTangent | Tangent of the ending point.   |

Returns

| Type                       | Name         | Description    |
| -------------------------- | ------------ | -------------- |
| [Curve](./cad_types#curve) | HermiteCurve | Hermite curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createHyperbolaCurve

Create an hyperBola curve.

```python
cad.createHyperbolaCurve(URadius, VRadius, matrix=geom.IdentityMatrix4) -> cad.Curve
```

Parameters

| Type                            | Name    | Description                      |
| ------------------------------- | ------- | -------------------------------- |
| [Double](./core_types#double)   | URadius | Hyperbola radius in u direction. |
| [Double](./core_types#double)   | VRadius | Hyperbola radius in v direction. |
| [Matrix4](./geom_types#matrix4) | matrix  | Transformation matrix.           |

Returns

| Type                       | Name          | Description      |
| -------------------------- | ------------- | ---------------- |
| [Curve](./cad_types#curve) | parabolaCurve | Hyperbola curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createIntersectionCurve

Create a Intersection Curve.

```python
cad.createIntersectionCurve(firstSurface, secondSurface, chart, minBounds, maxBounds) -> cad.Curve
```

Parameters

| Type                                       | Name          | Description                                            |
| ------------------------------------------ | ------------- | ------------------------------------------------------ |
| [Surface](./cad_types#surface)             | firstSurface  | First surface of the intersection curve.               |
| [Surface](./cad_types#surface)             | secondSurface | Second surface of the intersection curve.              |
| [PolylineCurve](./cad_types#polylinecurve) | chart         | Direction curve of the intersection curve.             |
| [Double](./core_types#double)              | minBounds     | Minimum value of the bounds of the intersection curve. |
| [Double](./core_types#double)              | maxBounds     | Maximum value of the bounds of the intersection curve. |

Returns

| Type                       | Name              | Description         |
| -------------------------- | ----------------- | ------------------- |
| [Curve](./cad_types#curve) | IntersectionCurve | Intersection curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createLineCurve

Create a Line Curve.

```python
cad.createLineCurve(OriginPt, DirectionPt) -> cad.Curve
```

Parameters

| Type                          | Name        | Description                         |
| ----------------------------- | ----------- | ----------------------------------- |
| [Point3](./geom_types#point3) | OriginPt    | Orinin point of the line curve.     |
| [Point3](./geom_types#point3) | DirectionPt | Direction vector of the line curve. |

Returns

| Type                       | Name      | Description |
| -------------------------- | --------- | ----------- |
| [Curve](./cad_types#curve) | LineCurve | Line curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createNURBSCurve

Create a NURBS curve.

```python
cad.createNURBSCurve(degree, knots, poles, weights=None) -> cad.Curve
```

Parameters

| Type                                  | Name    | Description          |
| ------------------------------------- | ------- | -------------------- |
| [Int](./core_types#int)               | degree  | Degree of the curve. |
| [DoubleList](./core_types#doublelist) | knots   | Knots of the curve.  |
| [Point3List](./geom_types#point3list) | poles   | Poles list.          |
| [DoubleList](./core_types#doublelist) | weights | Weight list.         |

Returns

| Type                       | Name       | Description  |
| -------------------------- | ---------- | ------------ |
| [Curve](./cad_types#curve) | NURBSCurve | NURBS curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createParabolaCurve

Create an parabola curve.

```python
cad.createParabolaCurve(focalLength, matrix=geom.IdentityMatrix4) -> cad.Curve
```

Parameters

| Type                            | Name        | Description                    |
| ------------------------------- | ----------- | ------------------------------ |
| [Double](./core_types#double)   | focalLength | Focal lecngth of the parabola. |
| [Matrix4](./geom_types#matrix4) | matrix      | Transformation matrix.         |

Returns

| Type                       | Name          | Description     |
| -------------------------- | ------------- | --------------- |
| [Curve](./cad_types#curve) | parabolaCurve | Parabola curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createPolylineCurve

Create a Polyline curve.

```python
cad.createPolylineCurve(points, parameters=None) -> cad.Curve
```

Parameters

| Type                                  | Name       | Description               |
| ------------------------------------- | ---------- | ------------------------- |
| [Point3List](./geom_types#point3list) | points     | Points of polyline curve. |
| [DoubleList](./core_types#doublelist) | parameters | Params of polyline curve. |

Returns

| Type                       | Name          | Description     |
| -------------------------- | ------------- | --------------- |
| [Curve](./cad_types#curve) | polylineCurve | Polyline curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createSegmentCurve

Create a segment curve from two given points.

```python
cad.createSegmentCurve(firstPoint, secondPoint) -> cad.Curve
```

Parameters

| Type                          | Name        | Description   |
| ----------------------------- | ----------- | ------------- |
| [Point3](./geom_types#point3) | firstPoint  | First point.  |
| [Point3](./geom_types#point3) | secondPoint | Second point. |

Returns

| Type                       | Name         | Description                                      |
| -------------------------- | ------------ | ------------------------------------------------ |
| [Curve](./cad_types#curve) | segmentCurve | Segment curve created from the two given points. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createSurfacicCurve

Create a curve from a surface.

```python
cad.createSurfacicCurve(surface, curve2D) -> cad.Curve
```

Parameters

| Type                           | Name    | Description       |
| ------------------------------ | ------- | ----------------- |
| [Surface](./cad_types#surface) | surface | Surface to bound. |
| [Curve](./cad_types#curve)     | curve2D | Curve to project. |

Returns

| Type                       | Name          | Description                       |
| -------------------------- | ------------- | --------------------------------- |
| [Curve](./cad_types#curve) | surfacicCurve | Curve projected on given surface. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### createTransformedCurve

Create a curve from a surface.

```python
cad.createTransformedCurve(curve, matrix=geom.IdentityMatrix4) -> cad.Curve
```

Parameters

| Type                            | Name   | Description                   |
| ------------------------------- | ------ | ----------------------------- |
| [Curve](./cad_types#curve)      | curve  | Curve to transform.           |
| [Matrix4](./geom_types#matrix4) | matrix | Matrix of the transformation. |

Returns

| Type                       | Name             | Description                            |
| -------------------------- | ---------------- | -------------------------------------- |
| [Curve](./cad_types#curve) | transformedCurve | Curve transformed by the given matrix. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.invertCurve](./cad_functions#invertcurve)

### invertCurve

Invert a curve parametricaly.

```python
cad.invertCurve(curve, precision) -> cad.Curve
```

Parameters

| Type                          | Name      | Description                             |
| ----------------------------- | --------- | --------------------------------------- |
| [Curve](./cad_types#curve)    | curve     | The curve to invert.                    |
| [Double](./core_types#double) | precision | The precision used to invert the curve. |

Returns

| Type                       | Name          | Description         |
| -------------------------- | ------------- | ------------------- |
| [Curve](./cad_types#curve) | invertedCurve | The inverted curve. |

See also:

* [cad.createBezierCurve](./cad_functions#createbeziercurve)
* [cad.createCircleCurve](./cad_functions#createcirclecurve)
* [cad.createCompositeCurve](./cad_functions#createcompositecurve)
* [cad.createCosinusCurve](./cad_functions#createcosinuscurve)
* [cad.createEllipseCurve](./cad_functions#createellipsecurve)
* [cad.createHelixCurve](./cad_functions#createhelixcurve)
* [cad.createHermiteCurve](./cad_functions#createhermitecurve)
* [cad.createHyperbolaCurve](./cad_functions#createhyperbolacurve)
* [cad.createIntersectionCurve](./cad_functions#createintersectioncurve)
* [cad.createLineCurve](./cad_functions#createlinecurve)
* [cad.createNURBSCurve](./cad_functions#createnurbscurve)
* [cad.createParabolaCurve](./cad_functions#createparabolacurve)
* [cad.createPolylineCurve](./cad_functions#createpolylinecurve)
* [cad.createSegmentCurve](./cad_functions#createsegmentcurve)
* [cad.createSurfacicCurve](./cad_functions#createsurfaciccurve)
* [cad.createTransformedCurve](./cad_functions#createtransformedcurve)

## extrusion creation

### createBoundedLinearExtrusion

Create a linear extrusion body.

```python
cad.createBoundedLinearExtrusion(direction, planeOrigin, planeNormal, profileBase, startingNormal, boundaryType=0, profileEnd=None) -> cad.CADEntity
```

Parameters

| Type                                                       | Name           | Description                                                   |
| ---------------------------------------------------------- | -------------- | ------------------------------------------------------------- |
| [Vector3](./geom_types#vector3)                            | direction      | The profile curves will be extruded in this direction.        |
| [Point3](./geom_types#point3)                              | planeOrigin    | The origin of the plane that bound the extrusion.             |
| [Vector3](./geom_types#vector3)                            | planeNormal    | The normal of the plane that bound the extrusion.             |
| [ProfileBase](./cad_types#profilebase)                     | profileBase    | Profile loops to extrude.                                     |
| [Vector3](./geom_types#vector3)                            | startingNormal | The normal of the plane in which all starting profile lie on. |
| [ExtrusionBoundaryType](./cad_types#extrusionboundarytype) | boundaryType   | If the profile curves define an area or not.                  |
| [ProfileBase](./cad_types#profilebase)                     | profileEnd     | The end profile of the extrusion.                             |

Returns

| Type                               | Name                   | Description                |
| ---------------------------------- | ---------------------- | -------------------------- |
| [CADEntity](./cad_types#cadentity) | boundedLinearExtrusion | The created body or shell. |

See also:

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

### createCurveExtrusion

Create a curve extrusion body.

```python
cad.createCurveExtrusion(curve, profileBase, startingNormal, boundaryType=0, profileEnd=None) -> cad.CADEntity
```

Parameters

| Type                                                       | Name           | Description                                                    |
| ---------------------------------------------------------- | -------------- | -------------------------------------------------------------- |
| [Curve](./cad_types#curve)                                 | curve          | The profile curves will be extruded along this curve.          |
| [ProfileBase](./cad_types#profilebase)                     | profileBase    | Profile loops to extrude.                                      |
| [Vector3](./geom_types#vector3)                            | startingNormal | The normal of the plane in which all starting profile lie one. |
| [ExtrusionBoundaryType](./cad_types#extrusionboundarytype) | boundaryType   | If the profile curves define an area or not.                   |
| [ProfileBase](./cad_types#profilebase)                     | profileEnd     | The end profile of the extrusion.                              |

Returns

| Type                               | Name           | Description                |
| ---------------------------------- | -------------- | -------------------------- |
| [CADEntity](./cad_types#cadentity) | curveExtrusion | The created body or shell. |

See also:

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

### createLinearExtrusion

Create a linear extrusion body.

```python
cad.createLinearExtrusion(direction, depth, profileBase, startingNormal, boundaryType=0, profileEnd=None) -> cad.CADEntity
```

Parameters

| Type                                                       | Name           | Description                                                   |
| ---------------------------------------------------------- | -------------- | ------------------------------------------------------------- |
| [Vector3](./geom_types#vector3)                            | direction      | The profile curves will be extruded in this direction.        |
| [Double](./core_types#double)                              | depth          | The extrusion will stop at the defined depth.                 |
| [ProfileBase](./cad_types#profilebase)                     | profileBase    | Profile loops to extrude.                                     |
| [Vector3](./geom_types#vector3)                            | startingNormal | The normal of the plane in which all starting profile lie on. |
| [ExtrusionBoundaryType](./cad_types#extrusionboundarytype) | boundaryType   | If the profile curves define an area or not.                  |
| [ProfileBase](./cad_types#profilebase)                     | profileEnd     | The end profile of the extrusion.                             |

Returns

| Type                               | Name            | Description                |
| ---------------------------------- | --------------- | -------------------------- |
| [CADEntity](./cad_types#cadentity) | linearExtrusion | The created body or shell. |

See also:

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

### createMultiExtrusion

Create a linear extrusion body.

```python
cad.createMultiExtrusion(profileBaseList, profileExtrusionList, boundaryType=0) -> cad.CADEntity
```

Parameters

| Type                                                       | Name                 | Description                                  |
| ---------------------------------------------------------- | -------------------- | -------------------------------------------- |
| [ProfileBaseList](./cad_types#profilebaselist)             | profileBaseList      | Profile loops to be extruded.                |
| [CurveListList](./cad_types#curvelistlist)                 | profileExtrusionList | Extrusion profiles.                          |
| [ExtrusionBoundaryType](./cad_types#extrusionboundarytype) | boundaryType         | If the profile curves define an area or not. |

Returns

| Type                               | Name                 | Description                |
| ---------------------------------- | -------------------- | -------------------------- |
| [CADEntity](./cad_types#cadentity) | multiLinearExtrusion | The created body or shell. |

See also:

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

### createRevolveExtrusion

Create a revolved extrusion body.

```python
cad.createRevolveExtrusion(center, axis, angle, profileBase, startingNormal, boundaryType=0, profileEnd=None) -> cad.CADEntity
```

Parameters

| Type                                                       | Name           | Description                                                   |
| ---------------------------------------------------------- | -------------- | ------------------------------------------------------------- |
| [Point3](./geom_types#point3)                              | center         | The center of revolution.                                     |
| [Vector3](./geom_types#vector3)                            | axis           | The profile curves will be revolved around this axis.         |
| [Double](./core_types#double)                              | angle          | The revolution will stop at the defined angle.                |
| [ProfileBase](./cad_types#profilebase)                     | profileBase    | Profile loops to revolve.                                     |
| [Vector3](./geom_types#vector3)                            | startingNormal | The normal of the plane in which all starting profile lie on. |
| [ExtrusionBoundaryType](./cad_types#extrusionboundarytype) | boundaryType   | If the profile curves define an area or not.                  |
| [ProfileBase](./cad_types#profilebase)                     | profileEnd     | The end profile of the extrusion.                             |

Returns

| Type                               | Name              | Description                |
| ---------------------------------- | ----------------- | -------------------------- |
| [CADEntity](./cad_types#cadentity) | revolvedExtrusion | The created body or shell. |

See also:

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

## material

### getFaceMaterial

Get the material on a face.

```python
cad.getFaceMaterial(face) -> material.Material
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Face](./cad_types#face) | face | The face.   |

Returns

| Type                                  | Name     | Description   |
| ------------------------------------- | -------- | ------------- |
| [Material](./material_types#material) | material | The material. |

See also:

* [cad.setFaceMaterial](./cad_functions#setfacematerial)

### setFaceMaterial

Set the material on a face.

```python
cad.setFaceMaterial(face, material)
```

Parameters

| Type                                  | Name     | Description   |
| ------------------------------------- | -------- | ------------- |
| [Face](./cad_types#face)              | face     | The face.     |
| [Material](./material_types#material) | material | The material. |

See also:

* [cad.getFaceMaterial](./cad_functions#getfacematerial)

## model management

### addBodyToModel

Add a body to the model.

```python
cad.addBodyToModel(body, model)
```

Parameters

| Type                       | Name  | Description              |
| -------------------------- | ----- | ------------------------ |
| [Body](./cad_types#body)   | body  | Body added to the model. |
| [Model](./cad_types#model) | model | Model.                   |

See also:

* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### addEdgeToModel

Add an edge to the model.

```python
cad.addEdgeToModel(edge, model)
```

Parameters

| Type                       | Name  | Description              |
| -------------------------- | ----- | ------------------------ |
| [Edge](./cad_types#edge)   | edge  | Edge added to the model. |
| [Model](./cad_types#model) | model | Model.                   |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### addOpenShellToModel

Add an open shell to the model.

```python
cad.addOpenShellToModel(shell, model)
```

Parameters

| Type                               | Name  | Description                    |
| ---------------------------------- | ----- | ------------------------------ |
| [OpenShell](./cad_types#openshell) | shell | Open shell added to the model. |
| [Model](./cad_types#model)         | model | Model.                         |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### addVertexToModel

Add a vertex to the model.

```python
cad.addVertexToModel(vtx, model)
```

Parameters

| Type                         | Name  | Description                |
| ---------------------------- | ----- | -------------------------- |
| [Vertex](./cad_types#vertex) | vtx   | Vertex added to the model. |
| [Model](./cad_types#model)   | model | Model.                     |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### buildFaces

Build faces from a surface and a set of loop.

```python
cad.buildFaces(surface, loopList) -> cad.FaceList, cad.SplittedEdgeList
```

Parameters

| Type                             | Name     | Description                            |
| -------------------------------- | -------- | -------------------------------------- |
| [Surface](./cad_types#surface)   | surface  | Surface used to build the faces.       |
| [LoopList](./cad_types#looplist) | loopList | List of Loops used to build the faces. |

Returns

| Type                                             | Name          | Description                                 |
| ------------------------------------------------ | ------------- | ------------------------------------------- |
| [FaceList](./cad_types#facelist)                 | faces         | The created faces.                          |
| [SplittedEdgeList](./cad_types#splittededgelist) | splittingInfo | Map between the old edges and the new ones. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### createModel

Create a new model.

```python
cad.createModel(precision=-1) -> cad.Model
```

Parameters

| Type                              | Name      | Description                   |
| --------------------------------- | --------- | ----------------------------- |
| [Distance](./geom_types#distance) | precision | CAD precision for this model. |

Returns

| Type                       | Name  | Description        |
| -------------------------- | ----- | ------------------ |
| [Model](./cad_types#model) | model | The created model. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### endThreadBrepSession

Create a new BrepSession on current thread.

```python
cad.endThreadBrepSession()
```

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### getAllModelFaces

Get all the face of a model recursively.

```python
cad.getAllModelFaces(model) -> cad.FaceList
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Model](./cad_types#model) | model | Model.      |

Returns

| Type                             | Name  | Description                       |
| -------------------------------- | ----- | --------------------------------- |
| [FaceList](./cad_types#facelist) | faces | List of faces in the given model. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### getModelBodies

Get the list of bodies contained in a model.

```python
cad.getModelBodies(model) -> cad.BodyList
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Model](./cad_types#model) | model | Model.      |

Returns

| Type                             | Name   | Description                                  |
| -------------------------------- | ------ | -------------------------------------------- |
| [BodyList](./cad_types#bodylist) | bodies | List of bodies contained in the given model. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [cad.getAllModelFaces](./cad_functions#getallmodelfaces)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### getModelBoundaries

Get boundary edges of a model grouped by cycles.

```python
cad.getModelBoundaries(model) -> cad.EdgeListList
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Model](./cad_types#model) | model | Model.      |

Returns

| Type                                     | Name       | Description                                                  |
| ---------------------------------------- | ---------- | ------------------------------------------------------------ |
| [EdgeListList](./cad_types#edgelistlist) | boundaries | List of boundary edges grouped by cycles in the given model. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [cad.getAllModelFaces](./cad_functions#getallmodelfaces)
* [cad.getModelBodies](./cad_functions#getmodelbodies)
* [cad.getModelEdges](./cad_functions#getmodeledges)
* [cad.getModelOpenShells](./cad_functions#getmodelopenshells)
* [cad.getModelPrecision](./cad_functions#getmodelprecision)
* [cad.getModelVertices](./cad_functions#getmodelvertices)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### getModelEdges

Get the list of free edges contained in a model.

```python
cad.getModelEdges(model) -> cad.EdgeList
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Model](./cad_types#model) | model | Model.      |

Returns

| Type                             | Name  | Description                                 |
| -------------------------------- | ----- | ------------------------------------------- |
| [EdgeList](./cad_types#edgelist) | edges | List of edges contained in the given model. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [cad.getAllModelFaces](./cad_functions#getallmodelfaces)
* [cad.getModelBodies](./cad_functions#getmodelbodies)
* [cad.getModelBoundaries](./cad_functions#getmodelboundaries)
* [cad.getModelOpenShells](./cad_functions#getmodelopenshells)
* [cad.getModelPrecision](./cad_functions#getmodelprecision)
* [cad.getModelVertices](./cad_functions#getmodelvertices)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### getModelOpenShells

Get the list of open shells contained in a model.

```python
cad.getModelOpenShells(model) -> cad.OpenShellList
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Model](./cad_types#model) | model | Model.      |

Returns

| Type                                       | Name   | Description                                       |
| ------------------------------------------ | ------ | ------------------------------------------------- |
| [OpenShellList](./cad_types#openshelllist) | shells | List of open shells contained in the given model. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [cad.getAllModelFaces](./cad_functions#getallmodelfaces)
* [cad.getModelBodies](./cad_functions#getmodelbodies)
* [cad.getModelBoundaries](./cad_functions#getmodelboundaries)
* [cad.getModelEdges](./cad_functions#getmodeledges)
* [cad.getModelPrecision](./cad_functions#getmodelprecision)
* [cad.getModelVertices](./cad_functions#getmodelvertices)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### getModelPrecision

Get the precision used in a model.

```python
cad.getModelPrecision(model) -> core.Double
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Model](./cad_types#model) | model | Model.      |

Returns

| Type                          | Name      | Description      |
| ----------------------------- | --------- | ---------------- |
| [Double](./core_types#double) | precision | Precision value. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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.getModelVertices](./cad_functions#getmodelvertices)
* [cad.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### getModelVertices

Get the list of free vertices contained in a model.

```python
cad.getModelVertices(model) -> cad.VertexList
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Model](./cad_types#model) | model | Model.      |

Returns

| Type                                 | Name     | Description                                    |
| ------------------------------------ | -------- | ---------------------------------------------- |
| [VertexList](./cad_types#vertexlist) | vertices | List of vertices contained in the given model. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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.getReferencers](./cad_functions#getreferencers)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### getReferencers

Returns the entities referencing a given CAD entity.

```python
cad.getReferencers(entity) -> core.EntityList
```

Parameters

| Type                               | Name   | Description                        |
| ---------------------------------- | ------ | ---------------------------------- |
| [CADEntity](./cad_types#cadentity) | entity | CAD entity to get the referencers. |

Returns

| Type                                  | Name        | Description                                        |
| ------------------------------------- | ----------- | -------------------------------------------------- |
| [EntityList](./core_types#entitylist) | referencers | List of CAD entities referencing the given entity. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.startThreadBrepSession](./cad_functions#startthreadbrepsession)

### startThreadBrepSession

Create a new BrepSession on current thread.

```python
cad.startThreadBrepSession(precision)
```

Parameters

| Type                              | Name      | Description                   |
| --------------------------------- | --------- | ----------------------------- |
| [Distance](./geom_types#distance) | precision | CAD precision for this model. |

See also:

* [cad.addBodyToModel](./cad_functions#addbodytomodel)
* [cad.addEdgeToModel](./cad_functions#addedgetomodel)
* [cad.addOpenShellToModel](./cad_functions#addopenshelltomodel)
* [cad.addVertexToModel](./cad_functions#addvertextomodel)
* [cad.buildFaces](./cad_functions#buildfaces)
* [cad.createModel](./cad_functions#createmodel)
* [cad.endThreadBrepSession](./cad_functions#endthreadbrepsession)
* [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)
* [cad.getReferencers](./cad_functions#getreferencers)

## primitives

### createBRepCone

Creates a BRep Cone whose axis is the Z axis centered on O.

```python
cad.createBRepCone(radius, height, matrix=geom.IdentityMatrix4) -> cad.Body
```

Parameters

| Type                            | Name   | Description                      |
| ------------------------------- | ------ | -------------------------------- |
| [Double](./core_types#double)   | radius | Cone radius.                     |
| [Double](./core_types#double)   | height | Cone height.                     |
| [Matrix4](./geom_types#matrix4) | matrix | Positionning matrix of the Cone. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Body](./cad_types#body) | body | The created Body. |

See also:

* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)

### createBRepCube

Creates a BRep Cube.

```python
cad.createBRepCube(size, matrix=geom.IdentityMatrix4) -> cad.Body
```

Parameters

| Type                            | Name   | Description                      |
| ------------------------------- | ------ | -------------------------------- |
| [Double](./core_types#double)   | size   | Side length.                     |
| [Matrix4](./geom_types#matrix4) | matrix | Positionning matrix of the Cube. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Body](./cad_types#body) | body | The created Body. |

See also:

* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)

### createBRepCylinder

Creates a BRep Cylinder aligned on the Z axis centered on O.

```python
cad.createBRepCylinder(radius, length, matrix=geom.IdentityMatrix4) -> cad.Body
```

Parameters

| Type                            | Name   | Description                          |
| ------------------------------- | ------ | ------------------------------------ |
| [Double](./core_types#double)   | radius | Cylinder radius.                     |
| [Double](./core_types#double)   | length | Cylinder length.                     |
| [Matrix4](./geom_types#matrix4) | matrix | Positionning matrix of the Cylinder. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Body](./cad_types#body) | body | The created Body. |

See also:

* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)

### createBRepPlane

Creates a BRep Plane whose normal is the Z axis centered on O.

```python
cad.createBRepPlane(length, width, matrix=geom.IdentityMatrix4) -> cad.Body
```

Parameters

| Type                            | Name   | Description                       |
| ------------------------------- | ------ | --------------------------------- |
| [Double](./core_types#double)   | length | Plane length (X axis).            |
| [Double](./core_types#double)   | width  | Plane width (Y axis).             |
| [Matrix4](./geom_types#matrix4) | matrix | Positionning matrix of the Plane. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Body](./cad_types#body) | body | The created Body. |

See also:

* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)
* [cad.createBRepTorus](./cad_functions#createbreptorus)

### createBRepSphere

Creates a BRep Sphere centered on O and whose singularities are on the Z axis.

```python
cad.createBRepSphere(radius, matrix=geom.IdentityMatrix4) -> cad.Body
```

Parameters

| Type                            | Name   | Description                        |
| ------------------------------- | ------ | ---------------------------------- |
| [Double](./core_types#double)   | radius | Sphere radius.                     |
| [Matrix4](./geom_types#matrix4) | matrix | Positionning matrix of the Sphere. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Body](./cad_types#body) | body | The created Body. |

See also:

* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepTorus](./cad_functions#createbreptorus)

### createBRepTorus

Creates a BRep Torus whose axis is the Z axis centered on O.

```python
cad.createBRepTorus(majorRadius, minorRadius, matrix=geom.IdentityMatrix4) -> cad.Body
```

Parameters

| Type                            | Name        | Description                       |
| ------------------------------- | ----------- | --------------------------------- |
| [Double](./core_types#double)   | majorRadius | Major radius.                     |
| [Double](./core_types#double)   | minorRadius | Minor radius.                     |
| [Matrix4](./geom_types#matrix4) | matrix      | Positionning matrix of the Torus. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Body](./cad_types#body) | body | The created Body. |

See also:

* [cad.createBRepCone](./cad_functions#createbrepcone)
* [cad.createBRepCube](./cad_functions#createbrepcube)
* [cad.createBRepCylinder](./cad_functions#createbrepcylinder)
* [cad.createBRepPlane](./cad_functions#createbrepplane)
* [cad.createBRepSphere](./cad_functions#createbrepsphere)

## structure access

### areCurvesEquals

Check if two curve are equals by comparing each attribute, one by one. The two curves need to be of the same type; otherwise, it returns false by default.

```python
cad.areCurvesEquals(curve1, curve2) -> core.Boolean
```

Parameters

| Type                       | Name   | Description            |
| -------------------------- | ------ | ---------------------- |
| [Curve](./cad_types#curve) | curve1 | A curve to be compare. |
| [Curve](./cad_types#curve) | curve2 | A curve to be compare. |

Returns

| Type                            | Name    | Description                   |
| ------------------------------- | ------- | ----------------------------- |
| [Boolean](./core_types#boolean) | isEqual | The result of the comparison. |

See also:

* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### evalCurvatureOnCurve

Evaluate curvature on a curve.

```python
cad.evalCurvatureOnCurve(curve, parameter) -> core.Double
```

Parameters

| Type                          | Name      | Description            |
| ----------------------------- | --------- | ---------------------- |
| [Curve](./cad_types#curve)    | curve     | The curve.             |
| [Double](./core_types#double) | parameter | Parameter to evaluate. |

Returns

| Type                          | Name      | Description                      |
| ----------------------------- | --------- | -------------------------------- |
| [Double](./core_types#double) | curvature | Curvature on curve at parameter. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### evalCurvatureOnSurface

Evaluate main curvatures on a surface.

```python
cad.evalCurvatureOnSurface(surface, parameter) -> geom.Curvatures
```

Parameters

| Type                           | Name      | Description            |
| ------------------------------ | --------- | ---------------------- |
| [Surface](./cad_types#surface) | surface   | The surface.           |
| [Point2](./geom_types#point2)  | parameter | Parameter to evaluate. |

Returns

| Type                                  | Name       | Description                              |
| ------------------------------------- | ---------- | ---------------------------------------- |
| [Curvatures](./geom_types#curvatures) | curvatures | Main curvatures on surface at parameter. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### evalOnCurve

Evaluate a point and derivatives on a curve.

```python
cad.evalOnCurve(curve, parameter, derivation=0) -> geom.Point3, geom.Point3, geom.Point3
```

Parameters

| Type                          | Name       | Description               |
| ----------------------------- | ---------- | ------------------------- |
| [Curve](./cad_types#curve)    | curve      | The curve.                |
| [Double](./core_types#double) | parameter  | Parameter to evaluate.    |
| [Int](./core_types#int)       | derivation | Derivation level (0,1,2). |

Returns

| Type                          | Name | Description |
| ----------------------------- | ---- | ----------- |
| [Point3](./geom_types#point3) | d0   | D0.         |
| [Point3](./geom_types#point3) | du   | Du.         |
| [Point3](./geom_types#point3) | d2u  | D2u.        |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### evalOnSurface

Evaluate a point and derivatives on a surface.

```python
cad.evalOnSurface(surface, parameter, derivation=0) -> geom.Point3, geom.Point3, geom.Point3, geom.Point3, geom.Point3, geom.Point3
```

Parameters

| Type                           | Name       | Description               |
| ------------------------------ | ---------- | ------------------------- |
| [Surface](./cad_types#surface) | surface    | The surface.              |
| [Point2](./geom_types#point2)  | parameter  | Parameter to evaluate.    |
| [Int](./core_types#int)        | derivation | Derivation level (0,1,2). |

Returns

| Type                          | Name | Description |
| ----------------------------- | ---- | ----------- |
| [Point3](./geom_types#point3) | d0   | D0.         |
| [Point3](./geom_types#point3) | du   | Du.         |
| [Point3](./geom_types#point3) | dv   | Dv.         |
| [Point3](./geom_types#point3) | d2u  | D2u.        |
| [Point3](./geom_types#point3) | d2v  | D2v.        |
| [Point3](./geom_types#point3) | duv  | Duv.        |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getBodyClosedShells

Get all closedShells contain in the body.

```python
cad.getBodyClosedShells(body) -> cad.ClosedShellList
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Body](./cad_types#body) | body | The body.   |

Returns

| Type                                           | Name         | Description                               |
| ---------------------------------------------- | ------------ | ----------------------------------------- |
| [ClosedShellList](./cad_types#closedshelllist) | closedShells | The closedShells contain within the body. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getCircleCurveDefinition

Get all parameters contained in the circleCurve.

```python
cad.getCircleCurveDefinition(circleCurve) -> core.Double, geom.Matrix4
```

Parameters

| Type                                   | Name        | Description      |
| -------------------------------------- | ----------- | ---------------- |
| [CircleCurve](./cad_types#circlecurve) | circleCurve | The circleCurve. |

Returns

| Type                            | Name   | Description                              |
| ------------------------------- | ------ | ---------------------------------------- |
| [Double](./core_types#double)   | radius | The radius of the circle.                |
| [Matrix4](./geom_types#matrix4) | matrix | The matrix transformation of the circle. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getClosedShellOrientedFaces

Get all orienteFaces contain in the closedShell.

```python
cad.getClosedShellOrientedFaces(closedShell) -> cad.OrientedFaceList
```

Parameters

| Type                                   | Name        | Description      |
| -------------------------------------- | ----------- | ---------------- |
| [ClosedShell](./cad_types#closedshell) | closedShell | The closedShell. |

Returns

| Type                                             | Name          | Description                                       |
| ------------------------------------------------ | ------------- | ------------------------------------------------- |
| [OrientedFaceList](./cad_types#orientedfacelist) | orientedFaces | The orientedFaces contain within the closedShell. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getCoEdgeDefinition

Get all parameters contained in the coEdge.

```python
cad.getCoEdgeDefinition(coEdge) -> cad.Edge, geom.Orientation, cad.Loop, cad.Surface, cad.Curve
```

Parameters

| Type                         | Name   | Description |
| ---------------------------- | ------ | ----------- |
| [CoEdge](./cad_types#coedge) | coEdge | The coEdge. |

Returns

| Type                                    | Name            | Description                        |
| --------------------------------------- | --------------- | ---------------------------------- |
| [Edge](./cad_types#edge)                | edge            | The edge of the coEdge.            |
| [Orientation](./geom_types#orientation) | edgeOrientation | Orientation of the edge.           |
| [Loop](./cad_types#loop)                | loop            | The loop containing the coEdge.    |
| [Surface](./cad_types#surface)          | surface         | The surface of the coEdge.         |
| [Curve](./cad_types#curve)              | parametricCurve | The parametricCurve of the coEdge. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getCompositeCurveDefinition

Get all parameters contained in the compositeCurve.

```python
cad.getCompositeCurveDefinition(compositeCurve) -> cad.CurveList, core.DoubleList
```

Parameters

| Type                                         | Name           | Description         |
| -------------------------------------------- | -------------- | ------------------- |
| [CompositeCurve](./cad_types#compositecurve) | compositeCurve | The compositeCurve. |

Returns

| Type                                  | Name       | Description                           |
| ------------------------------------- | ---------- | ------------------------------------- |
| [CurveList](./cad_types#curvelist)    | curves     | The curves of the compositeCurve.     |
| [DoubleList](./core_types#doublelist) | parameters | The parameters of the compositeCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getConeSurfaceDefinition

Get all parameters contained in the coneSurface.

```python
cad.getConeSurfaceDefinition(coneSurface) -> core.Double, core.Double, geom.Matrix4
```

Parameters

| Type                                   | Name        | Description      |
| -------------------------------------- | ----------- | ---------------- |
| [ConeSurface](./cad_types#conesurface) | coneSurface | The coneSurface. |

Returns

| Type                            | Name      | Description                               |
| ------------------------------- | --------- | ----------------------------------------- |
| [Double](./core_types#double)   | radius    | The radius of the coneSurface.            |
| [Double](./core_types#double)   | semiAngle | The semiAngle of coneSurface.             |
| [Matrix4](./geom_types#matrix4) | matrix    | The transformation matrix of coneSurface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getCurveExtrusionSurfaceDefinition

Get all parameters contained in the curveExtrusionSurface.

```python
cad.getCurveExtrusionSurfaceDefinition(curveExtrusionSurface) -> cad.Curve, cad.Curve, cad.Surface
```

Parameters

| Type                                                       | Name                  | Description                |
| ---------------------------------------------------------- | --------------------- | -------------------------- |
| [CurveExtrusionSurface](./cad_types#curveextrusionsurface) | curveExtrusionSurface | The curveExtrusionSurface. |

Returns

| Type                           | Name             | Description                                        |
| ------------------------------ | ---------------- | -------------------------------------------------- |
| [Curve](./cad_types#curve)     | generatrixCurve  | The generatrix curve of the curveExtrusionSurface. |
| [Curve](./cad_types#curve)     | directrixCurve   | The directrix curve of the curveExtrusionSurface.  |
| [Surface](./cad_types#surface) | surfaceReference | The reference surface of curveExtrusionSurface.    |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getCurveLength

Returns the length of the curve.

```python
cad.getCurveLength(curve) -> core.Double
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Curve](./cad_types#curve) | curve | The curve.  |

Returns

| Type                          | Name   | Description             |
| ----------------------------- | ------ | ----------------------- |
| [Double](./core_types#double) | length | The length of the edge. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getCurveLimits

Get the parametric space limits of a curve.

```python
cad.getCurveLimits(curve) -> cad.Bounds1D
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Curve](./cad_types#curve) | curve | The curve.  |

Returns

| Type                             | Name   | Description   |
| -------------------------------- | ------ | ------------- |
| [Bounds1D](./cad_types#bounds1d) | limits | Curve limits. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getCylinderSurfaceDefinition

Get all parameters contained in the cylinderSurface.

```python
cad.getCylinderSurfaceDefinition(cylinderSurface) -> core.Double, geom.Matrix4
```

Parameters

| Type                                           | Name            | Description          |
| ---------------------------------------------- | --------------- | -------------------- |
| [CylinderSurface](./cad_types#cylindersurface) | cylinderSurface | The cylinderSurface. |

Returns

| Type                            | Name   | Description                                   |
| ------------------------------- | ------ | --------------------------------------------- |
| [Double](./core_types#double)   | radius | The radius of the cylinderSurface.            |
| [Matrix4](./geom_types#matrix4) | matrix | The transformation matrix of cylinderSurface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getEdgeConnectivity

Get the number of faces connected to this edge.

```python
cad.getEdgeConnectivity(edge) -> core.Int
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Edge](./cad_types#edge) | edge |             |

Returns

| Type                    | Name           | Description                   |
| ----------------------- | -------------- | ----------------------------- |
| [Int](./core_types#int) | connectedFaces | The nuber of connected faces. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getEdgeDefinition

Get all parameters contained in the edge.

```python
cad.getEdgeDefinition(edge) -> cad.Vertex, cad.Vertex, cad.Curve, cad.Bounds1D
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Edge](./cad_types#edge) | edge | The edge.   |

Returns

| Type                             | Name    | Description                    |
| -------------------------------- | ------- | ------------------------------ |
| [Vertex](./cad_types#vertex)     | vertex1 | The first vertex of the edge.  |
| [Vertex](./cad_types#vertex)     | vertex2 | The second vertex of the edge. |
| [Curve](./cad_types#curve)       | curve   | The curve of the edge.         |
| [Bounds1D](./cad_types#bounds1d) | bounds  | The bounds of the edge.        |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getEdgeLength

Returns the length of the edge.

```python
cad.getEdgeLength(edge) -> core.Double
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Edge](./cad_types#edge) | edge | The edge.   |

Returns

| Type                          | Name   | Description             |
| ----------------------------- | ------ | ----------------------- |
| [Double](./core_types#double) | length | The length of the edge. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getEdgeMaterial

Get the material of the edge, if any.

```python
cad.getEdgeMaterial(edge) -> material.Material
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Edge](./cad_types#edge) | edge |             |

Returns

| Type                                  | Name     | Description                                         |
| ------------------------------------- | -------- | --------------------------------------------------- |
| [Material](./material_types#material) | material | The material applied to the edge, 0 if no material. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getEllipseCurveDefinition

Get all parameters contained in the ellipseCurve.

```python
cad.getEllipseCurveDefinition(ellipseCurve) -> core.Double, core.Double, geom.Matrix4
```

Parameters

| Type                                     | Name         | Description       |
| ---------------------------------------- | ------------ | ----------------- |
| [EllipseCurve](./cad_types#ellipsecurve) | ellipseCurve | The ellipseCurve. |

Returns

| Type                            | Name    | Description                               |
| ------------------------------- | ------- | ----------------------------------------- |
| [Double](./core_types#double)   | radius1 | The radius on x of the ellipse.           |
| [Double](./core_types#double)   | radius2 | The radius on y of the ellipse.           |
| [Matrix4](./geom_types#matrix4) | matrix  | The transformation matrix of the ellipse. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getEllipticConeSurfaceDefinition

Get all parameters contained in the ellipticConeSurface.

```python
cad.getEllipticConeSurfaceDefinition(ellipticConeSurface) -> core.Double, core.Double, core.Double, geom.Matrix4
```

Parameters

| Type                                                   | Name                | Description              |
| ------------------------------------------------------ | ------------------- | ------------------------ |
| [EllipticConeSurface](./cad_types#ellipticconesurface) | ellipticConeSurface | The EllipticConeSurface. |

Returns

| Type                            | Name      | Description                               |
| ------------------------------- | --------- | ----------------------------------------- |
| [Double](./core_types#double)   | radius1   | The radius on X of the coneSurface.       |
| [Double](./core_types#double)   | radius2   | The radius on Y of the coneSurface.       |
| [Double](./core_types#double)   | semiAngle | The semiAngle of coneSurface.             |
| [Matrix4](./geom_types#matrix4) | matrix    | The transformation matrix of coneSurface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getFaceDefinition

Get all parameters contain in the face.

```python
cad.getFaceDefinition(face) -> cad.Surface, cad.LoopList, geom.Orientation, cad.Bounds2D
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Face](./cad_types#face) | face | The face.   |

Returns

| Type                                    | Name        | Description                          |
| --------------------------------------- | ----------- | ------------------------------------ |
| [Surface](./cad_types#surface)          | surface     | The surface contain within the face. |
| [LoopList](./cad_types#looplist)        | loops       | The loops contain within the face.   |
| [Orientation](./geom_types#orientation) | orientation | Relative orientation of the surface. |
| [Bounds2D](./cad_types#bounds2d)        | limits      | Face limits on surfaces.             |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getFaceParametricBoundaries

Get parametric definition of each face loop.

```python
cad.getFaceParametricBoundaries(face) -> geom.Point2ListList
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Face](./cad_types#face) | face | The face.   |

Returns

| Type                                          | Name       | Description                |
| --------------------------------------------- | ---------- | -------------------------- |
| [Point2ListList](./geom_types#point2listlist) | boundaries | The parametric boundaries. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getHelixCurveDefinition

Get all parameters contained in the helixCurve.

```python
cad.getHelixCurveDefinition(helixCurve) -> core.Double, geom.Matrix4, core.Boolean
```

Parameters

| Type                                 | Name       | Description     |
| ------------------------------------ | ---------- | --------------- |
| [HelixCurve](./cad_types#helixcurve) | helixCurve | The helixCurve. |

Returns

| Type                            | Name                     | Description                                     |
| ------------------------------- | ------------------------ | ----------------------------------------------- |
| [Double](./core_types#double)   | radius                   | The radius of the helixCurve.                   |
| [Matrix4](./geom_types#matrix4) | matrix                   | The matrix of the helixCurve.                   |
| [Boolean](./core_types#boolean) | trigonometricOrientation | The trigonometricOrientation of the helixCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getHermiteCurveDefinition

Get all parameters contained in the hermiteCurve.

```python
cad.getHermiteCurveDefinition(hermiteCurve) -> geom.Point3, geom.Point3, geom.Point3, geom.Point3
```

Parameters

| Type                                     | Name         | Description       |
| ---------------------------------------- | ------------ | ----------------- |
| [HermiteCurve](./cad_types#hermitecurve) | hermiteCurve | The HermiteCurve. |

Returns

| Type                          | Name          | Description                             |
| ----------------------------- | ------------- | --------------------------------------- |
| [Point3](./geom_types#point3) | firstPoint    | The first point of the hermiteCurve.    |
| [Point3](./geom_types#point3) | secondPoint   | The second point of the hermiteCurve.   |
| [Point3](./geom_types#point3) | firstTangent  | The first tangent of the hermiteCurve.  |
| [Point3](./geom_types#point3) | secondTangent | The second tangent of the hermiteCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getHyperbolaCurveDefinition

Get all parameters contained in the hyperbolaCurve.

```python
cad.getHyperbolaCurveDefinition(hyperbolaCurve) -> core.Double, core.Double, geom.Matrix4
```

Parameters

| Type                                         | Name           | Description         |
| -------------------------------------------- | -------------- | ------------------- |
| [HyperbolaCurve](./cad_types#hyperbolacurve) | hyperbolaCurve | The hyperbolaCurve. |

Returns

| Type                            | Name    | Description                                 |
| ------------------------------- | ------- | ------------------------------------------- |
| [Double](./core_types#double)   | radius1 | The radius on x of the hyperbola.           |
| [Double](./core_types#double)   | radius2 | The radius on y of the hyperbola.           |
| [Matrix4](./geom_types#matrix4) | matrix  | The transformation matrix of the hyperbola. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getIntersectionCurveDefinition

Get all parameters contained in the intersectionCurve.

```python
cad.getIntersectionCurveDefinition(intersectionCurve) -> cad.Surface, cad.Surface, cad.PolylineCurve, cad.Bounds1D
```

Parameters

| Type                                               | Name              | Description            |
| -------------------------------------------------- | ----------------- | ---------------------- |
| [IntersectionCurve](./cad_types#intersectioncurve) | intersectionCurve | The intersectionCurve. |

Returns

| Type                                       | Name     | Description                                  |
| ------------------------------------------ | -------- | -------------------------------------------- |
| [Surface](./cad_types#surface)             | surface1 | The first surface of the intersectionCurve.  |
| [Surface](./cad_types#surface)             | surface2 | The second surface of the intersectionCurve. |
| [PolylineCurve](./cad_types#polylinecurve) | chart    | The chart of the intersectionCurve.          |
| [Bounds1D](./cad_types#bounds1d)           | bounds   | The boudns of the intersectionCurve.         |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getLineCurveDefinition

Get all parameters contain in the lineCurve.

```python
cad.getLineCurveDefinition(lineCurve) -> geom.Point3, geom.Point3
```

Parameters

| Type                               | Name      | Description    |
| ---------------------------------- | --------- | -------------- |
| [LineCurve](./cad_types#linecurve) | lineCurve | The lineCurve. |

Returns

| Type                          | Name      | Description                     |
| ----------------------------- | --------- | ------------------------------- |
| [Point3](./geom_types#point3) | origin    | The origin of the lineCurve.    |
| [Point3](./geom_types#point3) | direction | The direction of the lineCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getLoopCoEdges

Get all coEdges contain in the loop.

```python
cad.getLoopCoEdges(loop) -> cad.CoEdgeList
```

Parameters

| Type                     | Name | Description |
| ------------------------ | ---- | ----------- |
| [Loop](./cad_types#loop) | loop | The loop.   |

Returns

| Type                                 | Name    | Description                          |
| ------------------------------------ | ------- | ------------------------------------ |
| [CoEdgeList](./cad_types#coedgelist) | coEdges | The coEdges contain within the loop. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getNURBSCurveDefinition

Get all parameters contained in the nurbsCurve.

```python
cad.getNURBSCurveDefinition(nurbsCurve) -> core.Int, core.DoubleList, geom.Point3List, core.DoubleList
```

Parameters

| Type                                 | Name       | Description     |
| ------------------------------------ | ---------- | --------------- |
| [NURBSCurve](./cad_types#nurbscurve) | nurbsCurve | The nurbsCurve. |

Returns

| Type                                  | Name    | Description                                 |
| ------------------------------------- | ------- | ------------------------------------------- |
| [Int](./core_types#int)               | degree  | The degree of the nurbsCurve.               |
| [DoubleList](./core_types#doublelist) | knots   | The knots of the nurbsCurve.                |
| [Point3List](./geom_types#point3list) | poles   | The poles of the nurbsCurve.                |
| [DoubleList](./core_types#doublelist) | weights | The weights of the poles of the nurbsCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getNURBSSurfaceDefinition

Get all parameters contained in the nurbsSurface.

```python
cad.getNURBSSurfaceDefinition(nurbsSurface) -> core.Int, core.Int, core.DoubleList, core.DoubleList, geom.Point3ListList, core.DoubleListList
```

Parameters

| Type                                     | Name         | Description       |
| ---------------------------------------- | ------------ | ----------------- |
| [NURBSSurface](./cad_types#nurbssurface) | nurbsSurface | The nurbsSurface. |

Returns

| Type                                          | Name    | Description                               |
| --------------------------------------------- | ------- | ----------------------------------------- |
| [Int](./core_types#int)                       | degreeU | The degree on U of the nurbsSurface.      |
| [Int](./core_types#int)                       | degreeV | The degree on V of the nurbsSurface.      |
| [DoubleList](./core_types#doublelist)         | knotsU  | The knots on U of the nurbsSurface.       |
| [DoubleList](./core_types#doublelist)         | knotsV  | The knots on V of the nurbsSurface.       |
| [Point3ListList](./geom_types#point3listlist) | poles   | The poles of nurbsSurface.                |
| [DoubleListList](./core_types#doublelistlist) | weights | The weights of the poles of nurbsSurface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getOffsetCurveDefinition

Get all parameters contained in the offsetCurve.

```python
cad.getOffsetCurveDefinition(offsetCurve) -> cad.Curve, geom.Point3, core.Double, cad.Surface
```

Parameters

| Type                                   | Name        | Description      |
| -------------------------------------- | ----------- | ---------------- |
| [OffsetCurve](./cad_types#offsetcurve) | offsetCurve | The offsetCurve. |

Returns

| Type                           | Name             | Description                              |
| ------------------------------ | ---------------- | ---------------------------------------- |
| [Curve](./cad_types#curve)     | curve            | The curve of the offsetCurve.            |
| [Point3](./geom_types#point3)  | direction        | The direction of the offset.             |
| [Double](./core_types#double)  | distance         | The distance of the offset.              |
| [Surface](./cad_types#surface) | surfaceReference | The surfaceReference of the offsetCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getOffsetSurfaceDefinition

Get all parameters contained in the offsetSurface.

```python
cad.getOffsetSurfaceDefinition(offsetSurface) -> cad.Surface, core.Double
```

Parameters

| Type                                       | Name          | Description        |
| ------------------------------------------ | ------------- | ------------------ |
| [OffsetSurface](./cad_types#offsetsurface) | offsetSurface | The offsetSurface. |

Returns

| Type                           | Name        | Description          |
| ------------------------------ | ----------- | -------------------- |
| [Surface](./cad_types#surface) | baseSurface | The initial surface. |
| [Double](./core_types#double)  | distance    | The distance offset. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getOpenShellOrientedFaces

Get all orienteFaces contain in the openShell.

```python
cad.getOpenShellOrientedFaces(openShell) -> cad.OrientedFaceList
```

Parameters

| Type                               | Name      | Description    |
| ---------------------------------- | --------- | -------------- |
| [OpenShell](./cad_types#openshell) | openShell | The openShell. |

Returns

| Type                                             | Name          | Description                                     |
| ------------------------------------------------ | ------------- | ----------------------------------------------- |
| [OrientedFaceList](./cad_types#orientedfacelist) | orientedFaces | The orientedFaces contain within the openShell. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getParabolaCurveDefinition

Get all parameters contained in the parabolaCurve.

```python
cad.getParabolaCurveDefinition(parabolaCurve) -> core.Double, geom.Matrix4
```

Parameters

| Type                                       | Name          | Description        |
| ------------------------------------------ | ------------- | ------------------ |
| [ParabolaCurve](./cad_types#parabolacurve) | parabolaCurve | The parabolaCurve. |

Returns

| Type                            | Name        | Description                                 |
| ------------------------------- | ----------- | ------------------------------------------- |
| [Double](./core_types#double)   | focalLength | The radius of the hyperbola.                |
| [Matrix4](./geom_types#matrix4) | matrix      | The transformation matrix of the hyperbola. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getParametricPrecisionOnSurface

Returns the parametric precision of a surface from the input precision.

```python
cad.getParametricPrecisionOnSurface(surface, precision) -> core.Double
```

Parameters

| Type                           | Name      | Description      |
| ------------------------------ | --------- | ---------------- |
| [Surface](./cad_types#surface) | surface   | The surface.     |
| [Double](./core_types#double)  | precision | Input precision. |

Returns

| Type                          | Name                | Description |
| ----------------------------- | ------------------- | ----------- |
| [Double](./core_types#double) | parametricPrecision |             |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getPlaneSurfaceDefinition

Get all parameters contained in the planeSurface.

```python
cad.getPlaneSurfaceDefinition(planeSurface) -> geom.Matrix4
```

Parameters

| Type                                     | Name         | Description       |
| ---------------------------------------- | ------------ | ----------------- |
| [PlaneSurface](./cad_types#planesurface) | planeSurface | The planeSurface. |

Returns

| Type                            | Name   | Description                                |
| ------------------------------- | ------ | ------------------------------------------ |
| [Matrix4](./geom_types#matrix4) | matrix | The transformation matrix of planeSurface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getPolylineCurveDefinition

Get all parameters contained in the polylinCurve.

```python
cad.getPolylineCurveDefinition(polylineCurve) -> geom.Point3List, core.DoubleList
```

Parameters

| Type                                       | Name          | Description        |
| ------------------------------------------ | ------------- | ------------------ |
| [PolylineCurve](./cad_types#polylinecurve) | polylineCurve | The polylineCurve. |

Returns

| Type                                  | Name       | Description                          |
| ------------------------------------- | ---------- | ------------------------------------ |
| [Point3List](./geom_types#point3list) | points     | The points of the polylineCurve.     |
| [DoubleList](./core_types#doublelist) | parameters | The parameters of the polylineCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getRevolutionSurfaceDefinition

Get all parameters contained in the revolutionSurface.

```python
cad.getRevolutionSurfaceDefinition(revolutionSurface) -> cad.Curve, geom.Point3, geom.Point3, core.Double, core.Double
```

Parameters

| Type                                               | Name              | Description            |
| -------------------------------------------------- | ----------------- | ---------------------- |
| [RevolutionSurface](./cad_types#revolutionsurface) | revolutionSurface | The revolutionSurface. |

Returns

| Type                          | Name            | Description                                         |
| ----------------------------- | --------------- | --------------------------------------------------- |
| [Curve](./cad_types#curve)    | generatrixCurve | The generatrix curve of the revolutionSurface.      |
| [Point3](./geom_types#point3) | axisOrigin      | The origin of the axis of the revolutionSurface.    |
| [Point3](./geom_types#point3) | axisDirection   | The direction of the axis of the revolutionSurface. |
| [Double](./core_types#double) | startAngle      | The starting angle of the revolutionSurface.        |
| [Double](./core_types#double) | endAngle        | The ending angle of the revolutionSurface.          |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getRuledSurfaceDefinition

Get all parameters contained in the ruledSurface.

```python
cad.getRuledSurfaceDefinition(ruledSurface) -> cad.Curve, cad.Curve
```

Parameters

| Type                                     | Name         | Description       |
| ---------------------------------------- | ------------ | ----------------- |
| [RuledSurface](./cad_types#ruledsurface) | ruledSurface | The ruledSurface. |

Returns

| Type                       | Name        | Description                           |
| -------------------------- | ----------- | ------------------------------------- |
| [Curve](./cad_types#curve) | firstCurve  | The first curve of the ruledSurface.  |
| [Curve](./cad_types#curve) | secondCurve | The second curve of the ruledSurface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getSegmentCurveDefinition

Get all parameters contained in the segmentCurve.

```python
cad.getSegmentCurveDefinition(segmentCurve) -> geom.Point3, geom.Point3
```

Parameters

| Type                                     | Name         | Description       |
| ---------------------------------------- | ------------ | ----------------- |
| [SegmentCurve](./cad_types#segmentcurve) | segmentCurve | The segmentCurve. |

Returns

| Type                          | Name       | Description                           |
| ----------------------------- | ---------- | ------------------------------------- |
| [Point3](./geom_types#point3) | startPoint | The first point of the segmentCurve.  |
| [Point3](./geom_types#point3) | endPoint   | The second point of the segmentCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getSphereSurfaceDefinition

Get all parameters contained in the sphereSurface.

```python
cad.getSphereSurfaceDefinition(sphereSurface) -> core.Double, geom.Matrix4
```

Parameters

| Type                                       | Name          | Description        |
| ------------------------------------------ | ------------- | ------------------ |
| [SphereSurface](./cad_types#spheresurface) | sphereSurface | The sphereSurface. |

Returns

| Type                            | Name   | Description                                 |
| ------------------------------- | ------ | ------------------------------------------- |
| [Double](./core_types#double)   | radius | The radius of the sphereSurface.            |
| [Matrix4](./geom_types#matrix4) | matrix | The transformation matrix of sphereSurface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getSurfaceLimits

Get the parametric space limits of a surface.

```python
cad.getSurfaceLimits(surface) -> cad.Bounds2D
```

Parameters

| Type                           | Name    | Description  |
| ------------------------------ | ------- | ------------ |
| [Surface](./cad_types#surface) | surface | The surface. |

Returns

| Type                             | Name   | Description     |
| -------------------------------- | ------ | --------------- |
| [Bounds2D](./cad_types#bounds2d) | limits | Surface limits. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getSurfaceType

Returns the surface type.

```python
cad.getSurfaceType(surface) -> core.Int
```

Parameters

| Type                           | Name    | Description  |
| ------------------------------ | ------- | ------------ |
| [Surface](./cad_types#surface) | surface | The Surface. |

Returns

| Type                    | Name | Description              |
| ----------------------- | ---- | ------------------------ |
| [Int](./core_types#int) | type | The type of the surface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getSurfacicCurveDefinition

Get all parameters contained in the surfacicCurve.

```python
cad.getSurfacicCurveDefinition(surfacicCurve) -> cad.Surface, cad.Curve
```

Parameters

| Type                                       | Name          | Description        |
| ------------------------------------------ | ------------- | ------------------ |
| [SurfacicCurve](./cad_types#surfaciccurve) | surfacicCurve | The surfacicCurve. |

Returns

| Type                           | Name    | Description                        |
| ------------------------------ | ------- | ---------------------------------- |
| [Surface](./cad_types#surface) | surface | The surface of the surfacicCurve.  |
| [Curve](./cad_types#curve)     | curve2D | The 2D curve of the surfacicCurve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getTabulatedCylinderSurfaceDefinition

Get all parameters contained in the TabulatedCylinderSurface.

```python
cad.getTabulatedCylinderSurfaceDefinition(tabulatedCylinderSurface) -> cad.Curve, geom.Point3, cad.Bounds1D
```

Parameters

| Type                                                             | Name                     | Description                   |
| ---------------------------------------------------------------- | ------------------------ | ----------------------------- |
| [TabulatedCylinderSurface](./cad_types#tabulatedcylindersurface) | tabulatedCylinderSurface | The tabulatedCylinderSurface. |

Returns

| Type                             | Name           | Description                                          |
| -------------------------------- | -------------- | ---------------------------------------------------- |
| [Curve](./cad_types#curve)       | directrixCurve | The directrix curve of the tabulatedCylinderSurface. |
| [Point3](./geom_types#point3)    | generatrixLine | The generatrix line of the tabulatedCylinderSurface. |
| [Bounds1D](./cad_types#bounds1d) | range          | The range of the tabulatedCylinderSurface.           |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getTorusSurfaceDefinition

Get all parameters contained in the torusSurface.

```python
cad.getTorusSurfaceDefinition(torusSurface) -> core.Double, core.Double, geom.Matrix4, core.Int
```

Parameters

| Type                                     | Name         | Description       |
| ---------------------------------------- | ------------ | ----------------- |
| [TorusSurface](./cad_types#torussurface) | torusSurface | The torusSurface. |

Returns

| Type                            | Name        | Description                                |
| ------------------------------- | ----------- | ------------------------------------------ |
| [Double](./core_types#double)   | majorRadius | The major radius of the torusSurface.      |
| [Double](./core_types#double)   | minorRadius | The minor radius of the torusSurface.      |
| [Matrix4](./geom_types#matrix4) | matrix      | The transformation matrix of torusSurface. |
| [Int](./core_types#int)         | type        | The torus shape type id.                   |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getTransformedCurveDefinition

Get all parameters contained in the transformedCurve.

```python
cad.getTransformedCurveDefinition(transformedCurve) -> cad.Curve, geom.Matrix4
```

Parameters

| Type                                             | Name             | Description           |
| ------------------------------------------------ | ---------------- | --------------------- |
| [TransformedCurve](./cad_types#transformedcurve) | transformedCurve | The transformedCurve. |

Returns

| Type                            | Name   | Description                |
| ------------------------------- | ------ | -------------------------- |
| [Curve](./cad_types#curve)      | curve  | The initial curve.         |
| [Matrix4](./geom_types#matrix4) | matrix | The transformation matrix. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### getVertexPosition

Get the position of the vertex.

```python
cad.getVertexPosition(vertex) -> geom.Point3
```

Parameters

| Type                         | Name   | Description |
| ---------------------------- | ------ | ----------- |
| [Vertex](./cad_types#vertex) | vertex | The vertex. |

Returns

| Type                          | Name     | Description                 |
| ----------------------------- | -------- | --------------------------- |
| [Point3](./geom_types#point3) | position | The position of the vertex. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### invertOnCurve

Invert a point to a curve.

```python
cad.invertOnCurve(curve, point, precision=-1) -> core.Double
```

Parameters

| Type                          | Name      | Description          |
| ----------------------------- | --------- | -------------------- |
| [Curve](./cad_types#curve)    | curve     | The curve.           |
| [Point3](./geom_types#point3) | point     | The point to invert. |
| [Double](./core_types#double) | precision | Inversion precision. |

Returns

| Type                          | Name      | Description                           |
| ----------------------------- | --------- | ------------------------------------- |
| [Double](./core_types#double) | parameter | The inversion parameter on the curve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### invertOnSurface

Invert a point to a surface.

```python
cad.invertOnSurface(surface, point, precision=-1) -> geom.Point2
```

Parameters

| Type                           | Name      | Description          |
| ------------------------------ | --------- | -------------------- |
| [Surface](./cad_types#surface) | surface   | The surface.         |
| [Point3](./geom_types#point3)  | point     | The point to invert. |
| [Double](./core_types#double)  | precision | Inversion precision. |

Returns

| Type                          | Name      | Description                             |
| ----------------------------- | --------- | --------------------------------------- |
| [Point2](./geom_types#point2) | parameter | The inversion parameter on the surface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### isCurveClosed

If the curve is closed, return true, return false otherwise.

```python
cad.isCurveClosed(curve) -> core.Boolean
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Curve](./cad_types#curve) | curve | The curve.  |

Returns

| Type                            | Name   | Description |
| ------------------------------- | ------ | ----------- |
| [Boolean](./core_types#boolean) | closed | The value.  |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### isCurveFinite

If the curve is finite return true, return false otherwise.

```python
cad.isCurveFinite(curve) -> core.Boolean
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Curve](./cad_types#curve) | curve | The curve.  |

Returns

| Type                            | Name   | Description |
| ------------------------------- | ------ | ----------- |
| [Boolean](./core_types#boolean) | finite | The value.  |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### isCurvePeriodic

If the curve is periodic return true, return false otherwise.

```python
cad.isCurvePeriodic(curve) -> core.Boolean, core.Double
```

Parameters

| Type                       | Name  | Description |
| -------------------------- | ----- | ----------- |
| [Curve](./cad_types#curve) | curve | The curve.  |

Returns

| Type                            | Name     | Description                                                                             |
| ------------------------------- | -------- | --------------------------------------------------------------------------------------- |
| [Boolean](./core_types#boolean) | periodic | The value.                                                                              |
| [Double](./core_types#double)   | period   | If th curve is periodic, this value is equal to the period value, equal to 0 otherwise. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### isSurfaceClosed

Return if the surface is closed on U or on V.

```python
cad.isSurfaceClosed(surface) -> core.Boolean, core.Boolean
```

Parameters

| Type                           | Name    | Description  |
| ------------------------------ | ------- | ------------ |
| [Surface](./cad_types#surface) | surface | The surface. |

Returns

| Type                            | Name    | Description     |
| ------------------------------- | ------- | --------------- |
| [Boolean](./core_types#boolean) | closedU | The value on U. |
| [Boolean](./core_types#boolean) | closedV | The value on V. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### isSurfacePeriodic

Return if the surface is periodic on U or on V.

```python
cad.isSurfacePeriodic(surface) -> core.Boolean, core.Boolean, core.Double, core.Double
```

Parameters

| Type                           | Name    | Description  |
| ------------------------------ | ------- | ------------ |
| [Surface](./cad_types#surface) | surface | The surface. |

Returns

| Type                            | Name      | Description                                                                                  |
| ------------------------------- | --------- | -------------------------------------------------------------------------------------------- |
| [Boolean](./core_types#boolean) | periodicU | The value on U.                                                                              |
| [Boolean](./core_types#boolean) | periodicV | The value on V.                                                                              |
| [Double](./core_types#double)   | periodU   | If th curve is periodic on U, this value is equal to the period value, equal to 0 otherwise. |
| [Double](./core_types#double)   | periodV   | If th curve is periodic on V, this value is equal to the period value, equal to 0 otherwise. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### needTorusShapeCheck

Returns true if the torus has a shape (lemon or apple) corresponding to the provided points.

```python
cad.needTorusShapeCheck(surface, points) -> core.Boolean
```

Parameters

| Type                                  | Name    | Description                          |
| ------------------------------------- | ------- | ------------------------------------ |
| [Surface](./cad_types#surface)        | surface | The surface.                         |
| [Point3List](./geom_types#point3list) | points  | List of points to check the surface. |

Returns

| Type                            | Name   | Description          |
| ------------------------------- | ------ | -------------------- |
| [Boolean](./core_types#boolean) | result | Result of the check. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### projectOnCurve

Project a point to a curve.

```python
cad.projectOnCurve(curve, point, precision=-1) -> core.Double
```

Parameters

| Type                          | Name      | Description           |
| ----------------------------- | --------- | --------------------- |
| [Curve](./cad_types#curve)    | curve     | The curve.            |
| [Point3](./geom_types#point3) | point     | The point to project. |
| [Double](./core_types#double) | precision | Projection precision. |

Returns

| Type                          | Name                | Description                            |
| ----------------------------- | ------------------- | -------------------------------------- |
| [Double](./core_types#double) | projectionParameter | The projection parameter on the curve. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### projectOnSurface

Project a point to a surface.

```python
cad.projectOnSurface(surface, point, precision=-1) -> geom.Point2
```

Parameters

| Type                           | Name      | Description           |
| ------------------------------ | --------- | --------------------- |
| [Surface](./cad_types#surface) | surface   | The surface.          |
| [Point3](./geom_types#point3)  | point     | The point to project. |
| [Double](./core_types#double)  | precision | Projection precision. |

Returns

| Type                          | Name                | Description                              |
| ----------------------------- | ------------------- | ---------------------------------------- |
| [Point2](./geom_types#point2) | projectionParameter | The projection parameter on the surface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### setCoEdgeCurve2D

Set the curve 2D value of a coEdge.

```python
cad.setCoEdgeCurve2D(coEdge, curve2D)
```

Parameters

| Type                         | Name    | Description       |
| ---------------------------- | ------- | ----------------- |
| [CoEdge](./cad_types#coedge) | coEdge  | The coEdge.       |
| [Curve](./cad_types#curve)   | curve2D | The new curve 2D. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### setCoEdgeSurface

Set the surface value of a coEdge.

```python
cad.setCoEdgeSurface(coEdge, surface)
```

Parameters

| Type                           | Name    | Description      |
| ------------------------------ | ------- | ---------------- |
| [CoEdge](./cad_types#coedge)   | coEdge  | The coEdge.      |
| [Surface](./cad_types#surface) | surface | The new surface. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### setCurveLimits

Set the parametric space limits of a curve.

```python
cad.setCurveLimits(curve, limits)
```

Parameters

| Type                             | Name   | Description   |
| -------------------------------- | ------ | ------------- |
| [Curve](./cad_types#curve)       | curve  | The curve.    |
| [Bounds1D](./cad_types#bounds1d) | limits | Curve limits. |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setEdgeMaterial](./cad_functions#setedgematerial)

### setEdgeMaterial

Define an edge's material.

```python
cad.setEdgeMaterial(edge, material)
```

Parameters

| Type                                  | Name     | Description                    |
| ------------------------------------- | -------- | ------------------------------ |
| [Edge](./cad_types#edge)              | edge     | The edge to apply to style to. |
| [Material](./material_types#material) | material | The material to apply.         |

See also:

* [cad.areCurvesEquals](./cad_functions#arecurvesequals)
* [cad.evalCurvatureOnCurve](./cad_functions#evalcurvatureoncurve)
* [cad.evalCurvatureOnSurface](./cad_functions#evalcurvatureonsurface)
* [cad.evalOnCurve](./cad_functions#evaloncurve)
* [cad.evalOnSurface](./cad_functions#evalonsurface)
* [cad.getBodyClosedShells](./cad_functions#getbodyclosedshells)
* [cad.getCircleCurveDefinition](./cad_functions#getcirclecurvedefinition)
* [cad.getClosedShellOrientedFaces](./cad_functions#getclosedshellorientedfaces)
* [cad.getCoEdgeDefinition](./cad_functions#getcoedgedefinition)
* [cad.getCompositeCurveDefinition](./cad_functions#getcompositecurvedefinition)
* [cad.getConeSurfaceDefinition](./cad_functions#getconesurfacedefinition)
* [cad.getCurveExtrusionSurfaceDefinition](./cad_functions#getcurveextrusionsurfacedefinition)
* [cad.getCurveLength](./cad_functions#getcurvelength)
* [cad.getCurveLimits](./cad_functions#getcurvelimits)
* [cad.getCylinderSurfaceDefinition](./cad_functions#getcylindersurfacedefinition)
* [cad.getEdgeConnectivity](./cad_functions#getedgeconnectivity)
* [cad.getEdgeDefinition](./cad_functions#getedgedefinition)
* [cad.getEdgeLength](./cad_functions#getedgelength)
* [cad.getEdgeMaterial](./cad_functions#getedgematerial)
* [cad.getEllipseCurveDefinition](./cad_functions#getellipsecurvedefinition)
* [cad.getEllipticConeSurfaceDefinition](./cad_functions#getellipticconesurfacedefinition)
* [cad.getFaceDefinition](./cad_functions#getfacedefinition)
* [cad.getFaceParametricBoundaries](./cad_functions#getfaceparametricboundaries)
* [cad.getHelixCurveDefinition](./cad_functions#gethelixcurvedefinition)
* [cad.getHermiteCurveDefinition](./cad_functions#gethermitecurvedefinition)
* [cad.getHyperbolaCurveDefinition](./cad_functions#gethyperbolacurvedefinition)
* [cad.getIntersectionCurveDefinition](./cad_functions#getintersectioncurvedefinition)
* [cad.getLineCurveDefinition](./cad_functions#getlinecurvedefinition)
* [cad.getLoopCoEdges](./cad_functions#getloopcoedges)
* [cad.getNURBSCurveDefinition](./cad_functions#getnurbscurvedefinition)
* [cad.getNURBSSurfaceDefinition](./cad_functions#getnurbssurfacedefinition)
* [cad.getOffsetCurveDefinition](./cad_functions#getoffsetcurvedefinition)
* [cad.getOffsetSurfaceDefinition](./cad_functions#getoffsetsurfacedefinition)
* [cad.getOpenShellOrientedFaces](./cad_functions#getopenshellorientedfaces)
* [cad.getParabolaCurveDefinition](./cad_functions#getparabolacurvedefinition)
* [cad.getParametricPrecisionOnSurface](./cad_functions#getparametricprecisiononsurface)
* [cad.getPlaneSurfaceDefinition](./cad_functions#getplanesurfacedefinition)
* [cad.getPolylineCurveDefinition](./cad_functions#getpolylinecurvedefinition)
* [cad.getRevolutionSurfaceDefinition](./cad_functions#getrevolutionsurfacedefinition)
* [cad.getRuledSurfaceDefinition](./cad_functions#getruledsurfacedefinition)
* [cad.getSegmentCurveDefinition](./cad_functions#getsegmentcurvedefinition)
* [cad.getSphereSurfaceDefinition](./cad_functions#getspheresurfacedefinition)
* [cad.getSurfaceLimits](./cad_functions#getsurfacelimits)
* [cad.getSurfaceType](./cad_functions#getsurfacetype)
* [cad.getSurfacicCurveDefinition](./cad_functions#getsurfaciccurvedefinition)
* [cad.getTabulatedCylinderSurfaceDefinition](./cad_functions#gettabulatedcylindersurfacedefinition)
* [cad.getTorusSurfaceDefinition](./cad_functions#gettorussurfacedefinition)
* [cad.getTransformedCurveDefinition](./cad_functions#gettransformedcurvedefinition)
* [cad.getVertexPosition](./cad_functions#getvertexposition)
* [cad.invertOnCurve](./cad_functions#invertoncurve)
* [cad.invertOnSurface](./cad_functions#invertonsurface)
* [cad.isCurveClosed](./cad_functions#iscurveclosed)
* [cad.isCurveFinite](./cad_functions#iscurvefinite)
* [cad.isCurvePeriodic](./cad_functions#iscurveperiodic)
* [cad.isSurfaceClosed](./cad_functions#issurfaceclosed)
* [cad.isSurfacePeriodic](./cad_functions#issurfaceperiodic)
* [cad.needTorusShapeCheck](./cad_functions#needtorusshapecheck)
* [cad.projectOnCurve](./cad_functions#projectoncurve)
* [cad.projectOnSurface](./cad_functions#projectonsurface)
* [cad.setCoEdgeCurve2D](./cad_functions#setcoedgecurve2d)
* [cad.setCoEdgeSurface](./cad_functions#setcoedgesurface)
* [cad.setCurveLimits](./cad_functions#setcurvelimits)

## structure creation

### createBody

Create a body from a surface.

```python
cad.createBody(outerShell, innerShells=None) -> cad.Body
```

Parameters

| Type                                           | Name        | Description                                  |
| ---------------------------------------------- | ----------- | -------------------------------------------- |
| [ClosedShell](./cad_types#closedshell)         | outerShell  | ClosedShell used to create the body.         |
| [ClosedShellList](./cad_types#closedshelllist) | innerShells | List of closedShell used to create the body. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Body](./cad_types#body) | body | The created body. |

See also:

* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createClosedShell

Create a closedShell from a set of faces of a set of orientations.

```python
cad.createClosedShell(faces, orientations) -> cad.ClosedShell
```

Parameters

| Type                                            | Name         | Description                              |
| ----------------------------------------------- | ------------ | ---------------------------------------- |
| [FaceList](./cad_types#facelist)                | faces        | List of faces composing the closedShell. |
| [OrientationList](./geom_types#orientationlist) | orientations | List of orientations for each face.      |

Returns

| Type                                   | Name        | Description              |
| -------------------------------------- | ----------- | ------------------------ |
| [ClosedShell](./cad_types#closedshell) | closedShell | The created closedShell. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createCoEdge

Create an coEdge with a edge and an orientation.

```python
cad.createCoEdge(edge, orientation, surface=0, curve2D=0, computeGateway=False) -> cad.CoEdge
```

Parameters

| Type                                    | Name           | Description                                                     |
| --------------------------------------- | -------------- | --------------------------------------------------------------- |
| [Edge](./cad_types#edge)                | edge           | Edge used to create the coEdge.                                 |
| [Orientation](./geom_types#orientation) | orientation    | Orientation of the edge regarding the loop.                     |
| [Surface](./cad_types#surface)          | surface        | The surface trimmed by the edge.                                |
| [Curve](./cad_types#curve)              | curve2D        | Surfacic curve of the edge on the surface trimmed.              |
| [Boolean](./core_types#boolean)         | computeGateway | Needed if 3d curve and 2d curve have different parametrization. |

Returns

| Type                         | Name   | Description       |
| ---------------------------- | ------ | ----------------- |
| [CoEdge](./cad_types#coedge) | coEdge | The created edge. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createEdge

Create an edge with a curve an extremity vertices.

```python
cad.createEdge(curve, startVertex, endVertex) -> cad.Edge
```

Parameters

| Type                         | Name        | Description                    |
| ---------------------------- | ----------- | ------------------------------ |
| [Curve](./cad_types#curve)   | curve       | Curve used to create the edge. |
| [Vertex](./cad_types#vertex) | startVertex | The start vertex.              |
| [Vertex](./cad_types#vertex) | endVertex   | The end vertex.                |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Edge](./cad_types#edge) | edge | The created edge. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createEdgeFromCurve

Create an edge from a limited curve.

```python
cad.createEdgeFromCurve(curve) -> cad.Edge
```

Parameters

| Type                       | Name  | Description                            |
| -------------------------- | ----- | -------------------------------------- |
| [Curve](./cad_types#curve) | curve | Limited curve used to create the edge. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Edge](./cad_types#edge) | edge | The created edge. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createEdgeWithBounds

Create an edge with a curve an extremity vertices and a given boundary.

```python
cad.createEdgeWithBounds(curve, startVertex, endVertex, bounds) -> cad.Edge
```

Parameters

| Type                             | Name        | Description                    |
| -------------------------------- | ----------- | ------------------------------ |
| [Curve](./cad_types#curve)       | curve       | Curve used to create the edge. |
| [Vertex](./cad_types#vertex)     | startVertex | The start vertex.              |
| [Vertex](./cad_types#vertex)     | endVertex   | The end vertex.                |
| [Bounds1D](./cad_types#bounds1d) | bounds      | The parametrization boundary.  |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Edge](./cad_types#edge) | edge | The created edge. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createFace

Create a face from a surface.

```python
cad.createFace(surface, loopList=None, useSurfaceOrientation=False) -> cad.Face
```

Parameters

| Type                             | Name                  | Description                                                                                                            |
| -------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| [Surface](./cad_types#surface)   | surface               | Surface used to create the face.                                                                                       |
| [LoopList](./cad_types#looplist) | loopList              | List of Loops used to create the face.                                                                                 |
| [Boolean](./core_types#boolean)  | useSurfaceOrientation | If True, the face will have the same orientation than the surface and loops will be inverted if they are inconsistent. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Face](./cad_types#face) | face | The created face. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createLoop

Create a loop from a set of edges of a set of orientations.

```python
cad.createLoop(coEdges, check=True, deleteIsolatedVertices=True) -> cad.Loop
```

Parameters

| Type                                 | Name                   | Description                                                 |
| ------------------------------------ | ---------------------- | ----------------------------------------------------------- |
| [CoEdgeList](./cad_types#coedgelist) | coEdges                | List of coEdges composing the loop.                         |
| [Boolean](./core_types#boolean)      | check                  | If true, the loop check if edges are well connected or not. |
| [Boolean](./core_types#boolean)      | deleteIsolatedVertices | If true, this will merge isolated vertices in the loop.     |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Loop](./cad_types#loop) | loop | The created loop. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createLoopFromCurve

Create a loop from a finite curve.

```python
cad.createLoopFromCurve(curve) -> cad.Loop
```

Parameters

| Type                       | Name  | Description                        |
| -------------------------- | ----- | ---------------------------------- |
| [Curve](./cad_types#curve) | curve | The curve to create the loop with. |

Returns

| Type                     | Name | Description       |
| ------------------------ | ---- | ----------------- |
| [Loop](./cad_types#loop) | loop | The created loop. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createOpenShell

Create a openShell from a set of faces of a set of orientations and set of loops.

```python
cad.createOpenShell(faces, orientations) -> cad.OpenShell
```

Parameters

| Type                                            | Name         | Description                            |
| ----------------------------------------------- | ------------ | -------------------------------------- |
| [FaceList](./cad_types#facelist)                | faces        | List of faces composing the openShell. |
| [OrientationList](./geom_types#orientationlist) | orientations | List of orientations for each face.    |

Returns

| Type                               | Name      | Description            |
| ---------------------------------- | --------- | ---------------------- |
| [OpenShell](./cad_types#openshell) | openShell | The created openShell. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### createVertex

Create a vertex from a position.

```python
cad.createVertex(position) -> cad.Vertex
```

Parameters

| Type                          | Name     | Description      |
| ----------------------------- | -------- | ---------------- |
| [Point3](./geom_types#point3) | position | Vertex position. |

Returns

| Type                         | Name   | Description         |
| ---------------------------- | ------ | ------------------- |
| [Vertex](./cad_types#vertex) | vertex | The created vertex. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### invertCoEdge

Invert a coedge.

```python
cad.invertCoEdge(coedge)
```

Parameters

| Type                         | Name   | Description           |
| ---------------------------- | ------ | --------------------- |
| [CoEdge](./cad_types#coedge) | coedge | The coedge to invert. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### invertFaces

Invert faces.

```python
cad.invertFaces(faces, invertLoops=True)
```

Parameters

| Type                             | Name        | Description                        |
| -------------------------------- | ----------- | ---------------------------------- |
| [FaceList](./cad_types#facelist) | faces       | The faces to invert.               |
| [Boolean](./core_types#boolean)  | invertLoops | If true, invert loops orientation. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertLoop](./cad_functions#invertloop)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### invertLoop

Invert a loop.

```python
cad.invertLoop(loop)
```

Parameters

| Type                     | Name | Description         |
| ------------------------ | ---- | ------------------- |
| [Loop](./cad_types#loop) | loop | The loop to invert. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.isSurfaceFinite](./cad_functions#issurfacefinite)

### isSurfaceFinite

Return if the surface is finite.

```python
cad.isSurfaceFinite(surface) -> core.Boolean
```

Parameters

| Type                           | Name    | Description  |
| ------------------------------ | ------- | ------------ |
| [Surface](./cad_types#surface) | surface | The surface. |

Returns

| Type                            | Name   | Description      |
| ------------------------------- | ------ | ---------------- |
| [Boolean](./core_types#boolean) | finite | Tells if finite. |

See also:

* [cad.createBody](./cad_functions#createbody)
* [cad.createClosedShell](./cad_functions#createclosedshell)
* [cad.createCoEdge](./cad_functions#createcoedge)
* [cad.createEdge](./cad_functions#createedge)
* [cad.createEdgeFromCurve](./cad_functions#createedgefromcurve)
* [cad.createEdgeWithBounds](./cad_functions#createedgewithbounds)
* [cad.createFace](./cad_functions#createface)
* [cad.createLoop](./cad_functions#createloop)
* [cad.createLoopFromCurve](./cad_functions#createloopfromcurve)
* [cad.createOpenShell](./cad_functions#createopenshell)
* [cad.createVertex](./cad_functions#createvertex)
* [cad.invertCoEdge](./cad_functions#invertcoedge)
* [cad.invertFaces](./cad_functions#invertfaces)
* [cad.invertLoop](./cad_functions#invertloop)

## surfaces

### addPrecisionArea

Define a working area on the 2D projection of the surface to define a parametric precision.

```python
cad.addPrecisionArea(surface, aabr)
```

Parameters

| Type                           | Name    | Description                                      |
| ------------------------------ | ------- | ------------------------------------------------ |
| [Surface](./cad_types#surface) | surface | Surface on which the precision area will be set. |
| [AABR](./geom_types#aabr)      | aabr    | 2D area defining the working area.               |

See also:

* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createBezierSurface

Create a new bezier surface.

```python
cad.createBezierSurface(degreeU, degreeV, poles) -> cad.Surface
```

Parameters

| Type                                  | Name    | Description |
| ------------------------------------- | ------- | ----------- |
| [Int](./core_types#int)               | degreeU | U degree.   |
| [Int](./core_types#int)               | degreeV | V degree.   |
| [Point3List](./geom_types#point3list) | poles   | Poles list. |

Returns

| Type                           | Name          | Description             |
| ------------------------------ | ------------- | ----------------------- |
| [Surface](./cad_types#surface) | bezierSurface | The new Bezier surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createConeSurface

Create a new cone surface.

```python
cad.createConeSurface(radius, semiAngle, matrix=geom.IdentityMatrix4) -> cad.Surface
```

Parameters

| Type                              | Name      | Description                      |
| --------------------------------- | --------- | -------------------------------- |
| [Distance](./geom_types#distance) | radius    | Radius of the cone at origin.    |
| [Double](./core_types#double)     | semiAngle | Semi-angle of the cone (in rad). |
| [Matrix4](./geom_types#matrix4)   | matrix    | Positionning matrix of the cone. |

Returns

| Type                           | Name        | Description           |
| ------------------------------ | ----------- | --------------------- |
| [Surface](./cad_types#surface) | coneSurface | The new cone surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createCurveExtrusionSurface

Create a new curveExtrusion surface.

```python
cad.createCurveExtrusionSurface(generatrixCurve, directrixCurve, refSurface=0) -> cad.Surface
```

Parameters

| Type                           | Name            | Description            |
| ------------------------------ | --------------- | ---------------------- |
| [Curve](./cad_types#curve)     | generatrixCurve | The generatrix curve.  |
| [Curve](./cad_types#curve)     | directrixCurve  | The directrix curve.   |
| [Surface](./cad_types#surface) | refSurface      | The reference surface. |

Returns

| Type                           | Name                  | Description                     |
| ------------------------------ | --------------------- | ------------------------------- |
| [Surface](./cad_types#surface) | curveExtrusionSurface | The new curveExtrusion surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createCylinderSurface

Create a new cylinder surface.

```python
cad.createCylinderSurface(radius, matrix=geom.IdentityMatrix4) -> cad.Surface
```

Parameters

| Type                              | Name   | Description                          |
| --------------------------------- | ------ | ------------------------------------ |
| [Distance](./geom_types#distance) | radius | Radius of the cylinder.              |
| [Matrix4](./geom_types#matrix4)   | matrix | Positionning matrix of the cylinder. |

Returns

| Type                           | Name            | Description               |
| ------------------------------ | --------------- | ------------------------- |
| [Surface](./cad_types#surface) | cylinderSurface | The new cylinder surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createEllipticConeSurface

Create a new elliptic cone surface.

```python
cad.createEllipticConeSurface(radius1, radius2, semiAngle, matrix=geom.IdentityMatrix4) -> cad.Surface
```

Parameters

| Type                              | Name      | Description                                 |
| --------------------------------- | --------- | ------------------------------------------- |
| [Distance](./geom_types#distance) | radius1   | Radius of the cone at origin on the X axis. |
| [Distance](./geom_types#distance) | radius2   | Radius of the cone at origin on the Y axis. |
| [Double](./core_types#double)     | semiAngle | Semi-angle of the cone (in rad).            |
| [Matrix4](./geom_types#matrix4)   | matrix    | Positionning matrix of the cone.            |

Returns

| Type                           | Name                | Description                    |
| ------------------------------ | ------------------- | ------------------------------ |
| [Surface](./cad_types#surface) | ellipticConeSurface | The new elliptic cone surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createNURBSSurface

Create a new NURBS surface.

```python
cad.createNURBSSurface(degreeU, degreeV, knotsU, knotsV, poles, weights=None) -> cad.Surface
```

Parameters

| Type                                  | Name    | Description   |
| ------------------------------------- | ------- | ------------- |
| [Int](./core_types#int)               | degreeU | U degree.     |
| [Int](./core_types#int)               | degreeV | V degree.     |
| [DoubleList](./core_types#doublelist) | knotsU  | Knots on U.   |
| [DoubleList](./core_types#doublelist) | knotsV  | Knots on V.   |
| [Point3List](./geom_types#point3list) | poles   | Poles list.   |
| [DoubleList](./core_types#doublelist) | weights | Weights list. |

Returns

| Type                           | Name         | Description            |
| ------------------------------ | ------------ | ---------------------- |
| [Surface](./cad_types#surface) | NURBSSurface | The new NURBS surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createOffsetSurface

Create a new offset surface.

```python
cad.createOffsetSurface(baseSurface, distance) -> cad.Surface
```

Parameters

| Type                           | Name        | Description          |
| ------------------------------ | ----------- | -------------------- |
| [Surface](./cad_types#surface) | baseSurface | The base surface.    |
| [Double](./core_types#double)  | distance    | The offset distance. |

Returns

| Type                           | Name          | Description             |
| ------------------------------ | ------------- | ----------------------- |
| [Surface](./cad_types#surface) | offsetSurface | The new offset surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createPlaneSurface

Create a new plane surface.

```python
cad.createPlaneSurface(matrix=geom.IdentityMatrix4) -> cad.Surface
```

Parameters

| Type                            | Name   | Description                       |
| ------------------------------- | ------ | --------------------------------- |
| [Matrix4](./geom_types#matrix4) | matrix | Positionning matrix of the plane. |

Returns

| Type                           | Name         | Description            |
| ------------------------------ | ------------ | ---------------------- |
| [Surface](./cad_types#surface) | planeSurface | The new plane surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createRevolutionSurface

Create a new revolution surface.

```python
cad.createRevolutionSurface(generatrixCurve, axisOrigin, axisDirection, startParam=0, endParam=Core.TwoPi) -> cad.Surface
```

Parameters

| Type                            | Name            | Description                                                |
| ------------------------------- | --------------- | ---------------------------------------------------------- |
| [Curve](./cad_types#curve)      | generatrixCurve | Generatrix curve rotated to create the revolution surface. |
| [Point3](./geom_types#point3)   | axisOrigin      | Axis origin point.                                         |
| [Vector3](./geom_types#vector3) | axisDirection   | Axis direction vector.                                     |
| [Double](./core_types#double)   | startParam      | Start angle of the revolution surface (in rad).            |
| [Double](./core_types#double)   | endParam        | End angle of the revolution surface (in rad).              |

Returns

| Type                           | Name              | Description                                                               |
| ------------------------------ | ----------------- | ------------------------------------------------------------------------- |
| [Surface](./cad_types#surface) | revolutionSurface | Revolution surface generated by rotating the given curve around the axis. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createRuledSurface

Create a new ruled surface.

```python
cad.createRuledSurface(firstCurve, secondCurve) -> cad.Surface
```

Parameters

| Type                       | Name        | Description    |
| -------------------------- | ----------- | -------------- |
| [Curve](./cad_types#curve) | firstCurve  | First Curve.   |
| [Curve](./cad_types#curve) | secondCurve | Seconde Curve. |

Returns

| Type                           | Name         | Description            |
| ------------------------------ | ------------ | ---------------------- |
| [Surface](./cad_types#surface) | ruledSurface | The new ruled surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createSphereSurface

Create a new sphere surface.

```python
cad.createSphereSurface(radius, matrix=geom.IdentityMatrix4) -> cad.Surface
```

Parameters

| Type                              | Name   | Description                        |
| --------------------------------- | ------ | ---------------------------------- |
| [Distance](./geom_types#distance) | radius | Radius of the sphere.              |
| [Matrix4](./geom_types#matrix4)   | matrix | Positionning matrix of the sphere. |

Returns

| Type                           | Name          | Description             |
| ------------------------------ | ------------- | ----------------------- |
| [Surface](./cad_types#surface) | sphereSurface | The new sphere surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createTabulatedCylinderSurface

Create a new tabulated cylinder surface.

```python
cad.createTabulatedCylinderSurface(directrixCurve, GeneratixLine, minRange, maxRange) -> cad.Surface
```

Parameters

| Type                              | Name           | Description                   |
| --------------------------------- | -------------- | ----------------------------- |
| [Curve](./cad_types#curve)        | directrixCurve | Directrix Curve.              |
| [Point3](./geom_types#point3)     | GeneratixLine  | Generatrix Line.              |
| [Distance](./geom_types#distance) | minRange       | Minimimum value of the range. |
| [Distance](./geom_types#distance) | maxRange       | Maximum value of the range.   |

Returns

| Type                           | Name                     | Description                         |
| ------------------------------ | ------------------------ | ----------------------------------- |
| [Surface](./cad_types#surface) | tabulatedCylinderSurface | The new tabulated cylinder surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### createTorusSurface

Create a new torus surface.

```python
cad.createTorusSurface(radiusMax, radiusMin, matrix=geom.IdentityMatrix4) -> cad.Surface
```

Parameters

| Type                              | Name      | Description                        |
| --------------------------------- | --------- | ---------------------------------- |
| [Distance](./geom_types#distance) | radiusMax | Major radius .                     |
| [Distance](./geom_types#distance) | radiusMin | Minor radius .                     |
| [Matrix4](./geom_types#matrix4)   | matrix    | Positionning matrix of the sphere. |

Returns

| Type                           | Name         | Description            |
| ------------------------------ | ------------ | ---------------------- |
| [Surface](./cad_types#surface) | torusSurface | The new torus surface. |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.needPrecisionArea](./cad_functions#needprecisionarea)

### needPrecisionArea

Tells if it needs a working area on the surface.

```python
cad.needPrecisionArea(surface) -> core.Boolean
```

Parameters

| Type                           | Name    | Description                                  |
| ------------------------------ | ------- | -------------------------------------------- |
| [Surface](./cad_types#surface) | surface | Surface to check if it needs precision area. |

Returns

| Type                            | Name | Description |
| ------------------------------- | ---- | ----------- |
| [Boolean](./core_types#boolean) | need | Result.     |

See also:

* [cad.addPrecisionArea](./cad_functions#addprecisionarea)
* [cad.createBezierSurface](./cad_functions#createbeziersurface)
* [cad.createConeSurface](./cad_functions#createconesurface)
* [cad.createCurveExtrusionSurface](./cad_functions#createcurveextrusionsurface)
* [cad.createCylinderSurface](./cad_functions#createcylindersurface)
* [cad.createEllipticConeSurface](./cad_functions#createellipticconesurface)
* [cad.createNURBSSurface](./cad_functions#createnurbssurface)
* [cad.createOffsetSurface](./cad_functions#createoffsetsurface)
* [cad.createPlaneSurface](./cad_functions#createplanesurface)
* [cad.createRevolutionSurface](./cad_functions#createrevolutionsurface)
* [cad.createRuledSurface](./cad_functions#createruledsurface)
* [cad.createSphereSurface](./cad_functions#createspheresurface)
* [cad.createTabulatedCylinderSurface](./cad_functions#createtabulatedcylindersurface)
* [cad.createTorusSurface](./cad_functions#createtorussurface)
