PVC Pipe and Fittings Library: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
 
(123 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=Pipes=
=Basics=
The dimensions of the PVC pipes can be found here [[PVC_Pipe]].
Wikipedia on Nominal Pipe Size (NPS) [https://en.wikipedia.org/wiki/Nominal_Pipe_Size],


We will use following guide line for position of a pipe: put one end (base) of the pipe onto the x-y plane. The center of the base has coordinates (0,0,0). The other end points to the positive  direction of the z-axis.
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]].


Rationale: FreeCAD places in the same way a new cylinder. We mimic this FreeCAD behavior for the UI consistency.
= Pipe dimensions used in literature =
* 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.


The default pipe length is 1ft. When a user uses a macro, the macro stores the last user input.
=Basic Parts=
=== Macro ===
*1.5" elbow -
To create 40 and 80 schedule PVC pipes use [[File:create-pipe.fcmacro]].
*2" coupler - [[File:2inchcoupler.fcstd]]


[[File:pvc-pipe-gui-screenshot.png|thumb]]
=Parts Generated Using the OSE Piping Workbench + Other=
[[File:pvc-pipe-cad-screenshot.png|thumb]]


=Elbows=
<gallery perrow=6>
 
File:3elbow.png |'''3" PVC Elbow'''. Standard height of 4.75" as in [https://www.mcmaster.com/2389K29/]. - size:20kb - FreeCAD -[[File:3"-pvc-elbow.fcstd]],
Useful links: [https://www.aetnaplastics.com/site_media/media/attachments/aetna_product_aetnaproduct/204/PVC%20Sch%2040%20Fittings%20Dimensions.pdf]
 
==90° - Elbows ==
Described by 3 dimensions:
pipe size, schedule, G,H,M. Other dimensions are derived from NPS pipe-dimensions.
 
One can create 90° with alpha°-elbow macro. Just set alpha=90° and J = G.
I use dimension names from why Aetna Plastics, but I do not know, why they use "G" for 90°-elbows and "J" for
other elbows.
 
=== Macro ===
To create an 90° elbow, run [[File:create-elbow-90.FCMacro]].
 
[[File:pvc-elbow-90-gui-screenshot.png|thumb]]
[[File:pvc-elbow-90-cad-screenshot.png|thumb]]
 
==alpha° - Elbows (Non-90° Elbows) ==
alpha, pipe size, schedule, H,J,M. Other dimensions are derived from NPS pipe-dimensions.
 
=== Macro ===
To create an elbow with an arbitrary angle alpha from 0° to 180°, run [[File:create-elbow-alpha.FCMacro]].
 
[[File:pvc-elbow-alpha-gui-screenshot.png|thumb]]
[[File:pvc-elbow-alpha-cad-screenshot.png|thumb]]
 
= Couplings =


== Simple Coupling ==
File:toiletparts.png| '''Toilet Parts''' - Includes closet flange, 3" elbow with 2" heel, long 3" elbow - [[File:toiletparts.fcstd]]
A general coupling is described by 10 Dimensions: POD1, PID1, L, M, N. The dimensions POD1 and PID1 are not from a official specifications.
They are derived from pipe size and schedule.


[[File:simple-coupling.png]]
File:rotatabletrap.png |'''1.5" rotatable trap''' -  FreeCAD -[[File:15rottrap.fcstd]]


==Reducer Coupling==
The reducer coupling is described by 8 Dimensions: 4 Pipe dimensions (they follows from pipe sizes and schedule), L, M, M1, and N.


[[File:coupling-dimensions.png]]
File:2doublesanteetee.png |'''2" sanitary tee''' -  FreeCAD -[[File:2doublesantee.fcstd]]


[[File:pvc-coupling-gui-screenshot.png|thumb]]
File:2doublefixtee.png |'''2" double fixture tee''' - Nibco site - [https://catalog.nibco.com/rfcconfirmation?name=all-categories&xcartid=27675] FreeCAD -[[File:2doublefixtee.fcstd]]
[[File:pvc-coupling-cad-screenshot.png|thumb]]


== Macro ==


To install macros follow instructions in [[PVC Pipe and Fittings Library#Installation]].
File:3to15bushing.png |'''3" to 1.5" reducer bushing''' - FreeCAD -[[File:3to15bushing.fcstd]]


Run [[File:create-coupling.fcmacro]] to create a simple coupling or a reducer coupling. Ensure that you have a valid coupling.csv file in the same directory as the macro.
File:3wye.png |'''3" wye''' - size:80kb - FreeCAD -[[File:3wye.fcstd]]
To add new parts you need to change your coupling.csv.
* A simple csv is here [[File:coupling.csv]]. Note, when downloaded from the OSE wiki, the file will be stored as '''C'''oupling.csv, on a linux system it must be renamed to '''c'''oupling.csv.
* CSV files with more parts can also be found in [https://github.com/rkrenzler/ose-piping-library-data].


=Notations=
File:345streetbend.png |'''3" 45 degree street elbow''' - size:80kb - FreeCAD -[[File:345streetbend.fcstd]]
* 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.


=Notes=
File:1FKHDAF.png|'''1.5" 45 degree street elbow''' - size:80kb - FreeCAD -[[File:1545streetbend.fcstd]]
"O.D." = "Average I.D."+2"Min. Wall"


=Tees=
File:15elbow.png |'''1.5" elbow''' - size:30kb - FreeCAD -[[File:15elbow.fcstd]]
== Almost General Tees  ==
Described by parameters G, G1, G2, H, H1, H2, M, M1, and pipe dimensions. As pipe dimensions we use POD, POD1, PID, PID1.
 
[[File:tee-dimensions.png]]
 
=== Macro ===
Run [[File:create-tee.fcmacro]] to create a tee.
[[File:pvc-tee-gui-screenshot.png|thumb]]
[[File:pvc-tee-cad-screenshot.png|thumb]]
 
 
== Simple Tees ==
Described by parameters G, G1, H, H1, L, M, and pipe dimensions. As pipe dimensions we use POD, POD.
 
[[File:simple-tee-dimensions.png]]
 
=== Macro ===
Run [[File:create-tee.fcmacro]] to create a tee.
 
=Genaerated Library Parts=
<gallery perrow=6>
File:pvc-pipe-cad-screenshot.png |'''SCH80 1" PVC pipe''' - size:4kb - FreeCAD -[[File:pvc-pipe-test.fcstd]],
File:pvc-elbow-90-cad-screenshot.png |'''90°-elbow test file''' - size:17kb - FreeCAD -[[File:pvc-elbow-90-test.fcstd]],
File:pvc-elbow-alpha-cad-screenshot.png |'''alpha°-elbow test file. Here alpha° is 45°.''' - size:19kb - FreeCAD -[[File:pvc-elbow-alpha-test.fcstd]],
File:pvc-tee-cad-screenshot.png |'''Tee test file''' - size:24kb - FreeCAD -[[File:pvc-tee-test.fcstd]]
File:pvc-coupling-cad-screenshot.png |'''Coupling test file''' - size:12kb - FreeCAD -[[File:pvc-coupling-test.fcstd]]


File:2tee.png |'''2 inch tee''' - size: 25k  - FreeCAD -[[File:2tee.fcstd]]
File:create-pipe-cad-screenshot.png |'''SCH40 1"  PVC pipe''' - size:5kb - FreeCAD -[[File:pipe-test.fcstd]],
File:create-elbow-cad-screenshot.png |'''Elbow test file.''' Here alpha° is 45°. - size:21kb - FreeCAD -[[File:elbow-test.fcstd]],
File:create-coupling-cad-screenshot.png |'''1"-1/2" coupling test file''' - size:17kb - FreeCAD -[[File:coupling-test.fcstd]]
File:create-bushing-cad-screenshot.png |'''1"-1/2" bushing''' - size:21kb - FreeCAD -[[File:bushing-test.fcstd]]
File:create-tee-cad-screenshot.png |'''1" tee test file''' - size:28kb - FreeCAD -[[File:tee-test.fcstd]]
File:create-cross-cad-screenshot.png |'''1" cross test file''' - size:34kb - FreeCAD -[[File:cross-test.fcstd]]
File:create-corner-cad-screenshot.png |'''1" outer corner test file''' - size:30kb - FreeCAD -[[File:corner-test.fcstd]]
</gallery>
</gallery>


=Library of STEP Downloads from McMaster Carr=
=Library of STEP Downloads from McMaster Carr=
Comparable in size to generated parts - except for some parts which are way too heavy.
Comparable in size to generated parts - except for some parts which are way too heavy.
<gallery perrow=6>
<gallery perrow=6>


File:elbow.png |'''1" PVC Elbow''' - size:19kb - FreeCAD -[[File:1"-pvc-elbow.fcstd]],
File:elbow.png |'''1" PVC Elbow''' - size:19kb - FreeCAD -[[File:1"-pvc-elbow.fcstd]],
Line 117: Line 63:
File:1"-pvc-valve.jpg |'''1" PVC Valve''' - size:500kb - FreeCAD -[[File:1"-pvc-valve.fcstd]],
File:1"-pvc-valve.jpg |'''1" PVC Valve''' - size:500kb - FreeCAD -[[File:1"-pvc-valve.fcstd]],


File:1"-34"-reducer.jpg |'''1"-3/4" PVC Reducer''' - size:13kb - FreeCAD -[[File:1"-34"-reducer.fcstd]],
File:1"-34"-reducer.jpg |'''1"-3/4" PVC Bushing''' - size:13kb - FreeCAD -[[File:1"-34"-reducer.fcstd]],


File:1"-cross.jpg |'''1" PVC Cross''' - size:13kb - FreeCAD -[[File:1"-cross.fcstd]],
File:1"-cross.jpg |'''1" PVC Cross''' - size:13kb - FreeCAD -[[File:1"-cross.fcstd]],


</gallery>
File:2"-elbow.jpg |'''2" PVC Elbow''' - size:157kb - FreeCAD -[[File:2"-elbow.fcstd]],


=Macros=
File:2"-tee.png |'''2" PVC Tee''' -157k - STEP -[https://www.mcmaster.com/#2389k23/=1bcgk5c] - FreeCAD - [[File:2"-pvc-tee.fcstd]]


Macros are now in a git repository for the macros is [https://github.com/rkrenzler/ose-piping-library https://github.com/rkrenzler/ose-piping-library]. The CSV tables with parameters can be found in
File:2"-elbow-short.png |'''2" PVC Elbow - Short Nonstandard''' - size:4kb - STEP -[https://www.mcmaster.com/#4881k26/=1bcheo0] - FreeCAD - [[File:2"-pvc-tee-short.fcstd]] (file misnamed)
[https://github.com/rkrenzler/ose-piping-library-data https://github.com/rkrenzler/ose-piping-library-data]


FreeCAD community provides a little tutorials for  [https://www.freecadweb.org/wiki/Macros creation] and [https://www.freecadweb.org/wiki/How_to_install_macros installation] of macros.
File:2"-3"-bushing.jpg |'''2"-3" bushing''' - size:161kb - STEP -[https://www.mcmaster.com/#2389k53/=1bchs2a] - FreeCAD - [[File:2"-3"-bushing.fcstd]]


== Installation ==
File:3"-2"-reducer.jpg |'''2"-3" reducer. Note difference between a reducer and a bushing (last one)''' - size:161kb - Menards -[https://www.menards.com/main/plumbing/rough-plumbing/pipe-tubing-hoses-fittings-accessories/fittings/pvc-fittings/nibco-reg-3x2-reducing-pvc-coupling-dwv/p-1444449202566-c-8557.htm?tid=-6388088944482732916&ipos=4] - FreeCAD - [[File:3"-2"-reducer.fcstd]]
# Download ose-piping-library from [https://github.com/rkrenzler/ose-piping-library-data]. 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 [https://github.com/rkrenzler/ose-piping-library-data].
# 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/".
#: [[File:freecad-macro-directory.png]]
# 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 ==
File:3"-2"-reducer.jpg |'''2"-1" reducer.''' - size:10kb - STEP -[https://www.mcmaster.com/#4880k338/=1bemizt] - FreeCAD - [[File:2"-1"-PVC-reducer.fcstd]]
Steps to create GUI:
The original instruction are taken from [https://wiki.qt.io/QtCreator_and_PySide] but I (Ruslan) have problems with them. I adjusted them to FreeCAD.




</gallery>


# Create with QT Designer a Dialog based on QDialog class. Save the name for example add-nps-pvc-pipe-dialog.ui.
= FAQ =
# 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.


= FAQ =
* Do we really want to 3D-print pipe fittings? Somehow I have doubt about mechanical properties of the 3D-printed products.
* 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.
*: 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/[[FDM 3D Print Annealing | annealing]], composite filaments, and SLA or SLS Printers, very durable parts can be made.  Granted i agree proper testing, and potentially getting "Listed" or whatever the [[Building Code]] / [[Insurance]] stuff would need
[[Category: Materials]] [[Category: Plumbing]]

Latest revision as of 19:16, 25 August 2023

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.

Pipe dimensions used in literature

  • 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.

Basic Parts

Parts Generated Using the OSE Piping Workbench + Other

Library of STEP Downloads from McMaster Carr

Comparable in size to generated parts - except for some parts which are way too heavy.

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/ annealing, composite filaments, and SLA or SLS Printers, very durable parts can be made. Granted i agree proper testing, and potentially getting "Listed" or whatever the Building Code / Insurance stuff would need