* updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix docs; Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * parens Signed-off-by: Jess Frazelle <github@jessfraz.com> * parens Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
80 lines
324 KiB
Markdown
80 lines
324 KiB
Markdown
---
|
|
title: "sweep"
|
|
excerpt: "Extrude a sketch along a path."
|
|
layout: manual
|
|
---
|
|
|
|
Extrude a sketch along a path.
|
|
|
|
This, like extrude, is able to create a 3-dimensional solid from a 2-dimensional sketch. However, unlike extrude, this creates a solid by using the extent of the sketch as its path. This is useful for creating more complex shapes that can't be created with a simple extrusion.
|
|
|
|
```js
|
|
sweep(sketch: Sketch, path: SweepPath, sectional?: bool, tolerance?: number) -> Solid
|
|
```
|
|
|
|
|
|
### Arguments
|
|
|
|
| Name | Type | Description | Required |
|
|
|----------|------|-------------|----------|
|
|
| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | The sketch that should be swept in space | Yes |
|
|
| `path` | [`SweepPath`](/docs/kcl/types/SweepPath) | The path to sweep the sketch along | Yes |
|
|
| `sectional` | `bool` | If true, the sweep will be broken up into sub-sweeps (extrusions, revolves, sweeps) based on the trajectory path components. | No |
|
|
| `tolerance` | `number` | Tolerance for this operation | No |
|
|
|
|
### Returns
|
|
|
|
[`Solid`](/docs/kcl/types/Solid) - A solid is a collection of extrude surfaces.
|
|
|
|
|
|
### Examples
|
|
|
|
```js
|
|
// Create a pipe using a sweep.
|
|
|
|
|
|
// Create a path for the sweep.
|
|
sweepPath = startSketchOn('XZ')
|
|
|> startProfileAt([0.05, 0.05], %)
|
|
|> line(end = [0, 7])
|
|
|> tangentialArc({ offset = 90, radius = 5 }, %)
|
|
|> line(end = [-3, 0])
|
|
|> tangentialArc({ offset = -90, radius = 5 }, %)
|
|
|> line(end = [0, 7])
|
|
|
|
// Create a hole for the pipe.
|
|
pipeHole = startSketchOn('XY')
|
|
|> circle({ center = [0, 0], radius = 1.5 }, %)
|
|
|
|
sweepSketch = startSketchOn('XY')
|
|
|> circle({ center = [0, 0], radius = 2 }, %)
|
|
|> hole(pipeHole, %)
|
|
|> sweep(path = sweepPath)
|
|
```
|
|
|
|

|
|
|
|
```js
|
|
// Create a spring by sweeping around a helix path.
|
|
|
|
|
|
// Create a helix around the Z axis.
|
|
helixPath = helix(
|
|
angleStart = 0,
|
|
ccw = true,
|
|
revolutions = 4,
|
|
length = 10,
|
|
radius = 5,
|
|
axis = 'Z',
|
|
)
|
|
|
|
// Create a spring by sweeping around the helix path.
|
|
springSketch = startSketchOn('YZ')
|
|
|> circle({ center = [0, 0], radius = 1 }, %)
|
|
|> sweep(path = helixPath)
|
|
```
|
|
|
|

|
|
|
|
|