node editor - pyflow

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
microelly2
Posts: 4498
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: node editor - pyflow

Postby microelly2 » Mon Nov 04, 2019 7:23 pm

I often have the problem that I have to combine some curves to a face but the endpoints of the curves do not fit themselves.
So Part.filledFace and Draft.upgrade do not work. My idea was to fill the gaps by some data to get a BSpline which goes through the endpoint of the curves and preserves the tangents of the curves on their endpoints.
phpBB [video]
User avatar
microelly2
Posts: 4498
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: node editor - pyflow

Postby microelly2 » Wed Nov 06, 2019 9:57 pm

connection and fill face in full 3D
phpBB [video]
User avatar
Kunda1
Posts: 6187
Joined: Thu Jan 05, 2017 9:03 pm

Re: node editor - pyflow

Postby Kunda1 » Wed Nov 06, 2019 11:53 pm

@microelly2, please consider making this accessible to users so we can play around with it. You've been adding complexity and many different features and posting, now let others play too! ;)
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
HoWil
Posts: 847
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

Re: node editor - pyflow

Postby HoWil » Sun Nov 10, 2019 1:56 pm

microelly2 wrote:
Wed Nov 06, 2019 9:57 pm
connection and fill face in full
Wow. Nice job.
I am with Kunda1. Please make a reliable extension/workbench out of it. So others can use it too.
User avatar
microelly2
Posts: 4498
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: node editor - pyflow

Postby microelly2 » Mon Nov 11, 2019 6:27 pm

I have updated the git and here is a tutorial
http://freecadbuch.de/doku.php?id=pyflow:examples:conny
comments welcome.
Image
User avatar
microelly2
Posts: 4498
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: node editor - pyflow

Postby microelly2 » Wed Nov 13, 2019 2:11 pm

phpBB [video]

The FreeCAD object node has pins for the properties of the underlying object: one pin to read the FreeCAD object and one pin to write it.
pins of multiple objects can be connected with expression built with pyflow arithmetic nodes.
User avatar
microelly2
Posts: 4498
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: node editor - pyflow

Postby microelly2 » Wed Nov 13, 2019 9:55 pm

Adding special reference objects into FreeCAD scene it is possible to update pyflow when freecad changes and vice versa.
And it is possible to give all control for objects to pyflow.
Deactivation the node in pyflow gives the control back to FreeCAD.
phpBB [video]
User avatar
Kunda1
Posts: 6187
Joined: Thu Jan 05, 2017 9:03 pm

Re: node editor - pyflow

Postby Kunda1 » Fri Nov 15, 2019 12:29 pm

Are there directions on how to install the workbench/addon?
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
microelly2
Posts: 4498
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: node editor - pyflow

Postby microelly2 » Fri Nov 15, 2019 7:56 pm

Pyflow uses blinker for signal processing. So I started some nodes which can be a base for signal processing outside Qt.
There is a Blinker oder Sender node in Pyflow and a Blinker object in FreeCAD too.
Both can send signals.
The receiver node must subscribe to s signal name.
When the subscriber gets a signal it fires the exec_out pin to start the postprocessing.
Stopping a receiver is simply unsubscribe it.
phpBB [video]
User avatar
microelly2
Posts: 4498
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: node editor - pyflow

Postby microelly2 » Mon Nov 25, 2019 7:15 pm

phpBB [video]


I wondered is it possible to create a tool which create pattern onto a surface by a given polygon.
In this example a hexagonal pattern and a diamond can be smoothed an placed and repeated onto a surface.
The hexagon is defined by 6 vectors, the diamond by 4.
The surface is defined by a VectorArray generator.
The two other VectorArrays are used to create the repeating structure for the figures.
cp_070.png
cp_070.png (213.41 KiB) Viewed 181 times

here an example with grasshopper where I want to go
https://youtu.be/DgdgeRakXec