Part Torus

Part Torus

Menu location
Part → Primitives → Torus
Workbenches
Part
Default shortcut
None
Introduced in version
-
See also
Part Primitives

Description

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 DataPlacement 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 DataAngle3 property. By changing its DataAngle1 and/or DataAngle2 properties the swept profile can become a segment of a circle.

Usage

  1. There are several ways to invoke the command:
    • Press the Torus button.
    • Select the Part → Primitives → Torus option from the menu.
  2. The Torus object is created.
  3. Optionally change the dimensions and DataPlacement of the torus by doing one of the following:
    • Double-click the object in the Tree view:
      1. The Geometric Primitives task panel opens.
      2. Change one or more properties.
      3. The object is dynamically updated in the 3D view.
      4. Press the OK button to close the task panel.
    • Change the properties in the Property editor.
    • Change the DataPlacement with the Std TransformManip command.

Example

Part Torus from the scripting example

A Part Torus object created with the scripting example below is shown here.

Notes

Properties

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:

Data

Attachment

The object has the same attachment properties as a Part Part2DObject.

Torus

Scripting

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")

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()