Ryven (dataflow editor for Python) gaining support for 3D

Came across this yesterday and still researching it.

Ryven is a dataflow/node editor for Python:

and recently it has gained two interfaces to extant 3D tools:

Blender:

and PythonOCC:

1 Like

Interesting. I’ll give it a look-see tomorrow. If you like node based, parametric data flows you’ll like Sidefx Houdini. I hope Blender3d ramps up it’s implementation of geometry nodes; they’re a great flexible way to develop. I figure that’s why I find F360 interesting.

1 Like

Well, I tried to install Ryven but have had to give up. I have python 3.8 and 3.9 ready to use and tried both in virtual environments. I got a variety of dependency clashes: The current project’s Python requirement (^3.8) is not compatible with some of the required packages Python requirement: ryven requires Python !=3.10,>=3.6 . Spooky as >=3.6 but not 3.10 should allow 3.8 :face_with_raised_eyebrow: I will leave for python forum

I’ve got Ryven up and running, but stumped on whether or no I got pythonocc installed successfully, and mystified by what I’d use as a 3D viewer for this, and how to connect a Ryven project to pythonocc.

My issue was with poetry. Still yet to give it a go though. I’m too easily distracted.

I’m not sure I have pythonocc installed — the command invocation to install it seems to work, but

import OCC

isn’t working in python, and searching for “pythonocc” isn’t yielding anything.

Not sure why you need to OCC. I ran “ryven” in the terminal and selected example json file to load. I am now here:


Did you get this far?

Yes, I got that far — but the whole point here is for me to use Ryven for 3D modeling, which will require either Blender or PythonOCC. Apparently the PythonOCC issue is one of installing using Anaconda and it not being accessible outside that.

I’m going to try the Blender install next, which since it functions inside the Blender eco-system will hopefully be a bit more tractable.

If you want python-based code modelling try Sidefx Houdini. You can create your own geo nodes etc in Python or vex

I’m too cheap for that, and am a big believer in opensource.

There are free and small fee versions. It’s not open source.

1 Like

Well, I’ve tried pretty much every Python install and combination of installation command:

pip install ryven

and

conda install ryven

and lots of other incantations, none of which have had the magic to get 3D modeling using an easily extensible node editor working for me.

Did manage to get the node editor in Blender 3.0 running:

but it seemed really awkward to do math or any sort of module in.

That does look a bit clunky for simple math.

I can’t think of other open source alternatives better than blender.

3d packages I have tried include;

  • Maya (confused me),

  • F360 (I like design but cam can be tricky), I use this, others do, a lot. You can python plugin in f360 (I made one for calculating vertical sundials)

  • zbrush (pricey especially now the licencing model changed; I had a perpetual licence from many years back)- the great tool in there for CNC modelling is Bas Relief
    ZBrush 2022 - Bas Relief Alpha and Project - turn any creation into a relief sculpt easily! - YouTube, and of course

  • Houdini which great procedural but more focused on effects. You can also use python to script modules.

If I was going to go closed source, I’d try again w/ Alibre, or just buy in to Moment of Inspiration:

Currently working through the above on GitHub — worst case is I shell out for a Windows license and try the install on a clean machine which is fully up-to-date (I always have to cop to being on build 1703, since I can’t stand how Microsoft crippled styluses in Fall Creators Update) — or, I buy a Wacom Cintiq Pro 16 and switch to using my Mac.

I believe Blender has an add-on for CAD which is still under development (a.k.a. Work In Progress). As I’ve also started playing around with Blender recently the topic interest me, what is your goal with applying math in 3D modeling so I can maybe join the conversation?

As for geometry nodes in Blender for me that came in really handy to add feather like shapes (texture) to a body without the need to sculpt the entire surface. Basically make the 1 “Instance” and then use math to plot points on a body and replicate the “Instance” many times on the body of the bird.

My experience with Blender was at first some things we’re frustrating but if you work through it and figure out why it’s behaving as such it just gets better next time you try that same task/operation.

3 Likes

I am trying to work out how to model joinery such as:

and to write out the G-Code for cutting the joints, since I have a couple of joinery ideas which are not easily handled in the CAM tools I’d be willing to use.

Okay, making progress:

Install miniconda w/ the defaults:

https://docs.conda.io/en/latest/miniconda.html

install PythonOCC:

conda install -c conda-forge pythonocc-core

Go to:

download as a .zip archive and unzip, then run the setup.py command using the command:

python setup.py install

When running Ryven, initial nodes are loaded from:

C:\Users\<YOUR USER DIRECTORY>\AppData\Local\Programs\Python\Python310\Lib\site-packages\ryven\example_nodes\std
1 Like

Last step:

download and unzip: https://github.com/Tanneguydv/Pythonocc-nodes-for-Ryven/archive/refs/heads/main.zip

but for some reason, Ryven isn’t happy when pointed to it: