Files
modeling-app/docs/kcl/patternTransform2d.md
Nick Cameron 3ddce116e5 Warn when calling deprecated functions (#5447)
* Warn when calling deprecated std functions

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

* Refactor function values

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

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
2025-02-22 20:16:29 +13:00

52 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(sketch_set: SketchSet, instances: integer, transform: FunctionSource, use_original?: bool) -> [Sketch]

Arguments

Name Type Description Required
sketch_set SketchSet The sketch(es) to duplicate Yes
instances integer The number of total instances. Must be greater than or equal to 1. This includes the original entity. For example, if instances is 2, there will be two copies -- the original, and one new copy. If instances is 1, this has no effect. Yes
transform FunctionSource How each replica should be transformed. The transform function takes a single parameter: an integer representing which number replication the transform is for. E.g. the first replica to be transformed will be passed the argument 1. This simplifies your math: the transform function can rely on id 0 being the original instance passed into the patternTransform. See the examples. Yes
use_original bool If the target was sketched on an extrusion, setting this will use the original sketch as the target, not the entire joined solid. Defaults to false. No

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(instances = 4, transform = transform)

Rendered example of patternTransform2d 0