Skip to content

Commit 0768e1d

Browse files
committed
Fix: Add dimensions value on interfaces
Since Blender 4.5, Vectors can have a number of dimensions. The length of the default value array is affected by this, and the socket needs to be retrieved from the items tree again after changing dimensions, otherwise the length may no longer match.
1 parent e583e68 commit 0768e1d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

NodeToPython/ntp_operator.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -673,6 +673,14 @@ def _create_socket(self, socket: NodeTreeInterfaceSocket,
673673
f"socket_type = {socket_type}"
674674
f"{optional_parent_str})")
675675

676+
# vector dimensions
677+
if hasattr(socket, "dimensions"):
678+
dimensions = socket.dimensions
679+
if socket.dimensions != 3:
680+
self._write(f"{socket_var}.dimensions = {dimensions}")
681+
self._write("# Get the socket again, as its default value could have been updated")
682+
self._write(f"{socket_var} = {ntp_nt.var}.interface.items_tree[{socket_var}.index]")
683+
676684
self._set_tree_socket_defaults(socket, socket_var)
677685

678686
# subtype

0 commit comments

Comments
 (0)