PVC Pipe and Fittings Library
Basics
This is a library of all the current PVC Pipe and Fittings that have been made in freecad for OSE. Many fittings can be created using #OSE Piping Workbench.
Pipes
The dimensions of the PVC pipes can be found here PVC_Pipe. Wikipedia on Nominal Pipe Size (NPS) [6],
A pipe is described by its outer diameter OD, its wall thickness Thk and its height[1] H.
Workbench
To create a pipe, click in OSE piping workbench.
Adjust CSV pipe.csv in tables directory within workbench directory to add new pipe dimensions to the list.
Notations used by others
- O.D. - outer diameter.
- Average I.D. - average inner diameter (why average?). This dimension determines the size of the pipe.
- Min. Wall - thickness of the pipe wall.
- Schedule - determines (indirectly) the thickness of the wall.
Elbows
Useful links: [7]
Elbows
An elbow is described by an angle alpha, outer pipe diameter POD, inner pipe diameter PID, H, J, M.
Workbench
To create an elbow, click in OSE piping workbench.
To add a new elbows, adjust elbow.csv in tables directory within workbench directory.
Couplings
A (general) coupling is described by dimensions: POD, POD1, PID, PID1, L, M, M1, N. The dimensions POD1 and PID1 are not from a official specifications. They are derived from pipe size and schedule. In a reducer coupling, the pipe dimensions on one side POD and PID differ from on the other side POD1 and PID1.
Workbench
To create a coupling, click in OSE piping workbench.
To add a new coupling to the part list, adjust coupling.csv in tables directory within workbench directory.
Bushings
A bushing is described by dimensions N, L and pipe dimensions. As pipe dimensions we use PID, PID1, and POD1.
Workbench
To create a bushing, click in OSE piping workbench.
To add a new coupling to the part list, adjust bushing.csv in tables directory within workbench directory.
Tees
Almost General Tees
A tee is described by parameters G, G1, G2, H, H1, H2, M, M1, and pipe dimensions. As pipe dimensions we use POD, POD1, PID, and PID1.
Workbench
To create a tee click in OSE piping workbench.
To add a new tee to the part list, adjust tee.csv in tables directory within workbench directory.
Cross
Almost General Cross
A cross is described by dimensions G, G1, G2, G3, H, H1, H2, H3, M, M1, and pipe dimensions. As pipe dimensions we use POD, POD1, PID, and PID1.
Workbench
To create a tee click in OSE piping workbench.
To add a new cross to the part list, adjust cross.csv in tables directory within workbench directory.
Corners
"Outer" Corner
An outer[2] corner are described by dimensions G, H, M and pipe dimensions. As pipe dimensions we use POD and PID.
Workbench
To create a corner, click in OSE piping workbench.
To add a new corner to the part list, adjust outer-corner.csv in tables directory within workbench directory.
Genaerated Library Parts
SCH40 1" PVC pipe - size:5kb - FreeCAD -File:Pipe-test.fcstd,
Elbow test file. Here alpha° is 45°. - size:21kb - FreeCAD -File:Elbow-test.fcstd,
1"-1/2" coupling test file - size:17kb - FreeCAD -File:Coupling-test.fcstd
1"-1/2" bushing - size:21kb - FreeCAD -File:Bushing-test.fcstd
1" tee test file - size:28kb - FreeCAD -File:Tee-test.fcstd
1" cross test file - size:34kb - FreeCAD -File:Cross-test.fcstd
1" outer corner test file - size:30kb - FreeCAD -File:Corner-test.fcstd
Library of STEP Downloads from McMaster Carr
Comparable in size to generated parts - except for some parts which are way too heavy.
1" PVC Elbow - size:19kb - FreeCAD -File:1"-pvc-elbow.fcstd,
1" PVC Tee - size:25kb - FreeCAD -File:1"-pvc-tee.fcstd,
1" PVC Valve - size:500kb - FreeCAD -File:1"-pvc-valve.fcstd,
1"-3/4" PVC Bushing - size:13kb - FreeCAD -File:1"-34"-reducer.fcstd,
1" PVC Cross - size:13kb - FreeCAD -File:1"-cross.fcstd,
2" PVC Elbow - size:157kb - FreeCAD -File:2"-elbow.fcstd,
- 2"-tee.jpg
2" PVC Tee - size:8kb - STEP -[1] - FreeCAD - File:2"-pvc-tee.fcstd
- 2"-tee-short.jpg
2" PVC Tee - Short Nonstandard - size:4kb - STEP -[2] - FreeCAD - File:2"-pvc-tee-short.fcstd
- 2"-3"-bushing.jpg
2"-3" bushing - size:161kb - STEP -[3] - FreeCAD - File:2"-3"-bushing.fcstd
- 3"-2"-reducer.jpg
2"-3" reducer. Note difference between a reducer and a bushing (last one) - size:161kb - Menards -[4] - FreeCAD - File:3"-2"-reducer.fcstd
- 3"-2"-reducer.jpg
2"-1" reducer. - size:10kb - STEP -[5] - FreeCAD - File:2"-1"-PVC-reducer.fcstd
OSE Piping Workbench
Implemented are:
- pipe
- coupling
- bushing
- elbow
- tee
- cross
- outer corner
Installation
In a Linux system
$ mkdir ~/.FreeCAD/Mod $ cd ~/.FreeCAD/Mod $ git clone https://github.com/rkrenzler/ose-piping-workbench.git
Macros
Macros are now in a git repository for the macros is https://github.com/rkrenzler/ose-piping-library. The CSV tables with parameters can be found in https://github.com/rkrenzler/ose-piping-library-data
FreeCAD community provides a little tutorials for creation and installation of macros.
Installation
The video isntructions are here [8].
- Download ose-piping-library from [9]. To run the macros you only need the content of the directory macros. The macros directory contains macro files with extension .FCMacro, drawing with dimensions .png and some .csv tables with part parameters for testing. The more realistic .CSV tables can be downloaded from [10].
- Determine the directory where FreeCAD looks for macros: Menu "Edit"->"Preferences"->"Macro". Look at the settings "Macro path". It is for example "/home/ose-developer/.FreeCAD/Macro/".
- Now copy all files from the downloaded macros directory to the FreeCAD macro directory. In this example "/home/ose-developer/.FreeCAD/Macro/".
- Select a FreeCAD menu item "Macro"->"Macros..." then select the corresponding macro -- it startart with "create-..." and click "Create".
How to create a pipe macro
Steps to create GUI: The original instruction are taken from [11] but I (Ruslan) have problems with them. I adjusted them to FreeCAD.
- Create with QT Designer a Dialog based on QDialog class. Save the name for example add-nps-pvc-pipe-dialog.ui.
- Convert add-nps-pvc-pipe-dialog.ui to python code running
- pyside-uic add-nps-pvc-pipe-dialog.ui -o pipe-dialog.py
- or call
- pyside-uic --indent=0 add-nps-pvc-pipe-dialog.ui -o pipe-dialog.py
- to use tabs as indention.
- If you use the FreeCAD macro editor, pay attention that the indention of pyside-uic and of the editor are the same.
- Insert content of the methods setupUi(self, Dialog) and retranslateUi(self, Dialog) from pipe-dialog.py (How can I insert here a block of python code?) into your macro file.
Remarks about the coupling macro
To create a simple coupling or a reduced we internally use a more general coupling. This general coupling is described by 9 dimensions: POD, PID, POD1, PID1, X1, X2, N, M, M1. The dimensions POD, PID, POD1, and PID1 are derived from the pipe sizes. The are abbreviations of Pipe Outer Diameter and Pipe Inner Diameter. The dimensions X1 and X2 are not official dimension names.
The offset a1 is calculated in such a way, that the thinest part of the middle section is not thinner than the walls on of the both sockets. Lengths a2, a3, a4 and angle b1 are derived from the dimensions and are only used to calculate a1.
FAQ
- Do we really want to 3D-print pipe fittings? Somehow I have doubt about mechanical properties of the 3D-printed products.
- Yes. For high pressure applications - 300 PSI - we would have to be very careful. For low pressure, such as 5 PSI, it's not a problem. Eventually, we want to refine printing techniques where our fittings can do what standard schedule 80 ABS fittings can do.
- Also with things such as part baking/anealing, composite filaments, and SLA or SLS Printers, very durable parts can be made
See Also