FreeCAD Node Editor

A visual node editor for FreeCAD based on PyFlow.

v0.0.3 screenshot

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

Expand this section to see more screencasts ### 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](https://www.youtube.com/watch?v=RO3m7oK3AN8&list=PLIxaznuCUATKBEV6bkRLySstKxbGxrmlr) Here are some highlight selections: #### v0.0.6 - generator for vector array, grids and bspline surfaces ([clip](https://youtu.be/fCelpH6e7Xc)) - from vectors to vectorlist to vectorarray to surface ([clip](https://youtu.be/H2B6_yldrj8)) - from vectors to vectorlist to polygon ([clip](https://youtu.be/w5iJYJGBAQE)) - polygon with input pins for vectors ([clip](https://youtu.be/g5ZAEO5CPWQ)) #### first steps - v0.0.4 ([clip](https://youtu.be/XaBEMbWZxAM)) - v0.0.3 ([clip](https://youtu.be/9B2AxDQQDeg)) - v0.0.1 ([clip](https://youtu.be/39VoYv0OTNU))

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

Important Notes

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.

  1. Start FreeCAD
  2. Select PyFlow workbench from the workbench dropdown list
  3. 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
  4. Open the PyFlow Workbench
  5. run the Script "create all Nodes for Test" from Menu tests
  6. 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

@microelly2

License

MIT License (see LICENSE)