PVC Pipe and Fittings Library: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
Wikipedia on Nominal Pipe Size (NPS) [https://en.wikipedia.org/wiki/Nominal_Pipe_Size],
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 coordinate (0,0,0). The other end is points to the positive  direction of the z-axis.
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 coordinate (0,0,0). The other end points to the positive  direction of the z-axis.


Rationale: This is the same way FreeCAD places a new cylinder. We mimic the FreeCAD behavior for UI consistancy.
Rationale: This is the same way FreeCAD places a new cylinder. We mimic the FreeCAD behavior for UI consistancy.
Line 24: Line 24:
* L2 - length of the another part of the elbow.
* L2 - length of the another part of the elbow.


For unknown reason I cannot join all parts of the elbow in FreeCAD.
I had problems to join all parts of the elbow in FreeCAD. The solution was to make the bent part a little bit smaller.
Probably the problem was caused by having many common or coplanar faces of the parts. See [https://www.freecadweb.org/tracker/view.php?id=2831].


==90° - Degree.==
==90° - Degree.==
Described by 3 dimensions:
Described by 3 dimensions:
size, G,H,M, I added an auxiliary dimension ''size2'' for radius of the bent part (Does it correspond to the inner radius of the NPS pipe-dimensions?)
size, G,H,M, I added an auxiliary dimension ''size2'' for radius of the bent part (Does it correspond to the inner radius of the corresponding NPS pipe-dimension?)
 




Line 53: Line 55:
== Ellbows ==
== Ellbows ==


Run [[File:add-elbow.fcmacro]] with adjusted parameters: alpha, r1, r2, r3, len1, and len2.
Run [[File:add-elbow.fcmacro]] with parameters: alpha, r1, r2, r3, len1, and len2.





Revision as of 03:18, 5 December 2017

Pipes

The dimensions of the PVC pipes can be found here PVC_Pipe. Wikipedia on Nominal Pipe Size (NPS) [1],

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 coordinate (0,0,0). The other end points to the positive direction of the z-axis.

Rationale: This is the same way FreeCAD places a new cylinder. We mimic the FreeCAD behavior for UI consistancy.

The default pipe length is 1ft. This is an arbitrary choice. When I use a macro, it will store the last length used by the user.

Ellbows

Useful links: [2]

Simple general elbows

This is an intermediate solution. Here I do not follow particular NPT-Standards. Later I will translate the NPT-Parameters in these general dimensions.

To create general elbow with 6 Parameters:

  • alpha - angle of the elbow.
  • R1 - inner radius of the bending part.
  • R2 - inner radius of the elbow.
  • R3 - outer radius of the elbow parts.
  • L1 - length of one part part of the elbow.
  • L2 - length of the another part of the elbow.

I had problems to join all parts of the elbow in FreeCAD. The solution was to make the bent part a little bit smaller. Probably the problem was caused by having many common or coplanar faces of the parts. See [3].

90° - Degree.

Described by 3 dimensions: size, G,H,M, I added an auxiliary dimension size2 for radius of the bent part (Does it correspond to the inner radius of the corresponding NPS pipe-dimension?)


Notations

  • 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

"O.D." = "Average I.D."+2"Min. Wall"

Gallery

Macros

Pipes

To create Pipes 40 and 80 Schedule PVC pipes File:Pvc-pipe-nps.fcmacro Pvc-pipe-nps-macro-screenshot.png

Ellbows

Run File:Add-elbow.fcmacro with parameters: alpha, r1, r2, r3, len1, and len2.


How to create a pipe macro

Steps to create GUI: The original instruction are taken from [[4]] but I (Ruslan) have problems with them. I adjusted them to FreeCAD.

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