Josh Gomez requests pattern calculations take the total number of instances, not the number of extra repetitions to do. This is how we designed the patternTransform API, but we didn't do that for patternLinear/Circular.
49 lines
58 KiB
Markdown
49 lines
58 KiB
Markdown
---
|
|
title: "patternLinear3d"
|
|
excerpt: "Repeat a 3-dimensional solid along a linear path, with a dynamic amount"
|
|
layout: manual
|
|
---
|
|
|
|
Repeat a 3-dimensional solid along a linear path, with a dynamic amount
|
|
|
|
of distance between each repetition, some specified number of times.
|
|
|
|
```js
|
|
patternLinear3d(data: LinearPattern3dData, solid_set: SolidSet) -> [Solid]
|
|
```
|
|
|
|
|
|
### Arguments
|
|
|
|
| Name | Type | Description | Required |
|
|
|----------|------|-------------|----------|
|
|
| `data` | [`LinearPattern3dData`](/docs/kcl/types/LinearPattern3dData) | Data for a linear pattern on a 3D model. | Yes |
|
|
| `solid_set` | [`SolidSet`](/docs/kcl/types/SolidSet) | A solid or a group of solids. | Yes |
|
|
|
|
### Returns
|
|
|
|
[`[Solid]`](/docs/kcl/types/Solid)
|
|
|
|
|
|
### Examples
|
|
|
|
```js
|
|
exampleSketch = startSketchOn('XZ')
|
|
|> startProfileAt([0, 0], %)
|
|
|> line([0, 2], %)
|
|
|> line([3, 1], %)
|
|
|> line([0, -4], %)
|
|
|> close(%)
|
|
|
|
example = extrude(1, exampleSketch)
|
|
|> patternLinear3d({
|
|
axis: [1, 0, 1],
|
|
instances: 7,
|
|
distance: 6
|
|
}, %)
|
|
```
|
|
|
|

|
|
|
|
|