Extrude
Extends Fuseable
Inherited from Fuseable
add()
add(...objects: SceneObject[]): this
Additive boolean operation — fuses the result with existing shapes. When called with no arguments, fuses with all intersecting scene objects. When called with specific objects, fuses only with those objects.
| Parameter | Type | Description |
|---|---|---|
...objects | SceneObject[] | Optional target objects to fuse with. (optional) |
'new'()
'new'(): this
No boolean operation — keeps the result as a standalone shape, separate from all other scene objects.
remove()
remove(...objects: SceneObject[]): this
Subtractive boolean operation — cuts the result from existing shapes. When called with no arguments, cuts from all intersecting scene objects. When called with specific objects, cuts only from those objects.
| Parameter | Type | Description |
|---|---|---|
...objects | SceneObject[] | Optional target objects to cut from. (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. |
guide()
guide(): this
Marks this object as construction geometry. Guide objects are excluded from final geometry output unless explicitly included.
reusable()
reusable(): this
Marks this object as reusable. Reusable objects retain their shapes when
consumed by features (e.g., extrude, revolve), allowing multiple features
to reference the same source geometry. Use remove(obj) to force-remove
shapes from a reusable object.
Methods
symmetric()
symmetric(): this
Enables symmetric mode — extrudes equally in both directions from the sketch plane.
startFaces()
startFaces(...args: (number | FaceFilterBuilder)[]): SceneObject
Selects faces at the start (base) of the extrusion.
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
endFaces()
endFaces(...args: (number | FaceFilterBuilder)[]): SceneObject
Selects faces at the end (cap) of the extrusion.
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
startEdges()
startEdges(...args: (number | EdgeFilterBuilder)[]): SceneObject
Selects edges on the start (base) faces of the extrusion.
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
endEdges()
endEdges(...args: (number | EdgeFilterBuilder)[]): SceneObject
Selects edges on the end (cap) faces of the extrusion.
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
sideFaces()
sideFaces(...args: (number | FaceFilterBuilder)[]): SceneObject
Selects the lateral faces created by the extrusion.
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
sideEdges()
sideEdges(...args: (number | EdgeFilterBuilder)[]): SceneObject
Selects edges on the side faces, excluding edges shared with start/end faces.
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
internalFaces()
internalFaces(...args: (number | FaceFilterBuilder)[]): SceneObject
Selects faces created inside the solid during extrusion (e.g., from holes or intersections).
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
internalEdges()
internalEdges(...args: (number | EdgeFilterBuilder)[]): SceneObject
Selects edges bounding the internal geometry created during extrusion.
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
capFaces()
capFaces(...args: (number | FaceFilterBuilder)[]): SceneObject
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: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | FaceFilterBuilder)[] | Numeric indices or FaceFilterBuilder instances to filter the selection. (optional) |
capEdges()
capEdges(...args: (number | EdgeFilterBuilder)[]): SceneObject
Selects edges on the cap faces of a thin-walled extrusion from an open profile.
Returns: SceneObject
| Parameter | Type | Description |
|---|---|---|
...args | (number | EdgeFilterBuilder)[] | Numeric indices or EdgeFilterBuilder instances to filter the selection. (optional) |
draft()
draft(value: number | [number, number]): this
Applies a draft (taper) angle to the extrusion walls.
| Parameter | Type | Description |
|---|---|---|
value | number | [number, number] | A single angle for uniform draft, or a [start, end] tuple for asymmetric draft. |
endOffset()
endOffset(value: number): this
Offsets the end face by a specified distance along the extrusion direction.
| Parameter | Type | Description |
|---|---|---|
value | number | 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) |
pick()
pick(...points: Point2DLike[]): this
Restricts extrusion to only the sketch regions containing the given points.
| Parameter | Type | Description |
|---|---|---|
...points | Point2DLike[] | 2D points in the sketch plane identifying regions to extrude. (optional) |
thin()
thin(offset: number): 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 | number | The wall offset distance. Positive = outward, negative = inward. |
thin()
thin(offset1: number, offset2: number): 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 | number | The first wall offset distance. Positive = outward, negative = inward. |
offset2 | number | The second wall offset distance, in the opposite direction of offset1. |