Skip to content

Instantly share code, notes, and snippets.

@portnov
Created September 14, 2025 09:02
Show Gist options
  • Select an option

  • Save portnov/c4912adcb790fb2873868ba5758f5b41 to your computer and use it in GitHub Desktop.

Select an option

Save portnov/c4912adcb790fb2873868ba5758f5b41 to your computer and use it in GitHub Desktop.
Sverchok.v1.3.0 | Blender.4.4.0 | NodeTree | 2025.09.14 | 14:02 | license: CC BY-SA
{
"export_version": "1.0",
"main_tree": {
"nodes": {
"Line": {
"attributes": {
"location": [
-1272.6297607421875,
-12.624098777770996
],
"color": [
0.40799999237060547,
0.6159999966621399,
0.41600000858306885
],
"use_custom_color": true
},
"properties": {
"num": 6
},
"inputs": {
"Num": {
"bl_idname": "SvStringsSocket",
"name": "Num",
"properties": {
"prop_name": "num"
}
},
"Steps": {
"bl_idname": "SvStringsSocket",
"name": "Steps",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "step"
}
},
"Size": {
"bl_idname": "SvStringsSocket",
"name": "Size",
"properties": {
"prop_name": "size"
}
},
"Origin": {
"bl_idname": "SvVerticesSocket",
"name": "Origin",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "v3_origin"
}
},
"Direction": {
"bl_idname": "SvVerticesSocket",
"name": "Direction",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "v3_dir"
}
}
},
"outputs": {
"Verts": {
"bl_idname": "SvVerticesSocket",
"name": "Verts"
},
"Edges": {
"bl_idname": "SvStringsSocket",
"name": "Edges"
}
},
"bl_idname": "SvLineNodeMK4"
},
"Line.001": {
"attributes": {
"location": [
-1349.7572021484375,
208.3320770263672
],
"color": [
0.40799999237060547,
0.6159999966621399,
0.41600000858306885
],
"use_custom_color": true
},
"properties": {
"direction": "Y",
"num": 5
},
"inputs": {
"Num": {
"bl_idname": "SvStringsSocket",
"name": "Num",
"properties": {
"prop_name": "num"
}
},
"Steps": {
"bl_idname": "SvStringsSocket",
"name": "Steps",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "step"
}
},
"Size": {
"bl_idname": "SvStringsSocket",
"name": "Size",
"properties": {
"prop_name": "size"
}
},
"Origin": {
"bl_idname": "SvVerticesSocket",
"name": "Origin",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "v3_origin"
}
},
"Direction": {
"bl_idname": "SvVerticesSocket",
"name": "Direction",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "v3_dir"
}
}
},
"outputs": {
"Verts": {
"bl_idname": "SvVerticesSocket",
"name": "Verts"
},
"Edges": {
"bl_idname": "SvStringsSocket",
"name": "Edges"
}
},
"bl_idname": "SvLineNodeMK4"
},
"Matrix Apply (verts)": {
"attributes": {
"location": [
-1007.7769165039062,
146.3943634033203
]
},
"inputs": {
"Vectors": {
"bl_idname": "SvVerticesSocket",
"name": "Vectors"
},
"Matrixes": {
"bl_idname": "SvMatrixSocket",
"name": "Matrixes"
}
},
"outputs": {
"Vectors": {
"bl_idname": "SvVerticesSocket",
"name": "Vectors"
}
},
"bl_idname": "MatrixApplyNode"
},
"Randomize": {
"attributes": {
"location": [
-706.9124755859375,
159.07138061523438
]
},
"properties": {
"random_x_": 0.1499999761581421,
"random_y_": 0.7799999713897705
},
"inputs": {
"Vertices": {
"bl_idname": "SvVerticesSocket",
"name": "Vertices"
},
"RandomX": {
"bl_idname": "SvStringsSocket",
"name": "RandomX",
"properties": {
"prop_name": "random_x_"
}
},
"RandomY": {
"bl_idname": "SvStringsSocket",
"name": "RandomY",
"properties": {
"prop_name": "random_y_"
}
},
"RandomZ": {
"bl_idname": "SvStringsSocket",
"name": "RandomZ",
"properties": {
"prop_name": "random_z_"
}
},
"Seed": {
"bl_idname": "SvStringsSocket",
"name": "Seed",
"properties": {
"prop_name": "random_seed_"
}
}
},
"outputs": {
"Vertices": {
"bl_idname": "SvVerticesSocket",
"name": "Vertices"
}
},
"bl_idname": "SvRandomizeVerticesNode"
},
"Number Range": {
"attributes": {
"location": [
-1066.9578857421875,
-61.681331634521484
]
},
"properties": {
"range_mode": "RANGE_STEP",
"current_mode": "RANGE_STEP",
"count_": 5,
"number_mode": "int"
},
"inputs": {
"Start": {
"bl_idname": "SvStringsSocket",
"name": "Start",
"properties": {
"prop_name": "start_int"
}
},
"Step": {
"bl_idname": "SvStringsSocket",
"name": "Step",
"properties": {
"prop_name": "step_int",
"label": "step"
}
},
"Stop": {
"bl_idname": "SvStringsSocket",
"name": "Stop",
"properties": {
"prop_name": "count_",
"label": "count"
}
}
},
"outputs": {
"Range": {
"bl_idname": "SvStringsSocket",
"name": "Range"
}
},
"bl_idname": "SvGenNumberRange"
},
"List Flip": {
"attributes": {
"location": [
-539.0899658203125,
329.69879150390625
]
},
"properties": {
"level": 1
},
"inputs": {
"data": {
"bl_idname": "SvStringsSocket",
"name": "data"
}
},
"outputs": {
"data_001": {
"bl_idname": "SvVerticesSocket",
"name": "data"
}
},
"bl_idname": "ListFlipNode"
},
"Catmull-Rom Spline.001": {
"attributes": {
"location": [
-352.3986511230469,
415.4352111816406
],
"color": [
0.40799999237060547,
0.6159999966621399,
0.41600000858306885
],
"use_custom_color": true
},
"inputs": {
"Vertices": {
"bl_idname": "SvVerticesSocket",
"name": "Vertices"
},
"Tension": {
"bl_idname": "SvStringsSocket",
"name": "Tension",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "tension"
}
}
},
"outputs": {
"Curve": {
"bl_idname": "SvCurveSocket",
"name": "Curve"
}
},
"bl_idname": "SvCatmullRomSplineNode"
},
"Split Curve": {
"attributes": {
"location": [
-141.3927459716797,
567.9011840820312
]
},
"properties": {
"mode": "EVEN",
"segments": 5,
"rescale": true
},
"inputs": {
"Curve": {
"bl_idname": "SvCurveSocket",
"name": "Curve"
},
"Segments": {
"bl_idname": "SvStringsSocket",
"name": "Segments",
"properties": {
"prop_name": "segments"
}
},
"Split": {
"bl_idname": "SvStringsSocket",
"name": "Split",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "split"
}
}
},
"outputs": {
"Curves": {
"bl_idname": "SvCurveSocket",
"name": "Curves"
}
},
"bl_idname": "SvSplitCurveNode"
},
"Viewer Draw Curve.001": {
"attributes": {
"location": [
669.2997436523438,
789.5346069335938
],
"color": [
1.0,
0.5889999866485596,
0.21400000154972076
],
"use_custom_color": true
},
"properties": {
"line_color": [
0.0,
0.06277695298194885,
1.0,
1.0
],
"comb_color": [
0.7445480227470398,
0.43838220834732056,
0.0,
0.7405171394348145
],
"control_polygon_color": [
0.023192498832941055,
0.6177791357040405,
0.41069942712783813,
1.0
],
"verts_color": [
0.0,
0.8049903512001038,
0.7719917297363281,
1.0
],
"arrows_color": [
0.04119928926229477,
0.6374202370643616,
0.48610028624534607,
1.0
],
"resolution": 100,
"line_width": 1,
"control_points_color": [
0.015343744307756424,
0.3374054431915283,
0.025069717317819595,
1.0
],
"draw_nodes": true,
"activate": false
},
"inputs": {
"Curve": {
"bl_idname": "SvCurveSocket",
"name": "Curve"
},
"Resolution": {
"bl_idname": "SvStringsSocket",
"name": "Resolution",
"properties": {
"prop_name": "resolution"
}
}
},
"bl_idname": "SvCurveViewerDrawNode"
},
"Move NURBS Curve Point": {
"attributes": {
"location": [
55.33189010620117,
813.6304931640625
]
},
"properties": {
"method": "MOVE_CPTS",
"t_value": 0.0
},
"inputs": {
"Curve": {
"bl_idname": "SvCurveSocket",
"name": "Curve"
},
"T": {
"bl_idname": "SvStringsSocket",
"name": "T",
"properties": {
"prop_name": "t_value"
}
},
"Index": {
"bl_idname": "SvStringsSocket",
"name": "Index",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "idx"
}
},
"Distance": {
"bl_idname": "SvStringsSocket",
"name": "Distance",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "distance"
}
},
"Vector": {
"bl_idname": "SvVerticesSocket",
"name": "Vector",
"properties": {
"use_prop": true,
"prop": [
0.0,
0.0,
0.5
],
"label": "Vector",
"expanded": true
}
}
},
"outputs": {
"Curve": {
"bl_idname": "SvCurveSocket",
"name": "Curve"
}
},
"bl_idname": "SvNurbsCurveMovePointNode"
},
"Vector In": {
"attributes": {
"location": [
-245.66810607910156,
713.6304931640625
],
"width": 100.0,
"label": "Vector"
},
"properties": {
"z_": 0.9800000190734863
},
"inputs": {
"X": {
"bl_idname": "SvStringsSocket",
"name": "X",
"properties": {
"prop_name": "x_"
}
},
"Y": {
"bl_idname": "SvStringsSocket",
"name": "Y",
"properties": {
"prop_name": "y_"
}
},
"Z": {
"bl_idname": "SvStringsSocket",
"name": "Z",
"properties": {
"prop_name": "z_"
}
}
},
"outputs": {
"Vectors": {
"bl_idname": "SvVerticesSocket",
"name": "Vectors"
}
},
"bl_idname": "GenVectorsNode"
},
"Move NURBS Curve Point.001": {
"attributes": {
"location": [
223.5355682373047,
690.477783203125
]
},
"properties": {
"method": "MOVE_CPTS",
"t_value": 1.0
},
"inputs": {
"Curve": {
"bl_idname": "SvCurveSocket",
"name": "Curve"
},
"T": {
"bl_idname": "SvStringsSocket",
"name": "T",
"properties": {
"prop_name": "t_value"
}
},
"Index": {
"bl_idname": "SvStringsSocket",
"name": "Index",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "idx"
}
},
"Distance": {
"bl_idname": "SvStringsSocket",
"name": "Distance",
"attributes": {
"hide": true
},
"properties": {
"prop_name": "distance"
}
},
"Vector": {
"bl_idname": "SvVerticesSocket",
"name": "Vector",
"properties": {
"use_prop": true,
"prop": [
0.0,
0.0,
0.5
],
"label": "Vector",
"expanded": true
}
}
},
"outputs": {
"Curve": {
"bl_idname": "SvCurveSocket",
"name": "Curve"
}
},
"bl_idname": "SvNurbsCurveMovePointNode"
},
"Concatenate Curves": {
"attributes": {
"location": [
465.5744934082031,
633.2847900390625
]
},
"properties": {
"all_nurbs": true
},
"inputs": {
"Curves": {
"bl_idname": "SvCurveSocket",
"name": "Curves"
}
},
"outputs": {
"Curve": {
"bl_idname": "SvCurveSocket",
"name": "Curve"
}
},
"bl_idname": "SvExConcatCurvesNode"
},
"NURBS Loft.001": {
"attributes": {
"location": [
659.44189453125,
481.09063720703125
],
"color": [
0.40799999237060547,
0.6159999966621399,
0.41600000858306885
],
"use_custom_color": true
},
"properties": {
"nurbs_implementation": "NATIVE"
},
"inputs": {
"Curves": {
"bl_idname": "SvCurveSocket",
"name": "Curves"
},
"DegreeV": {
"bl_idname": "SvStringsSocket",
"name": "DegreeV",
"properties": {
"prop_name": "degree_v"
}
}
},
"outputs": {
"Surface": {
"bl_idname": "SvSurfaceSocket",
"name": "Surface"
},
"UnifiedCurves": {
"bl_idname": "SvCurveSocket",
"name": "UnifiedCurves"
},
"VCurves": {
"bl_idname": "SvCurveSocket",
"name": "VCurves"
}
},
"bl_idname": "SvNurbsLoftNode"
},
"Viewer Draw Surface.001": {
"attributes": {
"location": [
985.3111572265625,
547.3150024414062
],
"color": [
1.0,
0.5889999866485596,
0.21400000154972076
],
"use_custom_color": true
},
"properties": {
"control_net_color": [
0.0,
0.20331311225891113,
0.6741600036621094,
1.0
],
"control_points_color": [
0.0,
0.030828893184661865,
1.0,
1.0
],
"control_points_size": 4,
"surface_color": [
0.7444139719009399,
0.8444298505783081,
0.9500002264976501,
1.0
],
"resolution_u": 153,
"resolution_v": 100,
"draw_node_lines": true,
"node_lines_color": [
0.0007367206271737814,
0.0,
0.19999945163726807,
1.0
]
},
"inputs": {
"Surface": {
"bl_idname": "SvSurfaceSocket",
"name": "Surface"
},
"ResolutionU": {
"bl_idname": "SvStringsSocket",
"name": "ResolutionU",
"properties": {
"prop_name": "resolution_u"
}
},
"ResolutionV": {
"bl_idname": "SvStringsSocket",
"name": "ResolutionV",
"properties": {
"prop_name": "resolution_v"
}
}
},
"bl_idname": "SvSurfaceViewerDrawNode"
},
"Scalar Math": {
"attributes": {
"location": [
-887.0000610351562,
-38.424530029296875
]
},
"properties": {
"current_op": "ADD",
"input_mode_one": "Int",
"input_mode_two": "Int"
},
"inputs": {
"x": {
"bl_idname": "SvStringsSocket",
"name": "x",
"properties": {
"prop_name": "xi_"
}
},
"y": {
"bl_idname": "SvStringsSocket",
"name": "y",
"properties": {
"prop_name": "yi_"
}
}
},
"outputs": {
"Out": {
"bl_idname": "SvStringsSocket",
"name": "Out"
}
},
"bl_idname": "SvScalarMathNodeMK4"
},
"A Number": {
"attributes": {
"location": [
-1079.615478515625,
-265.0922546386719
],
"label": "SEED"
},
"properties": {
"int_": 2,
"selected_mode": "int"
},
"inputs": {
"Float": {
"bl_idname": "SvStringsSocket",
"name": "Int",
"properties": {
"prop_name": "int_"
}
}
},
"outputs": {
"Int": {
"bl_idname": "SvStringsSocket",
"name": "Int",
"properties": {
"custom_draw": "mode_custom_draw"
}
}
},
"bl_idname": "SvNumberNode"
}
},
"links": [
{
"from_node": "Line",
"from_socket": "Verts",
"to_node": "Matrix Apply (verts)",
"to_socket": "Vectors"
},
{
"from_node": "Line.001",
"from_socket": "Verts",
"to_node": "Matrix Apply (verts)",
"to_socket": "Matrixes"
},
{
"from_node": "Matrix Apply (verts)",
"from_socket": "Vectors",
"to_node": "Randomize",
"to_socket": "Vertices"
},
{
"from_node": "Scalar Math",
"from_socket": "Out",
"to_node": "Randomize",
"to_socket": "Seed"
},
{
"from_node": "Randomize",
"from_socket": "Vertices",
"to_node": "List Flip",
"to_socket": "data"
},
{
"from_node": "List Flip",
"from_socket": "data_001",
"to_node": "Catmull-Rom Spline.001",
"to_socket": "Vertices"
},
{
"from_node": "Catmull-Rom Spline.001",
"from_socket": "Curve",
"to_node": "Split Curve",
"to_socket": "Curve"
},
{
"from_node": "Concatenate Curves",
"from_socket": "Curve",
"to_node": "Viewer Draw Curve.001",
"to_socket": "Curve"
},
{
"from_node": "Split Curve",
"from_socket": "Curves",
"to_node": "Move NURBS Curve Point",
"to_socket": "Curve"
},
{
"from_node": "Vector In",
"from_socket": "Vectors",
"to_node": "Move NURBS Curve Point",
"to_socket": "Vector"
},
{
"from_node": "Move NURBS Curve Point",
"from_socket": "Curve",
"to_node": "Move NURBS Curve Point.001",
"to_socket": "Curve"
},
{
"from_node": "Vector In",
"from_socket": "Vectors",
"to_node": "Move NURBS Curve Point.001",
"to_socket": "Vector"
},
{
"from_node": "Move NURBS Curve Point.001",
"from_socket": "Curve",
"to_node": "Concatenate Curves",
"to_socket": "Curves"
},
{
"from_node": "Concatenate Curves",
"from_socket": "Curve",
"to_node": "NURBS Loft.001",
"to_socket": "Curves"
},
{
"from_node": "NURBS Loft.001",
"from_socket": "Surface",
"to_node": "Viewer Draw Surface.001",
"to_socket": "Surface"
},
{
"from_node": "Number Range",
"from_socket": "Range",
"to_node": "Scalar Math",
"to_socket": "x"
},
{
"from_node": "A Number",
"from_socket": "Int",
"to_node": "Scalar Math",
"to_socket": "y"
}
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment