288 lines
214 KiB
Markdown
288 lines
214 KiB
Markdown
![]() |
---
|
||
|
title: "shell"
|
||
|
excerpt: "Shell a solid."
|
||
|
layout: manual
|
||
|
---
|
||
|
|
||
|
Shell a solid.
|
||
|
|
||
|
|
||
|
|
||
|
```js
|
||
|
shell(data: ShellData, extrude_group: ExtrudeGroup) -> ExtrudeGroup
|
||
|
```
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```js
|
||
|
const firstSketch = startSketchOn('XY')
|
||
|
|> startProfileAt([-12, 12], %)
|
||
|
|> line([24, 0], %)
|
||
|
|> line([0, -24], %)
|
||
|
|> line([-24, 0], %)
|
||
|
|> close(%)
|
||
|
|> extrude(6, %)
|
||
|
|
||
|
// Remove the end face for the extrusion.
|
||
|
shell({ faces: ['end'], thickness: 0.25 }, firstSketch)
|
||
|
```
|
||
|
|
||
|

|
||
|
```js
|
||
|
{
|
||
|
// The faces you want removed.
|
||
|
faces: ["start" | "end" |
|
||
|
string],
|
||
|
// The thickness of the shell.
|
||
|
thickness: number,
|
||
|
}
|
||
|
```
|
||
|
* `extrude_group`: `ExtrudeGroup` - An extrude group is a collection of extrude surfaces. (REQUIRED)
|
||
|
```js
|
||
|
{
|
||
|
// The id of the extrusion end cap
|
||
|
endCapId: uuid,
|
||
|
// The height of the extrude group.
|
||
|
height: number,
|
||
|
// The id of the extrude group.
|
||
|
id: uuid,
|
||
|
// The sketch group paths.
|
||
|
sketchGroupValues: [{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "ToPoint",
|
||
|
} |
|
||
|
{
|
||
|
// arc's direction
|
||
|
ccw: string,
|
||
|
// the arc's center
|
||
|
center: [number, number],
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "TangentialArcTo",
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "TangentialArc",
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "Horizontal",
|
||
|
// The x coordinate.
|
||
|
x: number,
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "AngledLineTo",
|
||
|
// The x coordinate.
|
||
|
x: number,
|
||
|
// The y coordinate.
|
||
|
y: number,
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "Base",
|
||
|
}],
|
||
|
// The id of the extrusion start cap
|
||
|
startCapId: uuid,
|
||
|
// The extrude surfaces.
|
||
|
value: [{
|
||
|
// The face id for the extrude plane.
|
||
|
faceId: uuid,
|
||
|
// The id of the geometry.
|
||
|
id: uuid,
|
||
|
// The name.
|
||
|
name: string,
|
||
|
// The source range.
|
||
|
sourceRange: [number, number],
|
||
|
type: "extrudePlane",
|
||
|
} |
|
||
|
{
|
||
|
// The face id for the extrude plane.
|
||
|
faceId: uuid,
|
||
|
// The id of the geometry.
|
||
|
id: uuid,
|
||
|
// The name.
|
||
|
name: string,
|
||
|
// The source range.
|
||
|
sourceRange: [number, number],
|
||
|
type: "extrudeArc",
|
||
|
}],
|
||
|
// The x-axis of the extrude group base plane in the 3D space
|
||
|
xAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
// The y-axis of the extrude group base plane in the 3D space
|
||
|
yAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
// The z-axis of the extrude group base plane in the 3D space
|
||
|
zAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Returns
|
||
|
|
||
|
`ExtrudeGroup` - An extrude group is a collection of extrude surfaces.
|
||
|
```js
|
||
|
{
|
||
|
// The id of the extrusion end cap
|
||
|
endCapId: uuid,
|
||
|
// The height of the extrude group.
|
||
|
height: number,
|
||
|
// The id of the extrude group.
|
||
|
id: uuid,
|
||
|
// The sketch group paths.
|
||
|
sketchGroupValues: [{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "ToPoint",
|
||
|
} |
|
||
|
{
|
||
|
// arc's direction
|
||
|
ccw: string,
|
||
|
// the arc's center
|
||
|
center: [number, number],
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "TangentialArcTo",
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "TangentialArc",
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "Horizontal",
|
||
|
// The x coordinate.
|
||
|
x: number,
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "AngledLineTo",
|
||
|
// The x coordinate.
|
||
|
x: number,
|
||
|
// The y coordinate.
|
||
|
y: number,
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "Base",
|
||
|
}],
|
||
|
// The id of the extrusion start cap
|
||
|
startCapId: uuid,
|
||
|
// The extrude surfaces.
|
||
|
value: [{
|
||
|
// The face id for the extrude plane.
|
||
|
faceId: uuid,
|
||
|
// The id of the geometry.
|
||
|
id: uuid,
|
||
|
// The name.
|
||
|
name: string,
|
||
|
// The source range.
|
||
|
sourceRange: [number, number],
|
||
|
type: "extrudePlane",
|
||
|
} |
|
||
|
{
|
||
|
// The face id for the extrude plane.
|
||
|
faceId: uuid,
|
||
|
// The id of the geometry.
|
||
|
id: uuid,
|
||
|
// The name.
|
||
|
name: string,
|
||
|
// The source range.
|
||
|
sourceRange: [number, number],
|
||
|
type: "extrudeArc",
|
||
|
}],
|
||
|
// The x-axis of the extrude group base plane in the 3D space
|
||
|
xAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
// The y-axis of the extrude group base plane in the 3D space
|
||
|
yAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
// The z-axis of the extrude group base plane in the 3D space
|
||
|
zAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
}
|
||
|
```
|
||
|
|
||
|
|
||
|
|