Releases: BrendanParmer/NodeToPython
NodeToPython v3.2.1
NodeToPython v3.2.1 has been released! This update contains some minor bug fixes (#125) and other changes for the release on the Extensions Platform
NodeToPython v3.2.0
NodeToPython 3.2 has been released! This update includes updates for Blender 4.2 LTS and additional options. Some highlights from this release:
Features
- New Blender 4.2 nodes and sockets
- Create manifest files for extensions
- Can now set node group
color_tag
anddescription
properties starting with Blender 4.2 - Script vs Add-on mode creation is now done through the Options panel
- Setting values like node dimensions and group defaults, mins, and maxes is now optional
- Scripts now include
import
statements by default - Add-on metadata can now be populated directly from the options panel
- NodeToPython can now package licenses with your add-ons
Fixes
- Images without valid data will now throw warnings, and won't attempt to save or load
General
- New logo!
- The repo has been restructured a little, with a new
tools/
directory and all source files in one folder
You can find the full list of changes here
Pending approval, NodeToPython will also be available on the Blender Extensions Platform starting with v3.2.0, and you'll be able to download and get official updates from there.
Find a problem or have a suggestion for a future improvement? Please submit an issue!
NodeToPython v3.1.0
NodeToPython v3.1 has arrived! Here's what's new:
- Blender 4.1 is now officially supported
- Nodes can now set their
hide
property - Added compositor node tree settings
- In Blender 4.1 or higher, links to multi-socket inputs will now be ordered correctly
- Node settings are now generated with a script, which has corrected some inaccuracies and will speed up future upgrades with new Blender versions
- Fixed issue where warnings were incorrectly generated for a Blender version
You can find the full list here
Find a problem or have a suggestion for a future improvement? Please submit an issue!
NodeToPython v3.0.1
This release contains some fixes related to packaging generated Python add-ons
See #88 for a full list
NodeToPython v3.0.0
NodeToPython v3.0 is finally here!
Blender 4.0 is now officially supported. NodeToPython has been upgraded to handle Node Panels and the new NodeTree interface, and it now supports Repeat Zones, Geometry Node Tools, the new Rotation socket, and a whole host of new nodes and settings
Joining its Geometry and Shader counterparts, NodeToPython can now generate Compositor Nodes for a scene.
This update includes a bunch of other improvements, including
- More robust variable name creation
- Setting a node's
name
attribute - Fixing issues with how subgroups were handled
- A major refactor, which cleaned up the code and should speed up future development
Check out the full list of changes here
Find a problem or have a suggestion? Please submit an issue!
NodeToPython v2.2.0
NodeToPython v2.2 is here! This update is mostly about controlling how and where your Python code is generated.
The new Script mode creates a function to just recreate your node tree in Python code, no extra add-on fluff. It copies the function to your Blender clipboard, where you can paste it inside of the text editor to easily run or insert into your own code.
There's also Add-on mode, which behaves just like previous versions. You can now also set the location where the generated add-on is saved to, no longer forcing an addons/
directory to where your blend file was saved.
This update also includes some minor quality of life improvements and code cleanup.
Full Changelist
Features
- New Script mode, which copies the selected node group to the Blender clipboard
- NodeToPython now alerts users where the script or add-on is saved to when done generating
- Users can now specify a directory to save a generated add-on to
- No longer auto-generates an
addons/
directory
- No longer auto-generates an
- New
NTPOptions
property group for global options, namely just the save directory right now - New
NTPOptionsPanel
in the NodeToPython menu for setting global options
Fixes
- Fixed typo in generated
unregister()
functions
Refactor
- More consistent usage of string functions
- Variable names now use a dictionary with (name, usage count) pairs instead of a set
Other
- Generated add-ons now use
bl_info
category "Node" - Removed image related print statements
Future
Next I plan on tackling Compositing Nodes, finally adding all of Blender's supported node editors. This'll likely release with support for Blender 4.0's new nodes (including the highly anticipated repeat zone).
NodeToPython v2.1.1
Changelist
Fixes
- Shader node group inputs and outputs are now properly generated
- Image nodes no longer throw errors when no image is selected
Refactor - All group inputs and outputs now share the same logic for creation and settings
- Renamed
node_tree_var
tont_var
to makegeo_nodes.py
consistent withmaterials.py
NodeToPython v2.1.0
NodeToPython v2.1 is here! Main changes are getting the add-on up to date with Blender 3.6.
Changelist
Features
- Support for new nodes from Blender versions 3.5 and 3.6
- Simulation nodes!
- Node Group outputs now set default values
- Add Hide In Modifier attributes
- Supports node socket subtypes
Fixes
- No longer comments
#Set Parents
if there aren't any to be set
Refactor
- Reorganized
geo_node_settings
dictionary to follow new organization from Blender 3.5 - Node group inputs now set default values using string functions from
utils.py
Future
Version 2.2 is coming soon. Planned features right now include
NodeToPython v2.0.1
Fixes
- Color ramps now delete initial elements
- Float, Vector, and Color Curve nodes now delete initial points
Style
- More consistent usage of object -> string utility functions
NodeToPython v2.0.0
NodeToPython v2.0 is here! This update includes all sorts of good stuff
Features
- Shader Nodes!
- Convert your materials to Python with just one click
- New UI!
- No more typing in the name of your node group, you can now just select one from a drop down menu
- Located in the Node Editor's side panel in its own tab
- Now includes single images in add-ons when needed
- Sets objects, collections, textures, and materials if already present in the blend file
- More nodes have default values set
- Node colors now copied over
- Nodes can now be muted
Fixes
- Frame nodes no longer mess up node locations
- Variable name creation no longer fails on tricky or nonexistent node names
- Variable names are guaranteed to be unique
- Node groups no longer recreated multiple times
Misc
- A bunch of refactoring to account for the new UI and operators
- Functions now have better documentation
- Automatically zips add-ons
If find Node To Python useful in your work, let me know! I'd love to see what people are using it for. Enjoy!
-Brendan