Extrude
Extends BooleanOperation
Inherited from BooleanOperation
add()
add(): this
Additive boolean operation — fuses the result with all intersecting scene objects.
Use .scope() to target specific objects.
'new'()
'new'(): this
No boolean operation — keeps the result as a standalone shape, separate from all other scene objects.
remove()
remove(): this
Subtractive boolean operation — cuts the result from all intersecting scene objects.
Use .scope() to target specific objects.
scope()
scope(...objects: SceneObject[]): this
Narrows the boolean operation scope to specific target objects.
Must be chained after .add() or .remove().
| Parameter | Type | Description |
|---|---|---|
...objects | SceneObject[] | The target objects to operate on. (optional) |
Inherited from SceneObject
name()
name(value: string): this
Sets a custom display name for this object, overriding the default type-based name.
| Parameter | Type | Description |
|---|---|---|
value | string | The display name to assign. |
Methods
symmetric()
symmetric(): this
Enables symmetric mode — extrudes equally in both directions from the sketch plane.
startFaces()
startFaces(...args: (number | FaceFilterBuilder)[]): ISelection
Selects faces at the start (base) of the extrusion.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
endFaces()
endFaces(...args: (number | FaceFilterBuilder)[]): ISelection
Selects faces at the end (cap) of the extrusion.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
startEdges()
startEdges(...args: (number | EdgeFilterBuilder)[]): ISelection
Selects edges on the start (base) faces of the extrusion.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
endEdges()
endEdges(...args: (number | EdgeFilterBuilder)[]): ISelection
Selects edges on the end (cap) faces of the extrusion.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
sideFaces()
sideFaces(...args: (number | FaceFilterBuilder)[]): ISelection
Selects the lateral faces created by the extrusion.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
sideEdges()
sideEdges(...args: (number | EdgeFilterBuilder)[]): ISelection
Selects edges on the side faces, excluding edges shared with start/end faces.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
internalFaces()
internalFaces(...args: (number | FaceFilterBuilder)[]): ISelection
Selects faces created inside the solid during extrusion (e.g., from holes or intersections).
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
internalEdges()
internalEdges(...args: (number | EdgeFilterBuilder)[]): ISelection
Selects edges bounding the internal geometry created during extrusion.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
capFaces()
capFaces(...args: (number | FaceFilterBuilder)[]): ISelection
Selects the cap faces at the open ends of a thin-walled extrusion from an open profile. These are the small faces connecting the inner and outer walls at the profile endpoints.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
capEdges()
capEdges(...args: (number | EdgeFilterBuilder)[]): ISelection
Selects edges on the cap faces of a thin-walled extrusion from an open profile.
Returns: ISelection
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
draft()
draft(value: NumberParam | [NumberParam, NumberParam]): this
Applies a draft (taper) angle to the extrusion walls.
| Parameter | Type | Description |
|---|---|---|
value | NumberParam | [NumberParam, NumberParam] | A single angle for uniform draft, or a [start, end] tuple for asymmetric draft. |
endOffset()
endOffset(value: NumberParam): this
Offsets the end face by a specified distance along the extrusion direction.
| Parameter | Type | Description |
|---|---|---|
value | NumberParam | The offset distance. |
drill()
drill(value?: boolean): this
Enables or disables drill mode, which partitions the sketch into face regions before extruding.
| Parameter | Type | Description |
|---|---|---|
value | boolean | true to enable (default), false to disable. (optional) |
region()
region(...names: string[]): this
Restricts the extrusion to particular regions of the sketch, by the
names their region() declarations gave them inside the sketch
callback — region('r1', l1, l2, c1) declares, .region('r1')
selects. The Pick regions link of the dialog writes both.
| Parameter | Type | Description |
|---|---|---|
...names | string[] | Names of regions the sketch declares. (optional) |
thin()
thin(offset: NumberParam): this
Enables thin extrude mode — offsets the profile edges to create a thin-walled solid instead of extruding filled faces. Positive values offset outward, negative values offset inward.
| Parameter | Type | Description |
|---|---|---|
offset | NumberParam | The wall offset distance. Positive = outward, negative = inward. |
thin()
thin(offset1: NumberParam, offset2: NumberParam): this
Enables thin extrude mode with two offset directions. The two offsets must go in opposite directions. If both have the same sign, the second offset is automatically flipped.
| Parameter | Type | Description |
|---|---|---|
offset1 | NumberParam | The first wall offset distance. Positive = outward, negative = inward. |
offset2 | NumberParam | The second wall offset distance, in the opposite direction of offset1. |