* add chamfer Signed-off-by: Jess Frazelle <github@jessfraz.com> * generate docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * generate docs Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
324 lines
138 KiB
Markdown
324 lines
138 KiB
Markdown
---
|
|
title: "chamfer"
|
|
excerpt: "Create chamfers on tagged paths."
|
|
layout: manual
|
|
---
|
|
|
|
Create chamfers on tagged paths.
|
|
|
|
|
|
|
|
```js
|
|
chamfer(data: ChamferData, extrude_group: ExtrudeGroup) -> ExtrudeGroup
|
|
```
|
|
|
|
### Examples
|
|
|
|
```js
|
|
const width = 20
|
|
const length = 10
|
|
const thickness = 1
|
|
const chamferRadius = 2
|
|
|
|
const mountingPlateSketch = startSketchOn("XY")
|
|
|> startProfileAt([-width / 2, -length / 2], %)
|
|
|> lineTo([width / 2, -length / 2], %, 'edge1')
|
|
|> lineTo([width / 2, length / 2], %, 'edge2')
|
|
|> lineTo([-width / 2, length / 2], %, 'edge3')
|
|
|> close(%, 'edge4')
|
|
|
|
const mountingPlate = extrude(thickness, mountingPlateSketch)
|
|
|> chamfer({
|
|
radius: chamferRadius,
|
|
tags: [
|
|
getNextAdjacentEdge('edge1', %),
|
|
getNextAdjacentEdge('edge2', %),
|
|
getNextAdjacentEdge('edge3', %),
|
|
getNextAdjacentEdge('edge4', %)
|
|
]
|
|
}, %)
|
|
```
|
|
|
|

|
|
|
|
### Arguments
|
|
|
|
* `data`: `ChamferData` - Data for chamfers. (REQUIRED)
|
|
```js
|
|
{
|
|
// The radius of the chamfer.
|
|
radius: number,
|
|
// The tags of the paths you want to chamfer.
|
|
tags: [uuid |
|
|
string],
|
|
}
|
|
```
|
|
* `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 position of the extrude group.
|
|
position: [number, number, number],
|
|
// The rotation of the extrude group.
|
|
rotation: [number, number, number, number],
|
|
// 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 position.
|
|
position: [number, number, number],
|
|
// The rotation.
|
|
rotation: [number, number, number, number],
|
|
// 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 position.
|
|
position: [number, number, number],
|
|
// The rotation.
|
|
rotation: [number, number, number, number],
|
|
// 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 position of the extrude group.
|
|
position: [number, number, number],
|
|
// The rotation of the extrude group.
|
|
rotation: [number, number, number, number],
|
|
// 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 position.
|
|
position: [number, number, number],
|
|
// The rotation.
|
|
rotation: [number, number, number, number],
|
|
// 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 position.
|
|
position: [number, number, number],
|
|
// The rotation.
|
|
rotation: [number, number, number, number],
|
|
// 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,
|
|
},
|
|
}
|
|
```
|
|
|
|
|
|
|