Files
modeling-app/docs/kcl/patternTransform2d.md
Adam Chalmers 7b36a5d1ee KCL: patternTransform for sketches (#4546)
KCL stdlib has a function `patternTransform` which works for 3D solids. This adds a similar function `patternTransform2d` which, as you might have guessed, is like `patternTransform` but for 2D. I know. I'm really, really really good at naming things.

This shares almost all of its implementation with 3D patterns via 💖the power of traits💖

This will assist with https://github.com/KittyCAD/modeling-app/issues/4543
2024-11-22 19:43:09 -06:00

51 KiB

title, excerpt, layout
title excerpt layout
patternTransform2d Just like patternTransform, but works on 2D sketches not 3D solids. manual

Just like patternTransform, but works on 2D sketches not 3D solids.

patternTransform2d(total_instances: u32, transform_function: FunctionParam, solid_set: SketchSet) -> [Sketch]

Arguments

Name Type Description Required
total_instances u32 Yes
transform_function FunctionParam Yes
solid_set SketchSet A sketch or a group of sketches. Yes

Returns

[Sketch]

Examples

// Each instance will be shifted along the X axis.
fn transform = (id) => {
  return { translate: [4 * id, 0] }
}

// Sketch 4 circles.
sketch001 = startSketchOn('XZ')
  |> circle({ center: [0, 0], radius: 2 }, %)
  |> patternTransform2d(4, transform, %)

Rendered example of patternTransform2d 0