NodeEditor
Node editor for FreeCAD with PyFLow
Install / Use
/learn @microelly2/NodeEditorREADME
FreeCAD Node Editor
A visual node editor for FreeCAD based on PyFlow.

Status
Under heavy development (Alpha)
About
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.
Screencasts
v0.22
- facedraw with pyflow (clip)
- crooked stairs with treads (clip)
- mapping geom2d to surface (clip)
- alpha shape (clip)
Important Note
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:
v0.0.6
- generator for vector array, grids and bspline surfaces (clip)
- from vectors to vectorlist to vectorarray to surface (clip)
- from vectors to vectorlist to polygon (clip)
- polygon with input pins for vectors (clip)
first steps
</details>Requirements
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)
Other Dependencies
- @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
Important Notes
- 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
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
Usage
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
Documentation is evolving at http://freecadbuch.de/doku.php?id=pyflow
Feedback
For any feedback, questions, discussions, improvements etc... about this Addon, please use the dedicated FreeCAD forum thread.
Author
License
MIT License (see LICENSE)
Related Skills
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
