Files
modeling-app/docs/kcl/hole.md
Jess Frazelle 70a2202877 change everything to rwlocks for thread safety (#5416)
* make everything in engine a rwlock and cleanup repetitive code

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>

* docs

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

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-02-18 21:50:13 +00:00

192 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(end = [0, 5])
  |> line(end = [5, 0])
  |> line(end = [0, -5])
  |> close()
  |> hole(circle({ center = [1, 1], radius = .25 }, %), %)
  |> hole(circle({ center = [1, 4], radius = .25 }, %), %)

example = extrude(exampleSketch, length = 1)

Rendered example of hole 0

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

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

Rendered example of hole 1