2024-03-13 14:22:22 -07:00
---
title: "patternLinear2d"
2024-08-06 20:27:26 -04:00
excerpt: "Repeat a 2-dimensional sketch along some dimension, with a dynamic amount"
2024-03-13 14:22:22 -07:00
layout: manual
---
2024-08-06 20:27:26 -04:00
Repeat a 2-dimensional sketch along some dimension, with a dynamic amount
2024-03-13 14:22:22 -07:00
2024-08-06 20:27:26 -04:00
of distance between each repetition, some specified number of times.
2024-03-13 14:22:22 -07:00
2024-03-13 15:43:42 -07:00
```js
2024-04-23 10:31:20 -07:00
patternLinear2d(data: LinearPattern2dData, sketch_group_set: SketchGroupSet) -> [SketchGroup]
2024-03-13 14:22:22 -07:00
```
### Examples
2024-03-13 15:43:42 -07:00
```js
2024-05-22 09:15:38 -07:00
const exampleSketch = startSketchOn('XZ')
2024-09-23 22:42:51 +10:00
|> circle({ center: [0, 0], radius: 1 }, %)
2024-03-13 14:22:22 -07:00
|> patternLinear2d({
2024-05-14 17:10:47 -07:00
axis: [1, 0],
repetitions: 6,
distance: 4
2024-03-13 14:22:22 -07:00
}, %)
2024-05-14 17:10:47 -07:00
const example = extrude(1, exampleSketch)
2024-03-13 14:22:22 -07:00
```
2024-08-21 12:12:56 -07:00

2024-03-13 15:43:42 -07:00
```js
2024-03-13 14:22:22 -07:00
{
// The axis of the pattern. This is a 2D vector.
axis: [number, number],
// The distance between each repetition. This can also be referred to as spacing.
distance: number,
// The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if `repetitions` is 1, the original entity will be copied once.
repetitions: number,
}
```
2024-04-23 10:31:20 -07:00
* `sketch_group_set` : `SketchGroupSet` - A sketch group or a group of sketch groups. (REQUIRED)
2024-03-13 15:43:42 -07:00
```js
2024-03-13 14:22:22 -07:00
{
2024-07-29 21:30:25 -07:00
// The id of the sketch group (this will change when the engine's reference to it changes.
2024-03-13 14:22:22 -07:00
id: uuid,
// What the sketch is on (can be a plane or a face).
on: {
// The id of the plane.
id: uuid,
// Origin of the plane.
origin: {
x: number,
y: number,
z: number,
},
type: "plane",
// Type for a plane.
value: "XY" | "XZ" | "YZ" | "Custom",
// What should the plane’ s X axis be?
xAxis: {
x: number,
y: number,
z: number,
},
// What should the plane’ s Y axis be?
yAxis: {
x: number,
y: number,
z: number,
},
// The z-axis (normal).
zAxis: {
x: number,
y: number,
z: number,
},
} |
{
2024-06-23 19:19:24 -07:00
// The extrude group the face is on.
extrudeGroup: {
// Chamfers or fillets on this extrude group.
2024-08-12 17:56:45 -05:00
edgeCuts: [{
2024-06-23 19:19:24 -07:00
// The engine id of the edge to fillet.
2024-07-29 13:18:55 -07:00
edgeId: uuid,
2024-06-23 19:19:24 -07:00
// The id of the engine command that called this fillet.
id: uuid,
radius: number,
2024-07-28 00:30:04 -07:00
tag: {
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "fillet",
} |
{
// The engine id of the edge to chamfer.
2024-07-29 13:18:55 -07:00
edgeId: uuid,
2024-06-23 19:19:24 -07:00
// The id of the engine command that called this chamfer.
id: uuid,
length: number,
2024-06-24 14:45:07 -07:00
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "chamfer",
}],
2024-08-12 17:56:45 -05:00
// The id of the extrusion end cap
endCapId: uuid,
2024-06-23 19:19:24 -07:00
// The height of the extrude group.
height: number,
// The id of the extrude group.
id: uuid,
// The sketch group.
sketchGroup: {
2024-07-29 21:30:25 -07:00
// The id of the sketch group (this will change when the engine's reference to it changes.
2024-06-23 19:19:24 -07:00
id: uuid,
// What the sketch is on (can be a plane or a face).
on: SketchSurface,
// The starting path.
start: {
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
// The to point.
to: [number, number],
2024-07-05 16:53:13 -07:00
},
// Tag identifiers that have been declared in this sketch group.
tags: {
2024-06-23 19:19:24 -07:00
},
// The paths in the sketch group.
value: [{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
// The to point.
to: [number, number],
type: "ToPoint",
} |
{
// arc's direction
2024-08-16 19:48:09 -07:00
ccw: bool,
2024-06-23 19:19:24 -07:00
// the arc's center
center: [number, number],
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
// The to point.
to: [number, number],
type: "TangentialArcTo",
} |
{
2024-08-07 18:35:41 -05:00
// arc's direction
2024-08-16 19:48:09 -07:00
ccw: bool,
2024-08-07 18:35:41 -05:00
// the arc's center
center: [number, number],
2024-06-23 19:19:24 -07:00
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
// The to point.
to: [number, number],
type: "TangentialArc",
} |
2024-09-23 22:42:51 +10:00
{
// arc's direction
ccw: bool,
// the arc's center
center: [number, number],
// The from point.
from: [number, number],
// the arc's radius
radius: number,
// The tag of the path.
tag: {
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
end: number,
start: number,
value: string,
},
// The to point.
to: [number, number],
type: "Circle",
} |
2024-06-23 19:19:24 -07:00
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
// The to point.
to: [number, number],
type: "Horizontal",
// The x coordinate.
x: number,
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
// The to point.
to: [number, number],
type: "AngledLineTo",
// The x coordinate.
x: number,
// The y coordinate.
y: number,
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
// The to point.
to: [number, number],
type: "Base",
}],
},
// The id of the extrusion start cap
startCapId: uuid,
// The extrude surfaces.
value: [{
// The face id for the extrude plane.
faceId: uuid,
// The id of the geometry.
id: uuid,
// The source range.
sourceRange: [number, number],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "extrudePlane",
} |
{
// The face id for the extrude plane.
faceId: uuid,
// The id of the geometry.
id: uuid,
// The source range.
sourceRange: [number, number],
2024-06-24 14:45:07 -07:00
// The tag.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-06-23 19:19:24 -07:00
type: "extrudeArc",
2024-07-28 00:30:04 -07:00
} |
{
// The id for the chamfer surface.
faceId: uuid,
// The id of the geometry.
id: uuid,
// The source range.
sourceRange: [number, number],
// The tag.
tag: {
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
end: number,
start: number,
value: string,
},
type: "chamfer",
} |
{
// The id for the fillet surface.
faceId: uuid,
// The id of the geometry.
id: uuid,
// The source range.
sourceRange: [number, number],
// The tag.
tag: {
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
end: number,
start: number,
value: string,
},
type: "fillet",
2024-06-23 19:19:24 -07:00
}],
},
2024-03-13 14:22:22 -07:00
// The id of the face.
id: uuid,
type: "face",
// The tag of the face.
value: string,
// What should the face’ s X axis be?
xAxis: {
x: number,
y: number,
z: number,
},
// What should the face’ s Y axis be?
yAxis: {
x: number,
y: number,
z: number,
},
// The z-axis (normal).
zAxis: {
x: number,
y: number,
z: number,
},
},
// The starting path.
start: {
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-03-13 14:22:22 -07:00
// The to point.
to: [number, number],
2024-07-05 16:53:13 -07:00
},
// Tag identifiers that have been declared in this sketch group.
tags: {
2024-03-13 14:22:22 -07:00
},
2024-04-23 10:31:20 -07:00
type: "sketchGroup",
2024-03-13 14:22:22 -07:00
// The paths in the sketch group.
value: [{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-03-13 14:22:22 -07:00
// The to point.
to: [number, number],
type: "ToPoint",
} |
{
// arc's direction
2024-08-16 19:48:09 -07:00
ccw: bool,
2024-03-13 14:22:22 -07:00
// the arc's center
center: [number, number],
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-03-13 14:22:22 -07:00
// The to point.
to: [number, number],
type: "TangentialArcTo",
} |
{
2024-08-07 18:35:41 -05:00
// arc's direction
2024-08-16 19:48:09 -07:00
ccw: bool,
2024-08-07 18:35:41 -05:00
// the arc's center
center: [number, number],
2024-03-13 14:22:22 -07:00
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-03-13 14:22:22 -07:00
// The to point.
to: [number, number],
type: "TangentialArc",
} |
2024-09-23 22:42:51 +10:00
{
// arc's direction
ccw: bool,
// the arc's center
center: [number, number],
// The from point.
from: [number, number],
// the arc's radius
radius: number,
// The tag of the path.
tag: {
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
end: number,
start: number,
value: string,
},
// The to point.
to: [number, number],
type: "Circle",
} |
2024-03-13 14:22:22 -07:00
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-03-13 14:22:22 -07:00
// The to point.
to: [number, number],
type: "Horizontal",
// The x coordinate.
x: number,
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-03-13 14:22:22 -07:00
// The to point.
to: [number, number],
type: "AngledLineTo",
// The x coordinate.
x: number,
// The y coordinate.
y: number,
} |
{
// The from point.
from: [number, number],
2024-06-24 14:45:07 -07:00
// The tag of the path.
tag: {
2024-07-09 12:24:42 -04:00
digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number],
2024-06-24 14:45:07 -07:00
end: number,
start: number,
value: string,
},
2024-03-13 14:22:22 -07:00
// The to point.
to: [number, number],
type: "Base",
}],
2024-04-23 10:31:20 -07:00
} |
{
type: "sketchGroups",
2024-03-13 14:22:22 -07:00
}
```
### Returns
`[SketchGroup]`