Files
modeling-app/docs/kcl/hole.md
Nick Cameron 3139e18dc7 Make = and => optional in function declarations (#4577)
* Make `=` and `=>` optional in function declarations

And requires `:` for return types

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Tests

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Format types in function decls

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Require  in anon function decls

Signed-off-by: Nick Cameron <nrc@ncameron.org>

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
2024-11-27 15:46:58 +13:00

188 KiB

title, excerpt, layout
title excerpt layout
hole Use a 2-dimensional sketch to cut a hole in another 2-dimensional sketch. manual

Use a 2-dimensional sketch to cut a hole in another 2-dimensional sketch.

hole(hole_sketch: SketchSet, sketch: Sketch) -> Sketch

Arguments

Name Type Description Required
hole_sketch SketchSet A sketch or a group of sketches. Yes
sketch Sketch A sketch is a collection of paths. Yes

Returns

Sketch - A sketch is a collection of paths.

Examples

exampleSketch = startSketchOn('XY')
  |> startProfileAt([0, 0], %)
  |> line([0, 5], %)
  |> line([5, 0], %)
  |> line([0, -5], %)
  |> close(%)
  |> hole(circle({ center = [1, 1], radius = .25 }, %), %)
  |> hole(circle({ center = [1, 4], radius = .25 }, %), %)

example = extrude(1, exampleSketch)

Rendered example of hole 0

fn squareHoleSketch() {
  squareSketch = startSketchOn('-XZ')
    |> startProfileAt([-1, -1], %)
    |> line([2, 0], %)
    |> line([0, 2], %)
    |> line([-2, 0], %)
    |> close(%)
  return squareSketch
}

exampleSketch = startSketchOn('-XZ')
  |> circle({ center = [0, 0], radius = 3 }, %)
  |> hole(squareHoleSketch(), %)
example = extrude(1, exampleSketch)

Rendered example of hole 1