Files
modeling-app/docs/kcl/chamfer.md
Jess Frazelle e50de134b1 renames sketch group/extrude group (#4016)
* renames

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>

fixups

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>

fix parse

Signed-off-by: Jess Frazelle <github@jessfraz.com>

fix typos

Signed-off-by: Jess Frazelle <github@jessfraz.com>

docs

Signed-off-by: Jess Frazelle <github@jessfraz.com>

update tests

Signed-off-by: Jess Frazelle <github@jessfraz.com>

empty

* fix;

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* new

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* add the types pages

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* Look at this (photo)Graph *in the voice of Nickelback*

* empty

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-27 15:44:44 -07:00

215 KiB

title, excerpt, layout
title excerpt layout
chamfer Cut a straight transitional edge along a tagged path. manual

Cut a straight transitional edge along a tagged path.

Chamfer is similar in function and use to a fillet, except a fillet will blend the transition along an edge, rather than cut a sharp, straight transitional edge.

chamfer(data: ChamferData, solid: Solid, tag?: TagDeclarator) -> Solid

Arguments

Name Type Description Required
data ChamferData Data for chamfers. Yes
solid Solid An solid is a collection of extrude surfaces. Yes
tag TagDeclarator No

Returns

Solid - An solid is a collection of extrude surfaces.

Examples

// Chamfer a mounting plate.
const width = 20
const length = 10
const thickness = 1
const chamferLength = 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({
       length: chamferLength,
       tags: [
         getNextAdjacentEdge(edge1),
         getNextAdjacentEdge(edge2),
         getNextAdjacentEdge(edge3),
         getNextAdjacentEdge(edge4)
       ]
     }, %)

Rendered example of chamfer 0

// Sketch on the face of a chamfer.
fn cube = (pos, scale) => {
  const sg = startSketchOn('XY')
    |> startProfileAt(pos, %)
    |> line([0, scale], %)
    |> line([scale, 0], %)
    |> line([0, -scale], %)

  return sg
}

const part001 = cube([0, 0], 20)
  |> close(%, $line1)
  |> extrude(20, %)
  |> chamfer({
       length: 10,
       tags: [getOppositeEdge(line1)]
     }, %, $chamfer1) // We tag the chamfer to reference it later.

const sketch001 = startSketchOn(part001, chamfer1)
  |> startProfileAt([10, 10], %)
  |> line([2, 0], %)
  |> line([0, 2], %)
  |> line([-2, 0], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)
  |> extrude(10, %)

Rendered example of chamfer 1