1.1 MiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.1 MiB
		
	
	
	
	
	
	
	
title, excerpt, layout
| title | excerpt | layout | 
|---|---|---|
| revolve | Rotate a sketch around some provided axis, creating a solid from its extent. | manual | 
Rotate a sketch around some provided axis, creating a solid from its extent.
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 revolved around an axis rather than using the extent of the sketch linearly translated through a third dimension.
Revolve occurs around a local sketch axis rather than a global axis.
revolve(data: RevolveData, sketch: Sketch) -> Solid
Arguments
| Name | Type | Description | Required | 
|---|---|---|---|
| data | RevolveData | Data for revolution surfaces. | Yes | 
| sketch | Sketch | A sketch is a collection of paths. | Yes | 
Returns
Solid - An solid is a collection of extrude surfaces.
Examples
part001 = startSketchOn('XY')
  |> startProfileAt([4, 12], %)
  |> line([2, 0], %)
  |> line([0, -6], %)
  |> line([4, -6], %)
  |> line([0, -6], %)
  |> line([-3.75, -4.5], %)
  |> line([0, -5.5], %)
  |> line([-2, 0], %)
  |> close(%)
  |> revolve({ axis = 'y' }, %) // default angle is 360
// A donut shape.
sketch001 = startSketchOn('XY')
  |> circle({ center = [15, 0], radius = 5 }, %)
  |> revolve({ angle = 360, axis = 'y' }, %)
part001 = startSketchOn('XY')
  |> startProfileAt([4, 12], %)
  |> line([2, 0], %)
  |> line([0, -6], %)
  |> line([4, -6], %)
  |> line([0, -6], %)
  |> line([-3.75, -4.5], %)
  |> line([0, -5.5], %)
  |> line([-2, 0], %)
  |> close(%)
  |> revolve({ axis = 'y', angle = 180 }, %)
part001 = startSketchOn('XY')
  |> startProfileAt([4, 12], %)
  |> line([2, 0], %)
  |> line([0, -6], %)
  |> line([4, -6], %)
  |> line([0, -6], %)
  |> line([-3.75, -4.5], %)
  |> line([0, -5.5], %)
  |> line([-2, 0], %)
  |> close(%)
  |> revolve({ axis = 'y', angle = 180 }, %)
part002 = startSketchOn(part001, 'end')
  |> startProfileAt([4.5, -5], %)
  |> line([0, 5], %)
  |> line([5, 0], %)
  |> line([0, -5], %)
  |> close(%)
  |> extrude(5, %)
box = startSketchOn('XY')
  |> startProfileAt([0, 0], %)
  |> line([0, 20], %)
  |> line([20, 0], %)
  |> line([0, -20], %)
  |> close(%)
  |> extrude(20, %)
sketch001 = startSketchOn(box, "END")
  |> circle({ center = [10, 10], radius = 4 }, %)
  |> revolve({ angle = -90, axis = 'y' }, %)
box = startSketchOn('XY')
  |> startProfileAt([0, 0], %)
  |> line([0, 20], %)
  |> line([20, 0], %)
  |> line([0, -20], %, $revolveAxis)
  |> close(%)
  |> extrude(20, %)
sketch001 = startSketchOn(box, "END")
  |> circle({ center = [10, 10], radius = 4 }, %)
  |> revolve({
       angle = 90,
       axis = getOppositeEdge(revolveAxis)
     }, %)
box = startSketchOn('XY')
  |> startProfileAt([0, 0], %)
  |> line([0, 20], %)
  |> line([20, 0], %)
  |> line([0, -20], %, $revolveAxis)
  |> close(%)
  |> extrude(20, %)
sketch001 = startSketchOn(box, "END")
  |> circle({ center = [10, 10], radius = 4 }, %)
  |> revolve({
       angle = 90,
       axis = getOppositeEdge(revolveAxis),
       tolerance = 0.0001
     }, %)
sketch001 = startSketchOn('XY')
  |> startProfileAt([10, 0], %)
  |> line([5, -5], %)
  |> line([5, 5], %)
  |> lineTo([profileStartX(%), profileStartY(%)], %)
  |> close(%)
part001 = revolve({
  axis = {
    custom = {
      axis = [0.0, 1.0],
      origin = [0.0, 0.0]
    }
  }
}, sketch001)