Arch PipeConnector

    From FreeCAD Documentation

    Arch PipeConnector.svg Arch PipeConnector

    Menu location
    Arch → Pipe Tools → Pipe Connector
    Default shortcut
    P C
    Introduced in version
    See also
    Arch Pipe, Arch Equipment


    This tool allows to create corner or tee connection between two or three selected Arch Pipes.


    1. Select 2 or 3 Arch Pipes. If you are selecting 3 pipes, two of them must be exactly aligned.
    2. Press the Arch PipeConnector.svg Arch PipeConnector button, or press P then C keys.


    • DataRadius: The curvature radius of this connector

    Typical workflow

    See the information on Arch Pipe for the workflow on using pipes and creating connectors.


    See also: Arch API and FreeCAD Scripting Basics.

    The Pipe Connector tool can be used in macros and from the Python console by using the following function:

    Connector = makePipeConnector(pipes, radius=0, name="Connector")
    • Creates a Connector object from the given pipes, which is a list of Arch Pipes, and optionally a radius of curvature.
      • The base objects (Draft Wires) of the Arch Pipes should share an endpoint so they create a proper, smooth connector.


    import FreeCAD, Draft, Arch
    p1 = FreeCAD.Vector(-1000, 0, 0)
    p2 = FreeCAD.Vector(-2000, 0, 0)
    p3 = FreeCAD.Vector(-2000, 0, 0)
    p4 = FreeCAD.Vector(-2000, -1000, 0)
    p5 = FreeCAD.Vector(-2000, -1000, 0)
    p6 = FreeCAD.Vector(-4000, -1000, 0)
    Line1 = Draft.makeWire([p1, p2])
    Line2 = Draft.makeWire([p3, p4])
    Line3 = Draft.makeWire([p5, p6])
    Pipe1 = Arch.makePipe(Line1, 150)
    Pipe2 = Arch.makePipe(Line2, 150)
    Pipe3 = Arch.makePipe(Line3, 150)
    Conn = Arch.makePipeConnector([Pipe1, Pipe2])
    Conn2 = Arch.makePipeConnector([Pipe2, Pipe3])
    Line4 = Draft.move(Line1, FreeCAD.Vector(-500, 1000, 0), copy=True)
    Line5 = Draft.move(Line2, FreeCAD.Vector(-500, 1000, 0), copy=True)
    Pipe4 = Arch.makePipe(Line4, 100)
    Pipe5 = Arch.makePipe(Line5, 100)
    Conn3 = Arch.makePipeConnector([Pipe4, Pipe5], radius=400)