* Improve hover tool tips and function docs Signed-off-by: Nick Cameron <nrc@ncameron.org> * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) --------- Signed-off-by: Nick Cameron <nrc@ncameron.org> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
		
			
				
	
	
	
		
			172 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	title, excerpt, layout
| title | excerpt | layout | 
|---|---|---|
| rotate | Rotate a solid. | manual | 
Rotate a solid.
Using Roll, Pitch, and Yaw
When rotating a part in 3D space, "roll," "pitch," and "yaw" refer to the three rotational axes used to describe its orientation: roll is rotation around the longitudinal axis (front-to-back), pitch is rotation around the lateral axis (wing-to-wing), and yaw is rotation around the vertical axis (up-down); essentially, it's like tilting the part on its side (roll), tipping the nose up or down (pitch), and turning it left or right (yaw).
So, in the context of a 3D model:
- 
Roll: Imagine spinning a pencil on its tip - that's a roll movement.
 - 
Pitch: Think of a seesaw motion, where the object tilts up or down along its side axis.
 - 
Yaw: Like turning your head left or right, this is a rotation around the vertical axis
 
Using an Axis and Angle
When rotating a part around an axis, you specify the axis of rotation and the angle of rotation.
rotate(
  solid: Solid,
  roll?: number,
  pitch?: number,
  yaw?: number,
  axis?: [number],
  angle?: number,
  global?: bool,
) -> Solid
Arguments
| Name | Type | Description | Required | 
|---|---|---|---|
solid | 
Solid | 
The solid to rotate. | Yes | 
roll | 
number | 
The roll angle in degrees. Must be used with pitch and yaw. Must be between -360 and 360. | 
No | 
pitch | 
number | 
The pitch angle in degrees. Must be used with roll and yaw. Must be between -360 and 360. | 
No | 
yaw | 
number | 
The yaw angle in degrees. Must be used with roll and pitch. Must be between -360 and 360. | 
No | 
axis | 
[number] | 
The axis to rotate around. Must be used with angle. | 
No | 
angle | 
number | 
The angle to rotate in degrees. Must be used with axis. Must be between -360 and 360. | 
No | 
global | 
bool | 
If true, the transform is applied in global space. The origin of the model will move. By default, the transform is applied in local sketch axis, therefore the origin will not move. | No | 
Returns
Solid - A solid is a collection of extrude surfaces.
Examples
// Rotate a pipe with roll, pitch, and yaw.
// 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)
  |> rotate(roll = 10, pitch = 10, yaw = 90)
// Rotate a pipe about an axis with an angle.
// 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)
  |> rotate(axis = [0, 0, 1.0], angle = 90)