Part Torus

    From FreeCAD Documentation

    Part Torus.svg Part Torus

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


    The Part Torus.svg 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.

    Part Torus Example.png


    1. There are several ways to invoke the command:
      • Press the Part Torus.svg Part Torus button.
      • Select the Part → Primitives → Part Torus.svg Torus option from the menu.
    2. The torus 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.
      • Change the properties in the Property editor.
      • Change the DataPlacement with the Std TransformManip.svg Std TransformManip command.


    Part Torus from the scripting example

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


    • A Part Torus can also be created with the Part Primitives.svg Part Primitives command. With that command you can specify the dimensions and placement at creation time.


    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:



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


    • DataRadius1 (Length): The radius of the circular path of the torus. The default is 10mm.
    • DataRadius2 (Length): The radius of the circular profile of the torus. The default is 2mm.
    • DataAngle1 (Angle): The start angle of the circular profile. Valid range: -180° <= value <= 180°. The default is -180°.
    • DataAngle2 (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.
    • DataAngle3 (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")
    • Where "myTorus" is the name for the object.
    • The function returns the newly created object.


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