Skip to content

Commit 797c048

Browse files
Merge pull request #18 from BrendanParmer/v1.2
v1.2
2 parents 5be1ffd + a2a279f commit 797c048

File tree

2 files changed

+31
-9
lines changed

2 files changed

+31
-9
lines changed

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ I think Geometry Nodes is a powerful tool that's fairly accessible to people, an
1818
* different node trees for different versions or settings
1919
* interfacing with other parts of the software.
2020

21-
NodeToPython is compatible with Blender 3.0-3.3
21+
NodeToPython is compatible with Blender 3.0-3.4
2222

2323
## Supported Versions
2424
Blender 3.0 - 3.3
@@ -43,3 +43,14 @@ Download `node_to_python.py`, and install it to Blender like other add-ons. Then
4343
* Textures
4444

4545
as they won't exist in every blend file. In the future, I may have the script automatically recreate these assets, espcially with materials.
46+
47+
## Bug Reports and Suggestions
48+
49+
When submitting an issue, please include
50+
51+
* Your version of Blender
52+
* Your operating system
53+
* A short description of what you were trying to accomplish, or steps to reproduce the issue
54+
55+
Suggestions for how to improve the add-on are more than welcome!
56+

node_to_python.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,10 @@
5454
"GeometryNodeFillCurve" : ["mode"],
5555
"GeometryNodeFilletCurve" : ["mode"],
5656
"GeometryNodeResampleCurve" : ["mode"],
57-
"GeometryNodeSampleCurve" : ["mode"],
57+
"GeometryNodeSampleCurve" : ["data_type", "mode",
58+
"use_all_curves"],
5859
"GeometryNodeTrimCurve" : ["mode"],
60+
"GeometryNodeSetCurveNormal" : ["mode"],
5961
"GeometryNodeCurveHandleTypeSelection" : ["mode", "handle_type"],
6062
"GeometryNodeSetCurveHandlePositions" : ["mode"],
6163
"GeometryNodeCurveSetHandles" : ["mode", "handle_type"],
@@ -74,6 +76,8 @@
7476
"GeometryNodeProximity" : ["target_element"],
7577
"GeometryNodeMergeByDistance" : ["mode"],
7678
"GeometryNodeRaycast" : ["data_type", "mapping"],
79+
"GeometryNodeSampleIndex" : ["data_type", "domain", "clamp"],
80+
"GeometryNodeSampleNearest" : ["domain"],
7781
"GeometryNodeSeparateGeometry" : ["domain"],
7882

7983
#input
@@ -86,6 +90,8 @@
8690
"GeometryNodeMeshBoolean" : ["operation"],
8791
"GeometryNodeMeshToPoints" : ["mode"],
8892
"GeometryNodeMeshToVolume" : ["resolution_mode"],
93+
"GeometryNodeSampleNearestSurface" : ["data_type"],
94+
"GeometryNodeSampleUVSurface" : ["data_type"],
8995
"GeometryNodeSubdivisionSurface" : ["uv_smooth", "boundary_smooth"],
9096
"GeometryNodeTriangulate" : ["quad_method", "ngon_method"],
9197
"GeometryNodeScaleElements" : ["domain", "scale_mode"],
@@ -96,9 +102,13 @@
96102
"GeometryNodeMeshCircle" : ["fill_type"],
97103
"GeometryNodeMeshLine" : ["mode"],
98104

105+
#output
106+
"GeometryNodeViewer" : ["domain"],
107+
99108
#point
100-
"GeometryNodeDistributePointsOnFaces" : ["distribute_method"],
101-
"GeometryNodePointsToVolume" : ["resolution_mode"],
109+
"GeometryNodeDistributePointsInVolume" : ["mode"],
110+
"GeometryNodeDistributePointsOnFaces" : ["distribute_method"],
111+
"GeometryNodePointsToVolume" : ["resolution_mode"],
102112

103113
#text
104114
"GeometryNodeStringToCurves" : ["overflow", "align_x", "align_y",
@@ -280,11 +290,12 @@ def process_node_group(node_group, level):
280290
#special nodes
281291
if node.bl_idname in node_settings:
282292
for setting in node_settings[node.bl_idname]:
283-
attr = getattr(node, setting)
284-
if type(attr) == str:
285-
attr = f"\'{attr}\'"
286-
file.write((f"{inner}{node_name}.{setting} = "
287-
f"{attr}\n"))
293+
attr = getattr(node, setting, None)
294+
if attr:
295+
if type(attr) == str:
296+
attr = f"\'{attr}\'"
297+
file.write((f"{inner}{node_name}.{setting} "
298+
f"= {attr}\n"))
288299
elif node.bl_idname == 'GeometryNodeGroup':
289300
file.write((f"{inner}{node_name}.node_tree = "
290301
f"bpy.data.node_groups"

0 commit comments

Comments
 (0)