* Change tangentialArc, tangentialArcTo, and tangentialArcToRelative to keyword args * Change tangentialArc offset to angle and convert to kw arg calls * Fix lints * Fix sketch errors and all unit tests passing * Fix tangentialArcTo calls in KCL samples * Update tangentialArc in samples * Update sim test output * Fix formatting * Fix mistake in merge * Fix gear rack sample * Update output after more samples fixes * Update gear rack output * Add end label to docs snippet * Fix to not add endAbsolute for an arc with radius or angle arguments * Update docs outputs * Fix formatting * Fix executor tests * Fix formatting * Fix bench input files * Fix spelling * Improve error messages --------- Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
		
			
				
	
	
	
		
			530 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			530 KiB
		
	
	
	
	
	
	
	
title, excerpt, layout
| title | excerpt | layout | 
|---|---|---|
| sweep | Extrude a sketch along a path. | 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.
You can provide more than one sketch to sweep, and they will all be swept along the same path.
sweep(
  sketches: [Sketch],
  path: SweepPath,
  sectional?: bool,
  tolerance?: number,
  tagStart?: TagDeclarator,
  tagEnd?: TagDeclarator,
): [Solid]
Arguments
| Name | Type | Description | Required | 
|---|---|---|---|
sketches | 
[Sketch] | 
The sketch or set of sketches that should be swept in space | Yes | 
path | 
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 | 
tagStart | 
TagDeclarator | 
A named tag for the face at the start of the sweep, i.e. the original sketch | No | 
tagEnd | 
TagDeclarator | 
A named tag for the face at the end of the sweep | No | 
Returns
Examples
// 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(angle = 90, radius = 5)
  |> line(end = [-3, 0])
  |> tangentialArc(angle = -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)
// 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)
// Sweep two sketches along the same path.
sketch001 = startSketchOn(XY)
rectangleSketch = startProfileAt([-200, 23.86], sketch001)
  |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)
  |> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)
  |> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
  |> close()
circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)
sketch002 = startSketchOn(YZ)
sweepPath = startProfileAt([0, 0], sketch002)
  |> yLine(length = 231.81)
  |> tangentialArc(radius = 80, angle = -90)
  |> xLine(length = 384.93)
sweep([rectangleSketch, circleSketch], path = sweepPath)
// Sectionally sweep one sketch along the path
sketch001 = startSketchOn(XY)
circleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)
sketch002 = startSketchOn(YZ)
sweepPath = startProfileAt([0, 0], sketch002)
  |> yLine(length = 231.81)
  |> tangentialArc(radius = 80, angle = -90)
  |> xLine(length = 384.93)
sweep(circleSketch, path = sweepPath, sectional = true)