Part Tube

    From FreeCAD Documentation

    Part Tube.svg Part Tube

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


    The Part Tube.svg Part Tube command creates a parametric tube solid. In the coordinate system defined by its DataPlacement property, the bottom face of the tube lies on the XY plane with its center at the origin.

    Part Tube Example.png



    1. There are several ways to invoke the command:
      • Press the Part Tube.svg Part Tube button.
      • Select the Part → Primitives → Part Tube.svg Create tube option from the menu.
    2. The Tube task panel opens and a preview of the tube is displayed in the 3D view.
    3. Specify the dimensions.
    4. The preview is dynamically updated.
    5. Press the OK button.
    6. The tube is created.
    7. Optionally change the DataPlacement of the tube in the Property editor, or with the Std TransformManip.svg Std TransformManip command.


    1. Double-click the tube in the Tree view
    2. The Tube task panel opens.
    3. Change one or more dimensions.
    4. The tube is dynamically updated in the 3D view.
    5. Press the OK button.


    Part Tube from the scripting example

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


    See also: Property editor.

    A Part Tube 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.


    • DataHeight (Length): The height of the tube. The default is 10mm.
    • DataInner Radius (Length): The inner radius of the tube. Must be smaller than DataOuter Radius. Can be 0. The default is 2mm.
    • DataOuter Radius (Length): The outer radius of the tube. Must be larger than DataInner Radius. The default is 5mm.


    See also: Autogenerated API documentation, Part scripting and FreeCAD Scripting Basics.

    A Part Tube can be created with the addTube() method (introduced in version 0.20) of the Shapes module:

    tube = Shapes.addTube(FreeCAD.ActiveDocument, "myTube")
    • Where "myTube" is the name for the object.
    • The function returns the newly created object.


    import FreeCAD as App
    from BasicShapes import Shapes
    doc = App.activeDocument()
    tube = Shapes.addTube(FreeCAD.ActiveDocument, "myTube")
    tube.Height = 20
    tube.InnerRadius = 2
    tube.OuterRadius = 3
    tube.Placement = App.Placement(App.Vector(2, 4, 5), App.Rotation(60, 60, 30))