{
    "export_version": "1.0",
    "main_tree": {
        "nodes": {
            "A Number": {
                "attributes": {
                    "location": [-686.4109497070312, -164.92626953125]
                },
                "properties": {
                    "float_": 0.5
                },
                "inputs": {
                    "Float": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Float",
                        "properties": {
                            "prop_name": "float_"
                        }
                    }
                },
                "outputs": {
                    "Float": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Float",
                        "properties": {
                            "custom_draw": "mode_custom_draw"
                        }
                    }
                },
                "bl_idname": "SvNumberNode"
            },
            "A Number.001": {
                "attributes": {
                    "location": [-694.1799926757812, -254.07264709472656]
                },
                "properties": {
                    "float_": 2.0
                },
                "inputs": {
                    "Float": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Float",
                        "properties": {
                            "prop_name": "float_"
                        }
                    }
                },
                "outputs": {
                    "Float": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Float",
                        "properties": {
                            "custom_draw": "mode_custom_draw"
                        }
                    }
                },
                "bl_idname": "SvNumberNode"
            },
            "A Number.002": {
                "attributes": {
                    "location": [-695.9728393554688, -349.80029296875]
                },
                "properties": {
                    "float_": 2.0,
                    "int_": 6,
                    "selected_mode": "int"
                },
                "inputs": {
                    "Int": {
                        "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"
            },
            "Curve Formula": {
                "attributes": {
                    "location": [-438.8460388183594, -69.36710357666016]
                },
                "properties": {
                    "formula1": "R0 + Dr*cos(k*t)",
                    "formula2": "t",
                    "formula3": "0",
                    "output_mode": "CYL"
                },
                "inputs": {
                    "TMin": {
                        "bl_idname": "SvStringsSocket",
                        "name": "TMin",
                        "properties": {
                            "prop_name": "t_min"
                        }
                    },
                    "TMax": {
                        "bl_idname": "SvStringsSocket",
                        "name": "TMax",
                        "properties": {
                            "prop_name": "t_max"
                        }
                    },
                    "Dr": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Dr"
                    },
                    "R0": {
                        "bl_idname": "SvStringsSocket",
                        "name": "R0"
                    },
                    "k": {
                        "bl_idname": "SvStringsSocket",
                        "name": "k"
                    }
                },
                "outputs": {
                    "Curve": {
                        "bl_idname": "SvCurveSocket",
                        "name": "Curve"
                    }
                },
                "bl_idname": "SvExCurveFormulaNode"
            },
            "Evaluate Surface": {
                "attributes": {
                    "location": [754.2543334960938, -78.19368743896484]
                },
                "properties": {
                    "samples_u": 31,
                    "samples_v": 68
                },
                "inputs": {
                    "Surface": {
                        "bl_idname": "SvSurfaceSocket",
                        "name": "Surface"
                    },
                    "U": {
                        "bl_idname": "SvStringsSocket",
                        "name": "U",
                        "attributes": {
                            "hide": true
                        },
                        "properties": {
                            "prop_name": "u_value"
                        }
                    },
                    "V": {
                        "bl_idname": "SvStringsSocket",
                        "name": "V",
                        "attributes": {
                            "hide": true
                        },
                        "properties": {
                            "prop_name": "v_value"
                        }
                    },
                    "Vertices": {
                        "bl_idname": "SvVerticesSocket",
                        "name": "Vertices",
                        "attributes": {
                            "hide": true
                        }
                    },
                    "SamplesU": {
                        "bl_idname": "SvStringsSocket",
                        "name": "SamplesU",
                        "properties": {
                            "prop_name": "samples_u"
                        }
                    },
                    "SamplesV": {
                        "bl_idname": "SvStringsSocket",
                        "name": "SamplesV",
                        "properties": {
                            "prop_name": "samples_v"
                        }
                    }
                },
                "outputs": {
                    "Vertices": {
                        "bl_idname": "SvVerticesSocket",
                        "name": "Vertices"
                    },
                    "Edges": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Edges"
                    },
                    "Faces": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Faces"
                    }
                },
                "bl_idname": "SvExEvalSurfaceNode"
            },
            "Fillet Polyline": {
                "attributes": {
                    "location": [161.8326873779297, -274.4193420410156]
                },
                "properties": {
                    "cyclic": true
                },
                "inputs": {
                    "Vertices": {
                        "bl_idname": "SvVerticesSocket",
                        "name": "Vertices"
                    },
                    "Radius": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Radius",
                        "properties": {
                            "prop_name": "radius"
                        }
                    }
                },
                "outputs": {
                    "Curve": {
                        "bl_idname": "SvCurveSocket",
                        "name": "Curve"
                    },
                    "Centers": {
                        "bl_idname": "SvMatrixSocket",
                        "name": "Centers"
                    }
                },
                "bl_idname": "SvExFilletPolylineNode"
            },
            "List Join": {
                "attributes": {
                    "location": [381.9143371582031, -91.71227264404297]
                },
                "inputs": {
                    "data": {
                        "bl_idname": "SvStringsSocket",
                        "name": "data"
                    },
                    "data 1": {
                        "bl_idname": "SvStringsSocket",
                        "name": "data 1"
                    },
                    "data 2": {
                        "bl_idname": "SvStringsSocket",
                        "name": "data 2"
                    },
                    "data 3": {
                        "bl_idname": "SvStringsSocket",
                        "name": "data 3"
                    }
                },
                "outputs": {
                    "data": {
                        "bl_idname": "SvCurveSocket",
                        "name": "data"
                    }
                },
                "bl_idname": "ListJoinNode"
            },
            "Move": {
                "attributes": {
                    "location": [-51.37197494506836, -378.1675109863281]
                },
                "properties": {
                    "movement_vectors": [0.0, 0.0, 6.0]
                },
                "inputs": {
                    "Vertices": {
                        "bl_idname": "SvVerticesSocket",
                        "name": "Vertices"
                    },
                    "Movement Vectors": {
                        "bl_idname": "SvVerticesSocket",
                        "name": "Movement Vectors",
                        "properties": {
                            "prop_name": "movement_vectors",
                            "expanded": true
                        }
                    },
                    "Strength": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Strength",
                        "properties": {
                            "prop_name": "strength"
                        }
                    }
                },
                "outputs": {
                    "Vertices": {
                        "bl_idname": "SvVerticesSocket",
                        "name": "Vertices"
                    }
                },
                "bl_idname": "SvMoveNodeMk3"
            },
            "NGon": {
                "attributes": {
                    "location": [-228.0882568359375, -382.244873046875],
                    "color": [0.0, 0.5, 0.5],
                    "use_custom_color": true
                },
                "properties": {
                    "rad_": 1.8399999141693115,
                    "sides_": 3
                },
                "inputs": {
                    "Radius": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Radius",
                        "properties": {
                            "prop_name": "rad_"
                        }
                    },
                    "N Sides": {
                        "bl_idname": "SvStringsSocket",
                        "name": "N Sides",
                        "properties": {
                            "prop_name": "sides_"
                        }
                    },
                    "Divisions": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Divisions",
                        "properties": {
                            "prop_name": "divisions"
                        }
                    },
                    "RandomR": {
                        "bl_idname": "SvStringsSocket",
                        "name": "RandomR",
                        "properties": {
                            "prop_name": "rand_r_"
                        }
                    },
                    "RandomPhi": {
                        "bl_idname": "SvStringsSocket",
                        "name": "RandomPhi",
                        "properties": {
                            "prop_name": "rand_phi_"
                        }
                    },
                    "RandomSeed": {
                        "bl_idname": "SvStringsSocket",
                        "name": "RandomSeed",
                        "properties": {
                            "prop_name": "rand_seed_"
                        }
                    },
                    "Shift": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Shift",
                        "properties": {
                            "prop_name": "shift_"
                        }
                    }
                },
                "outputs": {
                    "Vertices": {
                        "bl_idname": "SvVerticesSocket",
                        "name": "Vertices"
                    },
                    "Edges": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Edges"
                    },
                    "Polygons": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Polygons"
                    }
                },
                "bl_idname": "SvNGonNode"
            },
            "Surface from Curves": {
                "attributes": {
                    "location": [570.9548950195312, -83.62797546386719]
                },
                "properties": {
                    "interp_mode": "CUBIC"
                },
                "inputs": {
                    "Curves": {
                        "bl_idname": "SvCurveSocket",
                        "name": "Curves"
                    },
                    "Degree": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Degree",
                        "attributes": {
                            "hide": true
                        },
                        "properties": {
                            "prop_name": "degree"
                        }
                    },
                    "Epsilon": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Epsilon",
                        "attributes": {
                            "hide": true
                        },
                        "properties": {
                            "prop_name": "epsilon"
                        }
                    },
                    "Smooth": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Smooth",
                        "attributes": {
                            "hide": true
                        },
                        "properties": {
                            "prop_name": "smooth"
                        }
                    }
                },
                "outputs": {
                    "Surface": {
                        "bl_idname": "SvSurfaceSocket",
                        "name": "Surface"
                    }
                },
                "bl_idname": "SvInterpolatingSurfaceNode"
            },
            "Vector In": {
                "attributes": {
                    "location": [-226.06790161132812, -212.81639099121094],
                    "width": 100.0
                },
                "properties": {
                    "z_": 2.0399999618530273
                },
                "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"
            },
            "Viewer Draw Mk3.003": {
                "attributes": {
                    "location": [957.3001708984375, -72.92074584960938],
                    "color": [1.0, 0.30000001192092896, 0.0],
                    "use_custom_color": true
                },
                "properties": {
                    "display_edges": false,
                    "display_verts": false,
                    "selected_draw_mode": "facet"
                },
                "inputs": {
                    "Vertices": {
                        "bl_idname": "SvVerticesSocket",
                        "name": "Vertices",
                        "properties": {
                            "custom_draw": "draw_property_socket"
                        }
                    },
                    "Edges": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Edges",
                        "properties": {
                            "custom_draw": "draw_property_socket"
                        }
                    },
                    "Polygons": {
                        "bl_idname": "SvStringsSocket",
                        "name": "Polygons"
                    },
                    "Matrix": {
                        "bl_idname": "SvMatrixSocket",
                        "name": "Matrix"
                    },
                    "Vector Color": {
                        "bl_idname": "SvColorSocket",
                        "name": "Vector Color",
                        "properties": {
                            "custom_draw": "draw_color_socket",
                            "prop_name": "vector_color"
                        }
                    },
                    "Edge Color": {
                        "bl_idname": "SvColorSocket",
                        "name": "Edge Color",
                        "properties": {
                            "custom_draw": "draw_color_socket",
                            "prop_name": "edge_color"
                        }
                    },
                    "Polygon Color": {
                        "bl_idname": "SvColorSocket",
                        "name": "Polygon Color",
                        "properties": {
                            "custom_draw": "draw_color_socket",
                            "prop_name": "polygon_color"
                        }
                    },
                    "attrs": {
                        "bl_idname": "SvStringsSocket",
                        "name": "attrs",
                        "attributes": {
                            "hide": true
                        },
                        "properties": {
                            "quick_link_to_node": "SvVDAttrsNodeMk2"
                        }
                    }
                },
                "bl_idname": "SvViewerDrawMk4"
            },
            "Circle (Curve).001": {
                "attributes": {
                    "location": [-85.13182830810547, -210.66497802734375]
                },
                "properties": {
                    "radius": 1.1799999475479126
                },
                "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",
                        "attributes": {
                            "hide": true
                        },
                        "properties": {
                            "prop_name": "n_points"
                        }
                    }
                },
                "outputs": {
                    "Curve": {
                        "bl_idname": "SvCurveSocket",
                        "name": "Curve"
                    }
                },
                "bl_idname": "SvCircleCurveMk2Node"
            }
        },
        "links": [{
                "from_node": "A Number",
                "from_socket": "Float",
                "to_node": "Curve Formula",
                "to_socket": "Dr"
            }, {
                "from_node": "A Number.001",
                "from_socket": "Float",
                "to_node": "Curve Formula",
                "to_socket": "R0"
            }, {
                "from_node": "A Number.002",
                "from_socket": "Int",
                "to_node": "Curve Formula",
                "to_socket": "k"
            }, {
                "from_node": "Surface from Curves",
                "from_socket": "Surface",
                "to_node": "Evaluate Surface",
                "to_socket": "Surface"
            }, {
                "from_node": "Move",
                "from_socket": "Vertices",
                "to_node": "Fillet Polyline",
                "to_socket": "Vertices"
            }, {
                "from_node": "Curve Formula",
                "from_socket": "Curve",
                "to_node": "List Join",
                "to_socket": "data"
            }, {
                "from_node": "Circle (Curve).001",
                "from_socket": "Curve",
                "to_node": "List Join",
                "to_socket": "data 1"
            }, {
                "from_node": "Fillet Polyline",
                "from_socket": "Curve",
                "to_node": "List Join",
                "to_socket": "data 2"
            }, {
                "from_node": "NGon",
                "from_socket": "Vertices",
                "to_node": "Move",
                "to_socket": "Vertices"
            }, {
                "from_node": "List Join",
                "from_socket": "data",
                "to_node": "Surface from Curves",
                "to_socket": "Curves"
            }, {
                "from_node": "Evaluate Surface",
                "from_socket": "Vertices",
                "to_node": "Viewer Draw Mk3.003",
                "to_socket": "Vertices"
            }, {
                "from_node": "Evaluate Surface",
                "from_socket": "Edges",
                "to_node": "Viewer Draw Mk3.003",
                "to_socket": "Edges"
            }, {
                "from_node": "Evaluate Surface",
                "from_socket": "Faces",
                "to_node": "Viewer Draw Mk3.003",
                "to_socket": "Polygons"
            }, {
                "from_node": "Vector In",
                "from_socket": "Vectors",
                "to_node": "Circle (Curve).001",
                "to_socket": "Center"
            }
        ]
    }
}
