Files
modeling-app/docs/kcl/patternCircular3d.md
Nick Cameron 5d25f4a0e5 Support types in the standard library (#5651)
* Parse an unparse type decls (and refactor impl attributes slightly)

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

* Remove special treatment of geometric types from parser and executor

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

* Generate docs for std types

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

* Hover tool-tips for types and fixup the frontend

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

* Fixes

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

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
2025-03-07 09:53:34 -05:00

137 KiB

title, excerpt, layout
title excerpt layout
patternCircular3d Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained. manual

Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.

patternCircular3d(
  solidSet: SolidSet,
  instances: integer,
  axis: [number],
  center: [number],
  arcDegrees: number,
  rotateDuplicates: bool,
  useOriginal?: bool,
): [Solid]

Arguments

Name Type Description Required
solidSet SolidSet Which solid(s) to pattern 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
axis [number] The axis around which to make the pattern. This is a 3D vector Yes
center [number] The center about which to make the pattern. This is a 3D vector. Yes
arcDegrees number The arc angle (in degrees) to place the repetitions. Must be greater than 0. Yes
rotateDuplicates bool Whether or not to rotate the duplicates as they are copied. Yes
useOriginal 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

[Solid]

Examples

exampleSketch = startSketchOn('XZ')
  |> circle(center = [0, 0], radius = 1)

example = extrude(exampleSketch, length = -5)
  |> patternCircular3d(
       axis = [1, -1, 0],
       center = [10, -20, 0],
       instances = 11,
       arcDegrees = 360,
       rotateDuplicates = true,
     )

Rendered example of patternCircular3d 0