836 lines
233 KiB
Markdown
836 lines
233 KiB
Markdown
![]() |
---
|
|||
|
title: "hollow"
|
|||
|
excerpt: "Make the inside of a 3D object hollow."
|
|||
|
layout: manual
|
|||
|
---
|
|||
|
|
|||
|
Make the inside of a 3D object hollow.
|
|||
|
|
|||
|
Remove volume from a 3-dimensional shape such that a wall of the provided thickness remains around the exterior of the shape.
|
|||
|
|
|||
|
```js
|
|||
|
hollow(thickness: number, 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, %)
|
|||
|
|> hollow(0.25, %)
|
|||
|
```
|
|||
|
|
|||
|

|
|||
|
|> startProfileAt([-12, 12], %)
|
|||
|
|> line([24, 0], %)
|
|||
|
|> line([0, -24], %)
|
|||
|
|> line([-24, 0], %)
|
|||
|
|> close(%)
|
|||
|
|> extrude(6, %)
|
|||
|
|> hollow(0.5, %)
|
|||
|
```
|
|||
|
|
|||
|

|
|||
|
* `extrude_group`: `ExtrudeGroup` - An extrude group is a collection of extrude surfaces. (REQUIRED)
|
|||
|
```js
|
|||
|
{
|
|||
|
// Chamfers or fillets on this extrude group.
|
|||
|
edgeCuts: [{
|
|||
|
// The engine id of the edge to fillet.
|
|||
|
edgeId: uuid,
|
|||
|
// The id of the engine command that called this fillet.
|
|||
|
id: uuid,
|
|||
|
radius: number,
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "fillet",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The engine id of the edge to chamfer.
|
|||
|
edgeId: uuid,
|
|||
|
// The id of the engine command that called this chamfer.
|
|||
|
id: uuid,
|
|||
|
length: number,
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "chamfer",
|
|||
|
}],
|
|||
|
// 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.
|
|||
|
sketchGroup: {
|
|||
|
// The id of the sketch group (this will change when the engine's reference to it changes.
|
|||
|
id: uuid,
|
|||
|
// What the sketch is on (can be a plane or a face).
|
|||
|
on: {
|
|||
|
// The id of the plane.
|
|||
|
id: uuid,
|
|||
|
// Origin of the plane.
|
|||
|
origin: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
type: "plane",
|
|||
|
// Type for a plane.
|
|||
|
value: "XY" | "XZ" | "YZ" | "Custom",
|
|||
|
// What should the plane’s X axis be?
|
|||
|
xAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// What should the plane’s Y axis be?
|
|||
|
yAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// The z-axis (normal).
|
|||
|
zAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
} |
|
|||
|
{
|
|||
|
// The extrude group the face is on.
|
|||
|
extrudeGroup: {
|
|||
|
// Chamfers or fillets on this extrude group.
|
|||
|
edgeCuts: [{
|
|||
|
// The engine id of the edge to fillet.
|
|||
|
edgeId: uuid,
|
|||
|
// The id of the engine command that called this fillet.
|
|||
|
id: uuid,
|
|||
|
radius: number,
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "fillet",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The engine id of the edge to chamfer.
|
|||
|
edgeId: uuid,
|
|||
|
// The id of the engine command that called this chamfer.
|
|||
|
id: uuid,
|
|||
|
length: number,
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "chamfer",
|
|||
|
}],
|
|||
|
// 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.
|
|||
|
sketchGroup: SketchGroup,
|
|||
|
// 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 source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "extrudePlane",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The face id for the extrude plane.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "extrudeArc",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The id for the chamfer surface.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "chamfer",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The id for the fillet surface.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "fillet",
|
|||
|
}],
|
|||
|
},
|
|||
|
// The id of the face.
|
|||
|
id: uuid,
|
|||
|
type: "face",
|
|||
|
// The tag of the face.
|
|||
|
value: string,
|
|||
|
// What should the face’s X axis be?
|
|||
|
xAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// What should the face’s Y axis be?
|
|||
|
yAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// The z-axis (normal).
|
|||
|
zAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
},
|
|||
|
// The starting path.
|
|||
|
start: {
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
},
|
|||
|
// Tag identifiers that have been declared in this sketch group.
|
|||
|
tags: {
|
|||
|
},
|
|||
|
// The paths in the sketch group.
|
|||
|
value: [{
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
type: "ToPoint",
|
|||
|
} |
|
|||
|
{
|
|||
|
// arc's direction
|
|||
|
ccw: bool,
|
|||
|
// the arc's center
|
|||
|
center: [number, number],
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
type: "TangentialArcTo",
|
|||
|
} |
|
|||
|
{
|
|||
|
// arc's direction
|
|||
|
ccw: bool,
|
|||
|
// the arc's center
|
|||
|
center: [number, number],
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
type: "TangentialArc",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
type: "Horizontal",
|
|||
|
// The x coordinate.
|
|||
|
x: number,
|
|||
|
} |
|
|||
|
{
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: 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 tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: 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 source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "extrudePlane",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The face id for the extrude plane.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "extrudeArc",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The id for the chamfer surface.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "chamfer",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The id for the fillet surface.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "fillet",
|
|||
|
}],
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### Returns
|
|||
|
|
|||
|
`ExtrudeGroup` - An extrude group is a collection of extrude surfaces.
|
|||
|
```js
|
|||
|
{
|
|||
|
// Chamfers or fillets on this extrude group.
|
|||
|
edgeCuts: [{
|
|||
|
// The engine id of the edge to fillet.
|
|||
|
edgeId: uuid,
|
|||
|
// The id of the engine command that called this fillet.
|
|||
|
id: uuid,
|
|||
|
radius: number,
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "fillet",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The engine id of the edge to chamfer.
|
|||
|
edgeId: uuid,
|
|||
|
// The id of the engine command that called this chamfer.
|
|||
|
id: uuid,
|
|||
|
length: number,
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "chamfer",
|
|||
|
}],
|
|||
|
// 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.
|
|||
|
sketchGroup: {
|
|||
|
// The id of the sketch group (this will change when the engine's reference to it changes.
|
|||
|
id: uuid,
|
|||
|
// What the sketch is on (can be a plane or a face).
|
|||
|
on: {
|
|||
|
// The id of the plane.
|
|||
|
id: uuid,
|
|||
|
// Origin of the plane.
|
|||
|
origin: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
type: "plane",
|
|||
|
// Type for a plane.
|
|||
|
value: "XY" | "XZ" | "YZ" | "Custom",
|
|||
|
// What should the plane’s X axis be?
|
|||
|
xAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// What should the plane’s Y axis be?
|
|||
|
yAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// The z-axis (normal).
|
|||
|
zAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
} |
|
|||
|
{
|
|||
|
// The extrude group the face is on.
|
|||
|
extrudeGroup: {
|
|||
|
// Chamfers or fillets on this extrude group.
|
|||
|
edgeCuts: [{
|
|||
|
// The engine id of the edge to fillet.
|
|||
|
edgeId: uuid,
|
|||
|
// The id of the engine command that called this fillet.
|
|||
|
id: uuid,
|
|||
|
radius: number,
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "fillet",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The engine id of the edge to chamfer.
|
|||
|
edgeId: uuid,
|
|||
|
// The id of the engine command that called this chamfer.
|
|||
|
id: uuid,
|
|||
|
length: number,
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "chamfer",
|
|||
|
}],
|
|||
|
// 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.
|
|||
|
sketchGroup: SketchGroup,
|
|||
|
// 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 source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "extrudePlane",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The face id for the extrude plane.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "extrudeArc",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The id for the chamfer surface.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "chamfer",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The id for the fillet surface.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "fillet",
|
|||
|
}],
|
|||
|
},
|
|||
|
// The id of the face.
|
|||
|
id: uuid,
|
|||
|
type: "face",
|
|||
|
// The tag of the face.
|
|||
|
value: string,
|
|||
|
// What should the face’s X axis be?
|
|||
|
xAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// What should the face’s Y axis be?
|
|||
|
yAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// The z-axis (normal).
|
|||
|
zAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
},
|
|||
|
// The starting path.
|
|||
|
start: {
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
},
|
|||
|
// Tag identifiers that have been declared in this sketch group.
|
|||
|
tags: {
|
|||
|
},
|
|||
|
// The paths in the sketch group.
|
|||
|
value: [{
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
type: "ToPoint",
|
|||
|
} |
|
|||
|
{
|
|||
|
// arc's direction
|
|||
|
ccw: bool,
|
|||
|
// the arc's center
|
|||
|
center: [number, number],
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
type: "TangentialArcTo",
|
|||
|
} |
|
|||
|
{
|
|||
|
// arc's direction
|
|||
|
ccw: bool,
|
|||
|
// the arc's center
|
|||
|
center: [number, number],
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
type: "TangentialArc",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
// The to point.
|
|||
|
to: [number, number],
|
|||
|
type: "Horizontal",
|
|||
|
// The x coordinate.
|
|||
|
x: number,
|
|||
|
} |
|
|||
|
{
|
|||
|
// The from point.
|
|||
|
from: [number, number],
|
|||
|
// The tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: 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 tag of the path.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: 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 source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "extrudePlane",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The face id for the extrude plane.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "extrudeArc",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The id for the chamfer surface.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "chamfer",
|
|||
|
} |
|
|||
|
{
|
|||
|
// The id for the fillet surface.
|
|||
|
faceId: uuid,
|
|||
|
// The id of the geometry.
|
|||
|
id: uuid,
|
|||
|
// The source range.
|
|||
|
sourceRange: [number, number],
|
|||
|
// The tag.
|
|||
|
tag: {
|
|||
|
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
|
|||
|
end: number,
|
|||
|
start: number,
|
|||
|
value: string,
|
|||
|
},
|
|||
|
type: "fillet",
|
|||
|
}],
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
|