Hello
I want to share with you a Blender add-on I made recently.
I made a post here about this add-on before, and since then I have made a couple of changes. The major one is that now it is a free software and you can try it out yourself.
In case you are not familiar with it, in short, it is an add-on that is basically a DSL, a domain-specific Python-like language that makes it possible to describe Geometry Nodes setups using high-level syntax, without using the Blender API directly.
Instead of defining nodes and links with code directly, you describe the high-level logic using familiar Python-like syntax with variables, methods, and basic operators like plus, multiply, divide, etc. The compiler then translates this into actual Geometry Nodes and links between them.
This way, the code remains pretty clear and does not require you to operate with Blender-specific API syntax. It leaves you mostly with the actual logic of your Geometry Nodes setup.
It also makes it easier for AI to generate code in this language, because there are fewer surfaces for mistakes, while for humans the syntax is also more understandable.
It can also help you develop and maintain your own complex Geometry Nodes setups and distribute them in a text-based form that can then be easily imported and recreated by others.
Since my last post, I have added a couple of new features, and right now I am working on major changes in the architecture. It takes a lot of effort, but I am not planning to stop. I want to implement those changes because I also have a couple of personal ideas for how I can use this add-on myself.
Packages
I have also made two additional packages for Node Forge: one for math and another for L-systems.
The math package extends the set of available mathematical methods and operations. You can download it for free from GitHub.
The L-system package contains its own compiler and implements L-system-specific syntax that is translated into Geometry Nodes. So you can write L-system scripts and generate procedural Geometry Nodes setups from them.
As you know, L-systems are useful for building branching shapes and plants. I have been playing with this package myself, and I found it pretty interesting. It can produce Geometry Nodes setups that would be extremely complex to build by hand. You can also dynamically change parameters, which then change the generated shape.
If you like the idea and would like to try creating L-system setups yourself, you can purchase the L-system package from my Patreon. This is also a way to support the further development of NodeForge while receiving additional functionality for the add-on.
So both NodeForge itself and the math package are available to use for free, and I would really like you to try them out.
I really tried to make the documentation as informative and well designed as possible, and I also tried to make the experience of using this add-on and its DSL as simple as possible.
There will definitely be some changes and improvements in the future, and with your support and participation, it can become even better.
I would really like to receive feedback based on your actual experience using it. If you encounter any issues, have any suggestions, or want to create something that the language cannot handle yet, feel free to leave your idea or suggestion on the GitHub page or here in the comments below this post.
Download the add-on itself along with the math package:
Documentation
You can find the link to the documentation in the README on the GitHub repository page.
The L-system package download page
https://www.patreon.com/nachitima/posts/nodeforge-l-v2-0-169730745
I also made a video that I shared in my previous post. It may not be very informative, and since then I have realized that I would definitely make the next video a little differently. But it may still help you understand the basic idea of what this add-on does.
I would be very happy if you try it out, and I would really appreciate any feedback.
