Files
modeling-app/docs/kcl/mirror2d.md
Nick Cameron df278c7e6a Various hover improvements (#5617)
* Show more info on hover for variables

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

* Move hover impls to lsp module

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

* Make hover work on names inside calls, fix doc line breaking, trim docs in tool tips

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

* Test the new hovers; fix signature syntax

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

* Hover tips for kwargs

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

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
2025-03-04 09:53:31 +00:00

286 KiB

title, excerpt, layout
title excerpt layout
mirror2d Mirror a sketch. manual

Mirror a sketch.

Only works on unclosed sketches for now.

Mirror occurs around a local sketch axis rather than a global axis.

mirror2d(
  data: Mirror2dData,
  sketchSet: SketchSet,
): [Sketch]

Arguments

Name Type Description Required
data Mirror2dData Data for a mirror. Yes
sketchSet SketchSet A sketch or a group of sketches. Yes

Returns

[Sketch]

Examples

// Mirror an un-closed sketch across the Y axis.
sketch001 = startSketchOn('XZ')
  |> startProfileAt([0, 10], %)
  |> line(end = [15, 0])
  |> line(end = [-7, -3])
  |> line(end = [9, -1])
  |> line(end = [-8, -5])
  |> line(end = [9, -3])
  |> line(end = [-8, -3])
  |> line(end = [9, -1])
  |> line(end = [-19, -0])
  |> mirror2d({ axis = 'Y' }, %)

example = extrude(sketch001, length = 10)

Rendered example of mirror2d 0

// Mirror a un-closed sketch across the Y axis.
sketch001 = startSketchOn('XZ')
  |> startProfileAt([0, 8.5], %)
  |> line(end = [20, -8.5])
  |> line(end = [-20, -8.5])
  |> mirror2d({ axis = 'Y' }, %)

example = extrude(sketch001, length = 10)

Rendered example of mirror2d 1

// Mirror a un-closed sketch across an edge.
helper001 = startSketchOn('XZ')
  |> startProfileAt([0, 0], %)
  |> line(end = [0, 10], tag = $edge001)

sketch001 = startSketchOn('XZ')
  |> startProfileAt([0, 8.5], %)
  |> line(end = [20, -8.5])
  |> line(end = [-20, -8.5])
  |> mirror2d({ axis = edge001 }, %)

// example = extrude(sketch001, length = 10)

Rendered example of mirror2d 2

// Mirror an un-closed sketch across a custom axis.
sketch001 = startSketchOn('XZ')
  |> startProfileAt([0, 8.5], %)
  |> line(end = [20, -8.5])
  |> line(end = [-20, -8.5])
  |> mirror2d({
       axis = {
         custom = {
           axis = [0.0, 1.0],
           origin = [0.0, 0.0]
         }
       }
     }, %)

example = extrude(sketch001, length = 10)

Rendered example of mirror2d 3