Skip to content

Instantly share code, notes, and snippets.

@portnov
Created February 13, 2025 20:00

Revisions

  1. portnov created this gist Feb 13, 2025.
    819 changes: 819 additions & 0 deletions NodeTree
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,819 @@
    {
    "export_version": "1.0",
    "main_tree": {
    "nodes": {
    "Circle (Curve)": {
    "attributes": {
    "location": [
    -560.4446411132812,
    -37.84037780761719
    ]
    },
    "properties": {
    "curve_mode": "NURBS"
    },
    "inputs": {
    "Center": {
    "bl_idname": "SvMatrixSocket",
    "name": "Center"
    },
    "Radius": {
    "bl_idname": "SvStringsSocket",
    "name": "Radius",
    "properties": {
    "prop_name": "radius"
    }
    },
    "TMin": {
    "bl_idname": "SvStringsSocket",
    "name": "TMin",
    "properties": {
    "prop_name": "t_min"
    }
    },
    "TMax": {
    "bl_idname": "SvStringsSocket",
    "name": "TMax",
    "properties": {
    "prop_name": "t_max"
    }
    },
    "NPoints": {
    "bl_idname": "SvStringsSocket",
    "name": "NPoints",
    "properties": {
    "prop_name": "n_points"
    }
    }
    },
    "outputs": {
    "Curve": {
    "bl_idname": "SvCurveSocket",
    "name": "Curve"
    }
    },
    "bl_idname": "SvCircleCurveMk2Node"
    },
    "Matrix In": {
    "attributes": {
    "location": [
    -770.5771484375,
    -64.5947494506836
    ],
    "label": "Center"
    },
    "properties": {
    "axis": [
    0.0,
    1.0,
    0.0
    ],
    "angle": 90.0
    },
    "inputs": {
    "Location": {
    "bl_idname": "SvVerticesSocket",
    "name": "Location",
    "properties": {
    "prop_name": "location_"
    }
    },
    "Scale": {
    "bl_idname": "SvVerticesSocket",
    "name": "Scale",
    "properties": {
    "prop_name": "scale"
    }
    },
    "Quaternion": {
    "bl_idname": "SvQuaternionSocket",
    "name": "Quaternion",
    "attributes": {
    "hide": true
    },
    "properties": {
    "prop_name": "quaternion"
    }
    },
    "Angle X": {
    "bl_idname": "SvStringsSocket",
    "name": "Angle X",
    "attributes": {
    "hide": true
    },
    "properties": {
    "prop_name": "angle_x"
    }
    },
    "Angle Y": {
    "bl_idname": "SvStringsSocket",
    "name": "Angle Y",
    "attributes": {
    "hide": true
    },
    "properties": {
    "prop_name": "angle_y"
    }
    },
    "Angle Z": {
    "bl_idname": "SvStringsSocket",
    "name": "Angle Z",
    "attributes": {
    "hide": true
    },
    "properties": {
    "prop_name": "angle_z"
    }
    },
    "Axis": {
    "bl_idname": "SvVerticesSocket",
    "name": "Axis",
    "properties": {
    "prop_name": "axis",
    "expanded": true
    }
    },
    "Angle": {
    "bl_idname": "SvStringsSocket",
    "name": "Angle",
    "properties": {
    "prop_name": "angle"
    }
    }
    },
    "outputs": {
    "Matrices": {
    "bl_idname": "SvMatrixSocket",
    "name": "Matrices"
    }
    },
    "bl_idname": "SvMatrixInNodeMK4"
    },
    "Evaluate Curve": {
    "attributes": {
    "location": [
    409.5180358886719,
    117.21298217773438
    ]
    },
    "properties": {
    "t_value": 0.0
    },
    "inputs": {
    "Curve": {
    "bl_idname": "SvCurveSocket",
    "name": "Curve"
    },
    "T": {
    "bl_idname": "SvStringsSocket",
    "name": "T",
    "attributes": {
    "hide": true
    },
    "properties": {
    "prop_name": "t_value"
    }
    },
    "Samples": {
    "bl_idname": "SvStringsSocket",
    "name": "Samples",
    "properties": {
    "prop_name": "sample_size"
    }
    }
    },
    "outputs": {
    "Vertices": {
    "bl_idname": "SvVerticesSocket",
    "name": "Vertices"
    },
    "Edges": {
    "bl_idname": "SvStringsSocket",
    "name": "Edges"
    },
    "Tangents": {
    "bl_idname": "SvVerticesSocket",
    "name": "Tangents"
    }
    },
    "bl_idname": "SvExEvalCurveNode"
    },
    "Vector In": {
    "attributes": {
    "location": [
    -365.410400390625,
    360.76690673828125
    ],
    "width": 100.0
    },
    "properties": {
    "x_": 3.0
    },
    "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"
    },
    "A Number": {
    "attributes": {
    "location": [
    -777.9462280273438,
    141.69737243652344
    ],
    "label": "Radius"
    },
    "properties": {
    "float_": 1.0
    },
    "inputs": {
    "Float": {
    "bl_idname": "SvStringsSocket",
    "name": "Float",
    "properties": {
    "prop_name": "float_"
    }
    }
    },
    "outputs": {
    "Float_001": {
    "bl_idname": "SvStringsSocket",
    "name": "Float",
    "properties": {
    "custom_draw": "mode_custom_draw"
    }
    }
    },
    "bl_idname": "SvNumberNode"
    },
    "A Number.001": {
    "attributes": {
    "location": [
    -771.0347290039062,
    380.451416015625
    ],
    "label": "X",
    "parent": {
    "type": "NODE",
    "value": "Frame"
    }
    },
    "properties": {
    "float_": 4.0
    },
    "inputs": {
    "Float": {
    "bl_idname": "SvStringsSocket",
    "name": "Float",
    "properties": {
    "prop_name": "float_"
    }
    }
    },
    "outputs": {
    "Float_001": {
    "bl_idname": "SvStringsSocket",
    "name": "Float",
    "properties": {
    "custom_draw": "mode_custom_draw"
    }
    }
    },
    "bl_idname": "SvNumberNode"
    },
    "Line (Curve)": {
    "attributes": {
    "location": [
    143.05555725097656,
    353.4795227050781
    ]
    },
    "properties": {
    "mode": "AB"
    },
    "inputs": {
    "Point1": {
    "bl_idname": "SvVerticesSocket",
    "name": "Point1",
    "properties": {
    "use_prop": true
    }
    },
    "Point2": {
    "bl_idname": "SvVerticesSocket",
    "name": "Point2",
    "properties": {
    "use_prop": true,
    "prop": [
    1.0,
    0.0,
    0.0
    ]
    }
    },
    "Direction": {
    "bl_idname": "SvVerticesSocket",
    "name": "Direction",
    "attributes": {
    "hide": true
    },
    "properties": {
    "use_prop": true,
    "prop": [
    1.0,
    0.0,
    0.0
    ]
    }
    },
    "UMin": {
    "bl_idname": "SvStringsSocket",
    "name": "UMin",
    "properties": {
    "prop_name": "u_min"
    }
    },
    "UMax": {
    "bl_idname": "SvStringsSocket",
    "name": "UMax",
    "properties": {
    "prop_name": "u_max"
    }
    }
    },
    "outputs": {
    "Curve": {
    "bl_idname": "SvCurveSocket",
    "name": "Curve"
    }
    },
    "bl_idname": "SvExLineCurveNode"
    },
    "Evaluate Curve.001": {
    "attributes": {
    "location": [
    -125.61243438720703,
    211.59823608398438
    ]
    },
    "properties": {
    "eval_mode": "MANUAL",
    "t_value": 3.1415927410125732
    },
    "inputs": {
    "Curve": {
    "bl_idname": "SvCurveSocket",
    "name": "Curve"
    },
    "T": {
    "bl_idname": "SvStringsSocket",
    "name": "T",
    "properties": {
    "prop_name": "t_value"
    }
    },
    "Samples": {
    "bl_idname": "SvStringsSocket",
    "name": "Samples",
    "attributes": {
    "hide": true
    },
    "properties": {
    "prop_name": "sample_size"
    }
    }
    },
    "outputs": {
    "Vertices": {
    "bl_idname": "SvVerticesSocket",
    "name": "Vertices"
    },
    "Edges": {
    "bl_idname": "SvStringsSocket",
    "name": "Edges"
    },
    "Tangents": {
    "bl_idname": "SvVerticesSocket",
    "name": "Tangents"
    }
    },
    "bl_idname": "SvExEvalCurveNode"
    },
    "Elevate Degree (NURBS Curve)": {
    "attributes": {
    "location": [
    442.3728942871094,
    327.74945068359375
    ]
    },
    "properties": {
    "mode": "TARGET",
    "degree": 2
    },
    "inputs": {
    "Curve": {
    "bl_idname": "SvCurveSocket",
    "name": "Curve"
    },
    "Degree": {
    "bl_idname": "SvStringsSocket",
    "name": "Degree",
    "properties": {
    "prop_name": "degree",
    "label": "Degree"
    }
    }
    },
    "outputs": {
    "Curve": {
    "bl_idname": "SvCurveSocket",
    "name": "Curve"
    }
    },
    "bl_idname": "SvCurveElevateDegreeNode"
    },
    "Move NURBS Curve Point": {
    "attributes": {
    "location": [
    712.0062866210938,
    287.6755065917969
    ],
    "width": 202.916015625,
    "parent": {
    "type": "NODE",
    "value": "Frame.001"
    }
    },
    "properties": {
    "vector_mode": "ABS",
    "method": "MOVE_CPTS",
    "preserve_tangent": true,
    "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": [
    1.0,
    0.0,
    0.0
    ],
    "label": "Point"
    }
    }
    },
    "outputs": {
    "Curve": {
    "bl_idname": "SvCurveSocket",
    "name": "Curve"
    }
    },
    "bl_idname": "SvNurbsCurveMovePointNode"
    },
    "Viewer Draw Curve.001": {
    "attributes": {
    "location": [
    -322.6950988769531,
    -155.04562377929688
    ],
    "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
    ],
    "activate": false
    },
    "inputs": {
    "Curve": {
    "bl_idname": "SvCurveSocket",
    "name": "Curve"
    },
    "Resolution": {
    "bl_idname": "SvStringsSocket",
    "name": "Resolution",
    "properties": {
    "prop_name": "resolution"
    }
    }
    },
    "bl_idname": "SvCurveViewerDrawNode"
    },
    "NURBS Loft": {
    "attributes": {
    "location": [
    1017.464599609375,
    316.52728271484375
    ]
    },
    "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": {
    "attributes": {
    "location": [
    1286.97314453125,
    347.6034240722656
    ],
    "width": 172.76513671875,
    "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": 100,
    "resolution_v": 100,
    "draw_node_lines": true,
    "node_lines_color": [
    0.0007367206271737814,
    0.0,
    0.19999945163726807,
    1.0
    ],
    "node_lines_width": 1
    },
    "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"
    },
    "Frame": {
    "attributes": {
    "location": [
    0.0,
    0.0
    ],
    "height": 149.0,
    "width": 200.0,
    "label": "End point"
    },
    "bl_idname": "NodeFrame"
    },
    "Frame.001": {
    "attributes": {
    "location": [
    0.0,
    0.0
    ],
    "height": 263.0,
    "width": 262.916015625,
    "label": "Generate profiles"
    },
    "bl_idname": "NodeFrame"
    }
    },
    "links": [
    {
    "from_node": "Matrix In",
    "from_socket": "Matrices",
    "to_node": "Circle (Curve)",
    "to_socket": "Center"
    },
    {
    "from_node": "A Number",
    "from_socket": "Float_001",
    "to_node": "Circle (Curve)",
    "to_socket": "Radius"
    },
    {
    "from_node": "Circle (Curve)",
    "from_socket": "Curve",
    "to_node": "Evaluate Curve",
    "to_socket": "Curve"
    },
    {
    "from_node": "A Number.001",
    "from_socket": "Float_001",
    "to_node": "Vector In",
    "to_socket": "X"
    },
    {
    "from_node": "A Number",
    "from_socket": "Float_001",
    "to_node": "Vector In",
    "to_socket": "Z"
    },
    {
    "from_node": "Vector In",
    "from_socket": "Vectors",
    "to_node": "Line (Curve)",
    "to_socket": "Point1"
    },
    {
    "from_node": "Evaluate Curve.001",
    "from_socket": "Vertices",
    "to_node": "Line (Curve)",
    "to_socket": "Point2"
    },
    {
    "from_node": "Circle (Curve)",
    "from_socket": "Curve",
    "to_node": "Evaluate Curve.001",
    "to_socket": "Curve"
    },
    {
    "from_node": "Line (Curve)",
    "from_socket": "Curve",
    "to_node": "Elevate Degree (NURBS Curve)",
    "to_socket": "Curve"
    },
    {
    "from_node": "Elevate Degree (NURBS Curve)",
    "from_socket": "Curve",
    "to_node": "Move NURBS Curve Point",
    "to_socket": "Curve"
    },
    {
    "from_node": "Evaluate Curve",
    "from_socket": "Vertices",
    "to_node": "Move NURBS Curve Point",
    "to_socket": "Vector"
    },
    {
    "from_node": "Circle (Curve)",
    "from_socket": "Curve",
    "to_node": "Viewer Draw Curve.001",
    "to_socket": "Curve"
    },
    {
    "from_node": "Move NURBS Curve Point",
    "from_socket": "Curve",
    "to_node": "NURBS Loft",
    "to_socket": "Curves"
    },
    {
    "from_node": "NURBS Loft",
    "from_socket": "Surface",
    "to_node": "Viewer Draw Surface",
    "to_socket": "Surface"
    }
    ]
    }
    }