2024-06-17 12:13:19 -07:00
---
title: "chamfer"
excerpt: "Create chamfers on tagged paths."
layout: manual
---
Create chamfers on tagged paths.
```js
2024-06-24 14:45:07 -07:00
chamfer(data: ChamferData, extrude_group: ExtrudeGroup, tag?: TagDeclarator) -> ExtrudeGroup
2024-06-17 12:13:19 -07:00
```
### Examples
```js
const width = 20
const length = 10
const thickness = 1
2024-06-18 18:33:57 -07:00
const chamferLength = 2
2024-06-17 12:13:19 -07:00
const mountingPlateSketch = startSketchOn("XY")
|> startProfileAt([-width / 2, -length / 2], %)
2024-06-24 22:39:04 -07:00
|> lineTo([width / 2, -length / 2], %, $edge1)
|> lineTo([width / 2, length / 2], %, $edge2)
|> lineTo([-width / 2, length / 2], %, $edge3)
|> close(%, $edge4)
2024-06-17 12:13:19 -07:00
const mountingPlate = extrude(thickness, mountingPlateSketch)
|> chamfer({
2024-06-18 18:33:57 -07:00
length: chamferLength,
2024-06-17 12:13:19 -07:00
tags: [
2024-06-24 22:39:04 -07:00
getNextAdjacentEdge(edge1, %),
getNextAdjacentEdge(edge2, %),
getNextAdjacentEdge(edge3, %),
getNextAdjacentEdge(edge4, %)
2024-06-17 12:13:19 -07:00
]
}, %)
```

```js
{
2024-06-18 18:33:57 -07:00
// The length of the chamfer.
length: number,
2024-06-17 12:13:19 -07:00
// The tags of the paths you want to chamfer.
tags: [uuid |
2024-06-24 14:45:07 -07:00
{
value: string,
}],
2024-06-17 12:13:19 -07:00
}
```
* `extrude_group` : `ExtrudeGroup` - An extrude group is a collection of extrude surfaces. (REQUIRED)
```js
{
// The id of the extrusion end cap
endCapId: uuid,
2024-06-23 19:19:24 -07:00
// 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,
2024-06-24 14:45:07 -07:00
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "chamfer",
}],
2024-06-17 12:13:19 -07:00
// The height of the extrude group.
height: number,
// The id of the extrude group.
id: uuid,
2024-06-21 23:50:30 -07:00
// 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,
},
} |
{
2024-06-23 19:19:24 -07:00
// 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,
2024-06-24 14:45:07 -07:00
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
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],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "extrudePlane",
} |
{
// The face id for the extrude plane.
faceId: uuid,
// The id of the geometry.
id: uuid,
// The source range.
sourceRange: [number, number],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "extrudeArc",
}],
},
2024-06-21 23:50:30 -07:00
// 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],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-21 23:50:30 -07:00
// The to point.
to: [number, number],
2024-07-05 16:53:13 -07:00
},
// Tag identifiers that have been declared in this sketch group.
tags: {
2024-06-21 23:50:30 -07:00
},
// The paths in the sketch group.
value: [{
2024-06-17 12:13:19 -07:00
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// 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],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "TangentialArcTo",
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "TangentialArc",
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "Horizontal",
// The x coordinate.
x: number,
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "AngledLineTo",
// The x coordinate.
x: number,
// The y coordinate.
y: number,
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "Base",
}],
2024-06-21 23:50:30 -07:00
},
2024-06-17 12:13:19 -07:00
// 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],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
type: "extrudePlane",
} |
{
// The face id for the extrude plane.
faceId: uuid,
// The id of the geometry.
id: uuid,
// The source range.
sourceRange: [number, number],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
type: "extrudeArc",
}],
2024-06-21 23:50:30 -07:00
}
```
2024-06-24 14:45:07 -07:00
* `tag` : `TagDeclarator` (OPTIONAL)
```js
{
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
}
```
2024-06-21 23:50:30 -07:00
### Returns
`ExtrudeGroup` - An extrude group is a collection of extrude surfaces.
```js
{
// The id of the extrusion end cap
endCapId: uuid,
2024-06-23 19:19:24 -07:00
// 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,
2024-06-24 14:45:07 -07:00
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "chamfer",
}],
2024-06-21 23:50:30 -07:00
// 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?
2024-06-17 12:13:19 -07:00
xAxis: {
x: number,
y: number,
z: number,
},
2024-06-21 23:50:30 -07:00
// What should the plane’ s Y axis be?
2024-06-17 12:13:19 -07:00
yAxis: {
x: number,
y: number,
z: number,
},
2024-06-21 23:50:30 -07:00
// The z-axis (normal).
2024-06-17 12:13:19 -07:00
zAxis: {
x: number,
y: number,
z: number,
},
2024-06-21 23:50:30 -07:00
} |
2024-06-17 12:13:19 -07:00
{
2024-06-23 19:19:24 -07:00
// 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,
2024-06-24 14:45:07 -07:00
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
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],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "extrudePlane",
} |
{
// The face id for the extrude plane.
faceId: uuid,
// The id of the geometry.
id: uuid,
// The source range.
sourceRange: [number, number],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "extrudeArc",
}],
},
2024-06-21 23:50:30 -07:00
// The id of the face.
2024-06-17 12:13:19 -07:00
id: uuid,
2024-06-21 23:50:30 -07:00
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],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-21 23:50:30 -07:00
// The to point.
to: [number, number],
2024-07-05 16:53:13 -07:00
},
// Tag identifiers that have been declared in this sketch group.
tags: {
2024-06-21 23:50:30 -07:00
},
// The paths in the sketch group.
value: [{
2024-06-17 12:13:19 -07:00
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// 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],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "TangentialArcTo",
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "TangentialArc",
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "Horizontal",
// The x coordinate.
x: number,
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "AngledLineTo",
// The x coordinate.
x: number,
// The y coordinate.
y: number,
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
// The to point.
to: [number, number],
type: "Base",
}],
2024-06-21 23:50:30 -07:00
},
2024-06-17 12:13:19 -07:00
// 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],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
type: "extrudePlane",
} |
{
// The face id for the extrude plane.
faceId: uuid,
// The id of the geometry.
id: uuid,
// The source range.
sourceRange: [number, number],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
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],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-17 12:13:19 -07:00
type: "extrudeArc",
}],
}
```