* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* udpages
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* update
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* better functions
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* backwards compat everywhere
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* update docs
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* udpates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* add lsp symbols stuff;
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* tests for dupes
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* Revert "tests for dupes"
This reverts commit 6acaf5a9fa
.
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* initial test updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* tests
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* test
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fixes
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix tests
Signed-off-by: Jess Frazelle <github@jessfraz.com>
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
644 lines
296 KiB
Markdown
644 lines
296 KiB
Markdown
---
|
||
title: "helix"
|
||
excerpt: "Create a helix on a cylinder."
|
||
layout: manual
|
||
---
|
||
|
||
Create a helix on a cylinder.
|
||
|
||
|
||
|
||
```js
|
||
helix(data: HelixData, extrude_group: ExtrudeGroup) -> ExtrudeGroup
|
||
```
|
||
|
||
### Examples
|
||
|
||
```js
|
||
const part001 = startSketchOn('XY')
|
||
|> circle([5, 5], 10, %)
|
||
|> extrude(10, %)
|
||
|> helix({
|
||
angle_start: 0,
|
||
ccw: true,
|
||
revolutions: 16,
|
||
angle_start: 0
|
||
}, %)
|
||
```
|
||
|
||

|
||
|
||
### Arguments
|
||
|
||
* `data`: `HelixData` - Data for helices. (REQUIRED)
|
||
```js
|
||
{
|
||
// Start angle (in degrees).
|
||
angle_start: number,
|
||
// Is the helix rotation counter clockwise? The default is `false`.
|
||
ccw: string,
|
||
// Length of the helix. If this argument is not provided, the height of the extrude group is used.
|
||
length: number,
|
||
// Number of revolutions.
|
||
revolutions: number,
|
||
}
|
||
```
|
||
* `extrude_group`: `ExtrudeGroup` - An extrude group is a collection of extrude surfaces. (REQUIRED)
|
||
```js
|
||
{
|
||
// The id of the extrusion end cap
|
||
endCapId: uuid,
|
||
// Chamfers or fillets on this extrude group.
|
||
filletOrChamfers: [{
|
||
// The engine id of the edge to fillet.
|
||
edge_id: uuid,
|
||
// The id of the engine command that called this fillet.
|
||
id: uuid,
|
||
radius: number,
|
||
type: "fillet",
|
||
} |
|
||
{
|
||
// The engine id of the edge to chamfer.
|
||
edge_id: uuid,
|
||
// The id of the engine command that called this chamfer.
|
||
id: uuid,
|
||
length: number,
|
||
tag: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
type: "chamfer",
|
||
}],
|
||
// 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.
|
||
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: {
|
||
// The id of the extrusion end cap
|
||
endCapId: uuid,
|
||
// Chamfers or fillets on this extrude group.
|
||
filletOrChamfers: [{
|
||
// The engine id of the edge to fillet.
|
||
edge_id: uuid,
|
||
// The id of the engine command that called this fillet.
|
||
id: uuid,
|
||
radius: number,
|
||
type: "fillet",
|
||
} |
|
||
{
|
||
// The engine id of the edge to chamfer.
|
||
edge_id: uuid,
|
||
// The id of the engine command that called this chamfer.
|
||
id: uuid,
|
||
length: number,
|
||
tag: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
type: "chamfer",
|
||
}],
|
||
// 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: {
|
||
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: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
type: "extrudeArc",
|
||
}],
|
||
},
|
||
// 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: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
// The to point.
|
||
to: [number, number],
|
||
},
|
||
// The paths in the sketch group.
|
||
value: [{
|
||
// The from point.
|
||
from: [number, number],
|
||
// The tag of the path.
|
||
tag: {
|
||
end: number,
|
||
start: number,
|
||
value: 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 tag of the path.
|
||
tag: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
// The to point.
|
||
to: [number, number],
|
||
type: "TangentialArcTo",
|
||
} |
|
||
{
|
||
// The from point.
|
||
from: [number, number],
|
||
// The tag of the path.
|
||
tag: {
|
||
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: {
|
||
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: {
|
||
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: {
|
||
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: {
|
||
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: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
type: "extrudeArc",
|
||
}],
|
||
}
|
||
```
|
||
|
||
### Returns
|
||
|
||
`ExtrudeGroup` - An extrude group is a collection of extrude surfaces.
|
||
```js
|
||
{
|
||
// The id of the extrusion end cap
|
||
endCapId: uuid,
|
||
// Chamfers or fillets on this extrude group.
|
||
filletOrChamfers: [{
|
||
// The engine id of the edge to fillet.
|
||
edge_id: uuid,
|
||
// The id of the engine command that called this fillet.
|
||
id: uuid,
|
||
radius: number,
|
||
type: "fillet",
|
||
} |
|
||
{
|
||
// The engine id of the edge to chamfer.
|
||
edge_id: uuid,
|
||
// The id of the engine command that called this chamfer.
|
||
id: uuid,
|
||
length: number,
|
||
tag: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
type: "chamfer",
|
||
}],
|
||
// 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.
|
||
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: {
|
||
// The id of the extrusion end cap
|
||
endCapId: uuid,
|
||
// Chamfers or fillets on this extrude group.
|
||
filletOrChamfers: [{
|
||
// The engine id of the edge to fillet.
|
||
edge_id: uuid,
|
||
// The id of the engine command that called this fillet.
|
||
id: uuid,
|
||
radius: number,
|
||
type: "fillet",
|
||
} |
|
||
{
|
||
// The engine id of the edge to chamfer.
|
||
edge_id: uuid,
|
||
// The id of the engine command that called this chamfer.
|
||
id: uuid,
|
||
length: number,
|
||
tag: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
type: "chamfer",
|
||
}],
|
||
// 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: {
|
||
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: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
type: "extrudeArc",
|
||
}],
|
||
},
|
||
// 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: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
// The to point.
|
||
to: [number, number],
|
||
},
|
||
// The paths in the sketch group.
|
||
value: [{
|
||
// The from point.
|
||
from: [number, number],
|
||
// The tag of the path.
|
||
tag: {
|
||
end: number,
|
||
start: number,
|
||
value: 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 tag of the path.
|
||
tag: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
// The to point.
|
||
to: [number, number],
|
||
type: "TangentialArcTo",
|
||
} |
|
||
{
|
||
// The from point.
|
||
from: [number, number],
|
||
// The tag of the path.
|
||
tag: {
|
||
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: {
|
||
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: {
|
||
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: {
|
||
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: {
|
||
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: {
|
||
end: number,
|
||
start: number,
|
||
value: string,
|
||
},
|
||
type: "extrudeArc",
|
||
}],
|
||
}
|
||
```
|
||
|
||
|
||
|