A visual node editor for FreeCAD based on PyFlow.
Under heavy development (Alpha)
FreeCAD is an open source 3D CAD/CAM solution with a Python API.
PyFlow is a visual scripting framework built in Python.
When integrated, the result is a visual Node Editor.
- facedraw with pyflow (clip)
- crooked stairs with treads (clip)
- mapping geom2d to surface (clip)
- alpha shape (clip)
Expand this section to see more screencasts
To view the latest PyFlow/NodeEditor development screencasts go to either @microelly2's:
- website: http://freecadbuch.de/doku.php?id=pyflow
- YouTube PyFlow playlist
Here are some highlight selections:
The FreeCAD NodeEditor current master branch works on the FreeCAD AppImage v0.19.18403 or greater.
Specifically:
OS: Ubuntu 14.04.6 LTS (Unity/ubuntu)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18403 (Git) AppImage
Build type: Release
Branch: master
Hash: 0717b4fc23ef1db70964c3977d25e2fe46a739d1
Python version: 3.7.3
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)
- @microelly2's fork of PyFlow: https://github.com/microelly2/PyFlow
- The original PyFlow repo is at https://github.com/wonderworks-software/PyFlow
- Qt.py a 'minimal Python 2 & 3 shim around all Qt bindings - PySide, PySide2, PyQt4 and PyQt5'
- The FreeCAD NodeEditor from this repository: https://github.com/microelly2/NodeEditor
- Python2 in not longer supported.
- FreeCAD NodeEditor is compatible with the original PyFlow@wonderworks-software without extra modifications (though we recommend using @microelly2's fork nonetheless)
Install the following packages into the local Module directory ~/.FreeCAD/Mod
cd ~/.FreeCAD/Mod
git clone https://github.com/microelly2/PyFlow
git clone https://github.com/mottosso/Qt.py
git clone https://github.com/microelly2/NodeEditor
Important Note: Addon is still heavily developed and is shown here as a proof-of-concept for the time being.
- Start FreeCAD
- Select PyFlow workbench from the workbench dropdown list
- In the FreeCAD python console test the installation of the required modules
import Qt
>>> Qt
#<module 'Qt' from '/home/me/.FreeCAD/Mod/Qt.py-master/Qt.py'>
print(Qt)
#<module 'Qt' from '/home/me/.FreeCAD/Mod/Qt.py-master/Qt.py'>
import blinker
print(blinker)
#<module 'blinker' from '/usr/local/lib/python3.4/dist-packages/blinker/__init__.py'>
import PyFlow
print(PyFlow)
#<module 'PyFlow' from '/home/me/.FreeCAD/Mod/PyFlow/PyFlow/__init__.py'>
import numpy
print(numpy)
#<module 'numpy' from '/tmp/.mount_FreeCAjzH7MR/usr/lib/python3.7/site-packages/numpy/__init__.py'>
import nodeeditor
- Open the PyFlow Workbench
- run the Script "create all Nodes for Test" from Menu tests
- run the Script "run Test for All Nodes" from Menu tests
Documentation is evolving at http://freecadbuch.de/doku.php?id=pyflow
For any feedback, questions, discussions, improvements etc... about this Addon, please use the dedicated FreeCAD forum thread.
MIT License (see LICENSE)