|
|
| Menu location |
|---|
| Part → Primitives → Torus |
| Workbenches |
| Part |
| Default shortcut |
| None |
| Introduced in version |
| - |
| See also |
| Part Primitives |
The Part Torus command creates a parametric torus solid, a doughnut shape. It is the result of sweeping a circular profile around a circular path. In the coordinate system defined by its DadosPlacement property, the circular path of the torus lies on the XY plane with its center at the origin.
A Part Torus can be turned into a segment of a torus by changing its DadosAngle3 property. By changing its DadosAngle1 and/or DadosAngle2 properties the swept profile can become a segment of a circle.
A Part Torus object created with the scripting example below is shown here.
See also: Property editor.
A Part Torus object is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:
Attachment
The object has the same attachment properties as a Part Part2DObject.
Torus
Length): The radius of the circular path of the torus. The default is 10mm.Length): The radius of the circular profile of the torus. The default is 2mm.Angle): The start angle of the circular profile. Valid range: -180° <= value <= 180°. The default is -180°.Angle): The end angle the circular profile. Valid range: -180° <= value <= 180°. The default is 180°. If the total angle of the circular profile is smaller than 360° the profile will have a pie-shape.Angle): The angle of the circular path of the torus. Valid range: 0° < value <= 360°. The default is 360°. If it is smaller than 360° the resulting solid will be a segment of a torus.See also: Autogenerated API documentation, Part scripting and FreeCAD Scripting Basics.
A Part Torus can be created with the addObject() method of the document:
torus = FreeCAD.ActiveDocument.addObject("Part::Torus", "myTorus")
"myTorus" is the name for the object.Example:
import FreeCAD as App
doc = App.activeDocument()
torus = doc.addObject("Part::Torus", "myTorus")
torus.Radius1 = 20
torus.Radius2 = 10
torus.Angle1 = -90
torus.Angle2 = 45
torus.Angle3 = 270
torus.Placement = App.Placement(App.Vector(1, 2, 3), App.Rotation(30, 45, 10))
doc.recompute()