PVC Pipe and Fittings Library: Difference between revisions
(add macro for pipe creation to pvc pipe part library) |
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 the | 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. | ||
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. | ||
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. | |||
===Notations=== | ===Notations=== | ||
* O.D. - outer diameter. | * O.D. - outer diameter. | ||
* Average I.D. - average inner diameter (why average?). This | * Average I.D. - average inner diameter (why average?). This dimension determines the size of the pipe. | ||
* Min. Wall - thickness of the pipe wall. | * Min. Wall - thickness of the pipe wall. | ||
* Schedule - determines (indirectly) the thickness of the wall. | * Schedule - determines (indirectly) the thickness of the wall. | ||
Line 20: | Line 22: | ||
File:pvc-pipe-nps-sch40-1d8.png |'''SCH40 1/8" PVC pipe''' - size:5kb - FreeCAD -[[File:pvc-pipe-nps.fcmacro]] | File:pvc-pipe-nps-sch40-1d8.png |'''SCH40 1/8" PVC pipe''' - size:5kb - FreeCAD -[[File:pvc-pipe-nps.fcmacro]] | ||
</gallery> | </gallery> | ||
=Macros= | =Macros= | ||
To create Pipes 40 and 80 Schedule PVC pipes [[File:pvc-pipe-nps-sch40-1d8.fcstd]] | To create Pipes 40 and 80 Schedule PVC pipes [[File:pvc-pipe-nps-sch40-1d8.fcstd]] | ||
[[File:pvc-pipe-nps-macro-screenshot.png]] | |||
= How to create a pipe macro = | = How to create a pipe macro = | ||
Steps to create GUI: | Steps to create GUI: | ||
The original instruction are taken from [[https://wiki.qt.io/QtCreator_and_PySide|https://wiki.qt.io/QtCreator_and_PySide]] but I (Ruslan) have problems | The original instruction are taken from [[https://wiki.qt.io/QtCreator_and_PySide|https://wiki.qt.io/QtCreator_and_PySide]] 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 | # 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 | # Convert add-nps-pvc-pipe-dialog.ui to python code running | ||
#: pyside-uic add-nps-pvc-pipe-dialog.ui -o pipe-dialog.py | #: pyside-uic add-nps-pvc-pipe-dialog.ui -o pipe-dialog.py | ||
# Insert content of | #: or call | ||
into your macro file | #: 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. |
Revision as of 17:26, 2 December 2017
Introduction
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 is 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.
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
SCH40 1/8" PVC pipe - size:5kb - FreeCAD -File:Pvc-pipe-nps.fcmacro
Macros
To create Pipes 40 and 80 Schedule PVC pipes File:Pvc-pipe-nps-sch40-1d8.fcstd
How to create a pipe macro
Steps to create GUI: The original instruction are taken from [[2]] 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.