189 lines
3.9 KiB
Markdown
189 lines
3.9 KiB
Markdown
![]() |
---
|
||
|
title: "patternCircular3d"
|
||
|
excerpt: "A circular pattern on a 3D model."
|
||
|
layout: manual
|
||
|
---
|
||
|
|
||
|
A circular pattern on a 3D model.
|
||
|
|
||
|
|
||
|
|
||
|
```
|
||
|
patternCircular3d(data: CircularPattern3dData, extrude_group: ExtrudeGroup) -> [ExtrudeGroup]
|
||
|
```
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```kcl
|
||
|
const part = startSketchOn('XY')
|
||
|
|> startProfileAt([0, 0], %)
|
||
|
|> line([0, 1], %)
|
||
|
|> line([1, 0], %)
|
||
|
|> line([0, -1], %)
|
||
|
|> close(%)
|
||
|
|> extrude(1, %)
|
||
|
|> patternCircular3d({
|
||
|
axis: [1, 1, 0],
|
||
|
center: [10, 0, 10],
|
||
|
repetitions: 10,
|
||
|
arcDegrees: 360,
|
||
|
rotateDuplicates: true
|
||
|
}, %)
|
||
|
```
|
||
|
|
||
|
### Arguments
|
||
|
|
||
|
* `data`: `CircularPattern3dData` - Data for a circular pattern on a 3D model. (REQUIRED)
|
||
|
```
|
||
|
{
|
||
|
// The arc angle (in degrees) to place the repetitions. Must be greater than 0.
|
||
|
arcDegrees: number,
|
||
|
// The axis around which to make the pattern. This is a 3D vector.
|
||
|
axis: [number, number, number],
|
||
|
// The center about which to make th pattern. This is a 3D vector.
|
||
|
center: [number, number, 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,
|
||
|
// Whether or not to rotate the duplicates as they are copied.
|
||
|
rotateDuplicates: string,
|
||
|
}
|
||
|
```
|
||
|
* `extrude_group`: `ExtrudeGroup` - An extrude group is a collection of extrude surfaces. (REQUIRED)
|
||
|
```
|
||
|
{
|
||
|
// The id of the extrusion end cap
|
||
|
endCapId: uuid,
|
||
|
// The height of the extrude group.
|
||
|
height: number,
|
||
|
// The id of the extrude group.
|
||
|
id: uuid,
|
||
|
// The position of the extrude group.
|
||
|
position: [number, number, number],
|
||
|
// The rotation of the extrude group.
|
||
|
rotation: [number, number, number, number],
|
||
|
// The sketch group paths.
|
||
|
sketchGroupValues: [{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "ToPoint",
|
||
|
} |
|
||
|
{
|
||
|
// arc's direction
|
||
|
ccw: string,
|
||
|
// the arc's center
|
||
|
center: [number, number],
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "TangentialArcTo",
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "TangentialArc",
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "Horizontal",
|
||
|
// The x coordinate.
|
||
|
x: number,
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// The to point.
|
||
|
to: [number, number],
|
||
|
type: "AngledLineTo",
|
||
|
// The x coordinate.
|
||
|
x: number,
|
||
|
// The y coordinate.
|
||
|
y: number,
|
||
|
} |
|
||
|
{
|
||
|
// The from point.
|
||
|
from: [number, number],
|
||
|
// The name of the path.
|
||
|
name: string,
|
||
|
// 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 name.
|
||
|
name: string,
|
||
|
// The position.
|
||
|
position: [number, number, number],
|
||
|
// The rotation.
|
||
|
rotation: [number, number, number, number],
|
||
|
// The source range.
|
||
|
sourceRange: [number, number],
|
||
|
type: "extrudePlane",
|
||
|
} |
|
||
|
{
|
||
|
// The face id for the extrude plane.
|
||
|
faceId: uuid,
|
||
|
// The id of the geometry.
|
||
|
id: uuid,
|
||
|
// The name.
|
||
|
name: string,
|
||
|
// The position.
|
||
|
position: [number, number, number],
|
||
|
// The rotation.
|
||
|
rotation: [number, number, number, number],
|
||
|
// The source range.
|
||
|
sourceRange: [number, number],
|
||
|
type: "extrudeArc",
|
||
|
}],
|
||
|
// The x-axis of the extrude group base plane in the 3D space
|
||
|
xAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
// The y-axis of the extrude group base plane in the 3D space
|
||
|
yAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
// The z-axis of the extrude group base plane in the 3D space
|
||
|
zAxis: {
|
||
|
x: number,
|
||
|
y: number,
|
||
|
z: number,
|
||
|
},
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Returns
|
||
|
|
||
|
`[ExtrudeGroup]`
|
||
|
|
||
|
|
||
|
|