122 lines
389 KiB
Markdown
122 lines
389 KiB
Markdown
![]() |
---
|
||
|
title: "std::transform::mirror2d"
|
||
|
excerpt: "Mirror a sketch."
|
||
|
layout: manual
|
||
|
---
|
||
|
|
||
|
Mirror a sketch.
|
||
|
|
||
|
Only works on unclosed sketches for now.
|
||
|
|
||
|
Mirror occurs around a local sketch axis rather than a global axis.
|
||
|
|
||
|
```kcl
|
||
|
mirror2d(
|
||
|
@sketches: [Sketch; 1+],
|
||
|
axis: Axis2d | Edge,
|
||
|
): Sketch
|
||
|
```
|
||
|
|
||
|
### Arguments
|
||
|
|
||
|
| Name | Type | Description | Required |
|
||
|
|----------|------|-------------|----------|
|
||
|
| `sketches` | [`[Sketch; 1+]`](/docs/kcl-std/types/std-types-Sketch) | The sketch or sketches to be reflected. | Yes |
|
||
|
| `axis` | [`Axis2d`](/docs/kcl-std/types/std-types-Axis2d) or [`Edge`](/docs/kcl-std/types/std-types-Edge) | The axis to reflect around. | Yes |
|
||
|
|
||
|
### Returns
|
||
|
|
||
|
[`Sketch`](/docs/kcl-std/types/std-types-Sketch) - A sketch is a collection of paths.
|
||
|
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```kcl
|
||
|
// 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)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> startProfile(at = [0, 8.5])
|
||
|
|> line(end = [20, -8.5])
|
||
|
|> line(end = [-20, -8.5])
|
||
|
|> mirror2d(axis = Y)
|
||
|
|
||
|
example = extrude(sketch001, length = 10)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> 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)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> 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)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> 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 std::transform::mirror2d 4](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAE3bUlEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VV
|
||
|
|
||
|
|