Files
modeling-app/docs/kcl/mirror2d.md
49fl 474acb1c68 Add three point circle stdlib function (#4893)
* Add parsing keyword function calls inside pipelines

Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>

* Add three point circle stdlib function

* Generate new documentation

* Fix 20:20 for the circle three point test

* Convert to using keyword arguments

* Wtf yo

* Remove unused structure

* Use the new simulation tests

* Regenerate documentation

---------

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
2025-01-04 12:18:29 -05:00

292 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, sketch_set: SketchSet) -> [Sketch]

Arguments

Name Type Description Required
data Mirror2dData Data for a mirror. Yes
sketch_set 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([15, 0], %)
  |> line([-7, -3], %)
  |> line([9, -1], %)
  |> line([-8, -5], %)
  |> line([9, -3], %)
  |> line([-8, -3], %)
  |> line([9, -1], %)
  |> line([-19, -0], %)
  |> mirror2d({ axis = 'Y' }, %)

example = extrude(10, sketch001)

Rendered example of mirror2d 0

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

example = extrude(10, sketch001)

Rendered example of mirror2d 1

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

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

example = extrude(10, sketch001)

Rendered example of mirror2d 2

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

example = extrude(10, sketch001)

Rendered example of mirror2d 3