Files
modeling-app/docs/kcl-std/functions/std-transform-mirror2d.md
2025-06-19 17:08:46 +12:00

389 KiB

title, subtitle, excerpt, layout
title subtitle excerpt layout
mirror2d Function in std::transform Mirror a sketch. manual

Mirror a sketch.

// Mirror an un-closed sketch across the Y axis.
sketch001 = startSketchOn(XZ)
  |> startProfile(at = [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)

Arguments

Name Type Description Required
sketches [Sketch; 1+] The sketch or sketches to be reflected. Yes
axis Axis2d or Edge The axis to reflect around. Yes

Returns

Sketch - A sketch is a collection of paths.

Description

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

Function signature

mirror2d(
  @sketches: [Sketch; 1+],
  axis: Axis2d | Edge,
): Sketch

Examples

// Mirror an un-closed sketch across the Y axis.
sketch001 = startSketchOn(XZ)
  |> startProfile(at = [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)
  |> startProfile(at = [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)
  |> startProfile(at = [0, 0])
  |> line(end = [0, 10], tag = $edge001)

sketch001 = startSketchOn(XZ)
  |> startProfile(at = [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)
  |> startProfile(at = [0, 8.5])
  |> line(end = [20, -8.5])
  |> line(end = [-20, -8.5])
  |> mirror2d(axis = {
       direction = [0.0, 1.0],
       origin = [0.0, 0.0]
     })

example = extrude(sketch001, length = 10)

Rendered example of mirror2d 3

// Sketch on the face of a mirrored sketch, that has been extruded.
sketch0011 = startSketchOn(XY)
  |> startProfile(at = [6.77, 0])
  |> yLine(length = 1.27)
  |> tangentialArc(endAbsolute = [5.96, 2.37])
  |> tangentialArc(endAbsolute = [-6.2, 2.44])
  |> tangentialArc(endAbsolute = [-6.6, 1.82])
  |> yLine(length = -1.82)
  |> mirror2d(axis = X)
  |> extrude(length = 10)

sketch002 = startSketchOn(sketch0011, face = END)
  |> circle(center = [-0.01, 1.58], radius = 1.2)
  |> extrude(length = 1.2)

shell([sketch002], faces = [END], thickness = .1)

Rendered example of mirror2d 4