nodeslicer/doc/nodes_list_behavior.csv
2026-10-12 16:23:02 +03:00

19 KiB

1TypeCategoryNode NameClass NameFileArchetypeFirst Input SocketOther Input SocketsOutput Socket(s)First Input ShapeOutput ShapeSingle Item BehaviorList Behavior
2ObjectList Joiners (New)Objects to ListSLICENODE_ObjectsToListcore/nodeslicer/nodes/inputs.pyList JoinerMulti-input NodeSocketObject (Object)NoneNodeSocketObject (Objects)Standard / LISTFixed LISTWraps single item into a 1-element list [Obj1]Flattens incoming lists and combines all objects into list[bpy.types.Object]. Output appearance is LIST.
3MeshList Joiners (New)Meshes to ListSLICENODE_MeshesToListcore/nodeslicer/nodes/mesh.pyList JoinerMulti-input SLICESOCK_Mesh (Mesh)NoneSLICESOCK_Mesh (Meshes)Standard / LISTFixed LISTWraps single mesh into a 1-element list [Mesh1]Flattens incoming lists and bundles all meshes into list[SlicingCollection]. Output appearance is LIST.
4PathList Joiners (New)Paths to ListSLICENODE_PathsToListcore/nodeslicer/nodes/path.pyList JoinerMulti-input SLICESOCK_Paths (Paths)NoneSLICESOCK_Paths (Paths)Standard / LISTFixed LISTWraps single path into a 1-element list [Path1]Flattens incoming lists and bundles all toolpaths into list[SlicePaths]. Output appearance is LIST.
5GcodeList Joiners (New)Gcodes to ListSLICENODE_GcodesToListcore/nodeslicer/nodes/gcode.pyList JoinerMulti-input NodeSocketString (Gcode)NoneNodeSocketString (Gcode)Standard / LISTFixed LISTWraps single G-code string into a 1-element list [Gcode1]Flattens incoming lists and bundles all G-code blocks into list[str]. Output appearance is LIST.
6MeshExisting JoinersJoin Mesh PartsSLICENODE_JoinMeshcore/nodeslicer/nodes/mesh.pyData Joiner (Flattener)Multi-input SLICESOCK_Mesh (Mesh)NoneSLICESOCK_Mesh (Mesh)Dynamic (Displays LIST if linked to list)Standard (CIRCLE)Merges multiple mesh inputs into one SlicingCollectionFlattens incoming lists when joining (e.g. [M1, M2] + M3 -> M1 + M2 + M3). Output is a single merged mesh (CIRCLE).
7MeshExisting JoinersJoin Mesh GroupsSLICENODE_JoinMeshGroupscore/nodeslicer/nodes/mesh.pyData Joiner (Flattener)Multi-input SLICESOCK_Mesh (Mesh)NoneSLICESOCK_Mesh (Mesh)Dynamic (Displays LIST if linked to list)Standard (Group)Bundles multiple SlicingCollections into a SlicingGroupFlattens incoming lists of collections into a single SlicingGroup.
8GcodeExisting JoinersJoin GcodeSLICENODE_JoinGcodecore/nodeslicer/nodes/gcode.pyData Joiner (Flattener)Multi-input NodeSocketString (Gcode)NoneNodeSocketString (Gcode)Dynamic (Displays LIST if linked to list)Standard (CIRCLE)Concatenates multiple G-code strings with newline '\n'Flattens incoming G-code lists and strings, concatenating all sequentially into a single G-code string (CIRCLE).
9ObjectGeometry & MeshGet MeshSLICENODE_GetMeshcore/nodeslicer/nodes/mesh.pyElement-wise OperatorNodeSocketObject (Object)include_children (prop)SLICESOCK_Mesh (Mesh)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Converts single Object into SlicingCollectionFirst input is list [Obj1, Obj2, ...]. Converts each element into SlicingCollection. Output is [Mesh1, Mesh2, ...]. Both sockets switch to LIST.
10ObjectPath ProcessingGet PathsSLICENODE_GetPathscore/nodeslicer/nodes/path.pyElement-wise OperatorNodeSocketObject (Object)Extrusion/Feedrate/Extra Attributes (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Extracts mesh edges as SlicePathsFirst input is list [Obj1, Obj2, ...]. Extracts toolpaths for each object using the same attribute settings. Output is [Paths1, Paths2, ...]. Both sockets switch to LIST.
11MeshGeometry & MeshRename MeshSLICENODE_RenameMeshcore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Geometry)NodeSocketString Name (cannot be list)SLICESOCK_Mesh (Geometry)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Renames geometry using name templateFirst input is list [Mesh1, Mesh2, ...]. Renames each mesh using the same name template. Output is [Renamed1, Renamed2, ...]. Sockets switch to LIST.
12MeshGeometry & MeshTransform GeometrySLICENODE_TransformGeometrycore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Geometry (Geometry)Translation, Rotation, Scale (cannot be list)SLICESOCK_Geometry (Geometry)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Transforms single Mesh or Paths by T, R, SFirst input is list [G1, G2, ...]. Transforms each item using the same T, R, S values. Output is [T(G1), T(G2), ...]. Sockets switch to LIST.
13MeshGeometry & MeshDrop GeometrySLICENODE_DropGeometrycore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Mesh)NodeSocketFloat Z (cannot be list)SLICESOCK_Mesh (Mesh), NodeSocketVector (Translation)Dynamic (Changes to LIST if input is list)Dynamic (Both outputs change to LIST if input is list)Translates mesh to target minimum Z; outputs dropped mesh and (0,0,dz)First input is list [Mesh1, Mesh2, ...]. Drops each mesh independently to the same target Z. Outputs are [Dropped1, Dropped2, ...] and [T1, T2, ...]. Sockets switch to LIST.
14MeshGeometry & MeshSeparate MeshSLICENODE_SeparateMeshcore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Mesh)Attribute (String), Value (Float) (cannot be list)Selection (Mesh), Inverted (Mesh)Dynamic (Changes to LIST if input is list)Dynamic (Both outputs change to LIST if input is list)Splits collection into Selection and Inverted based on attribute conditionFirst input is list [Mesh1, Mesh2, ...]. Applies separation to each mesh using same attribute/value. Outputs are Selection: [Sel1, Sel2, ...] and Inverted: [Inv1, Inv2, ...]. Sockets switch to LIST.
15MeshGeometry & MeshSeparate Mesh by RangeSLICENODE_SeparateMeshByRangecore/nodeslicer/nodes/mesh.pyElement-wise DemuxSLICESOCK_Mesh (Mesh)Attribute, Start, End (cannot be list)Dynamic numeric sockets '0', '1', ...Dynamic (Changes to LIST if input is list)Dynamic (All outputs change to LIST if input is list)Splits single mesh into multiple output sockets across integer range Start..EndFirst input is list [Mesh1, Mesh2, ...]. For each range output socket, delivers list of matching parts across all meshes: e.g. socket '0' gets [Mesh1_0, Mesh2_0, ...]. Outputs switch to LIST.
16MeshGeometry & MeshArrange Slicing GroupSLICENODE_ArrangeMeshcore/nodeslicer/nodes/mesh.pyMulti-Entity PackerSLICESOCK_Mesh (Slicing Group)Bed X, Bed Y, Spacing, Method, Allow Rotations (cannot be list)SLICESOCK_Mesh (Slicing Group)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Nests collections in SlicingGroup on build plate using libnest2dFirst input is list [Mesh1, Mesh2, ...]. Packs all meshes in the list simultaneously on the build plate without collisions. Output is [Mesh1_packed, Mesh2_packed, ...]. Sockets switch to LIST.
17MeshPDF ExporterAssign PDF PropertiesSLICENODE_AssignPdfPropertiescore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Geometry)Line Width, Line Color, Show Name (cannot be list)SLICESOCK_Mesh (Geometry)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Attaches stroke line width and color metadata to geometryFirst input is list [G1, G2, ...]. Attaches the same stroke properties to each item in the list. Output is [G1', G2', ...]. Sockets switch to LIST.
18MeshPDF ExporterAssign PDF Object PropertiesSLICENODE_AssignPropertyToObjectcore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Geometry)Settings (cannot be list)SLICESOCK_Mesh (Geometry)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Attaches property callouts to geometry for PDF drawing tablesFirst input is list [G1, G2, ...]. Attaches property callouts to each item in the list. Output is [G1', G2', ...]. Sockets switch to LIST.
19MeshPath ProcessingSlice ShellsSLICENODE_SliceShellscore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Mesh (Mesh)Layer Height, First Layer Height, Rotation, Ignore Holes (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Slices single mesh into 2D SlicePaths polygonsFirst input is list [Mesh1, Mesh2, ...]. Slices each mesh independently using the same layer parameters. Output is [Paths1, Paths2, ...]. Sockets switch to LIST.
20MeshPDF ExporterMesh to PDFSLICENODE_MeshToPdfcore/nodeslicer/nodes/output.pyBatch SinkSLICESOCK_Mesh (Geometry) or SLICESOCK_Paths (Paths)Folder, Settings, Template, Header, Margins (cannot be list)Execution LinkDynamic (Displays LIST if input is list)Standard Execution LinkRenders orthographic 1:1 scale vector PDF drawingFirst input is list [Geom1, Geom2, ...]. Renders and exports a separate PDF file for each item using the same settings and naming template.
21PathPath ProcessingBuffer ShellsSLICENODE_BufferShellscore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Distance, Rotation, Miter (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Offsets 2D closed polygon boundaries by distanceFirst input is list [P1, P2, ...]. Buffers each path block using the same distance. Output is [Buf(P1), Buf(P2), ...]. Sockets switch to LIST.
22PathPath ProcessingBuffer CurveSLICENODE_BufferCurvecore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Distance, Cap Style, Join Style, Single Sided, Rotation (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Dilates open or closed curves by distanceFirst input is list [P1, P2, ...]. Buffers each curve using the same parameters. Output is [Buf(P1), Buf(P2), ...]. Sockets switch to LIST.
23PathPath ProcessingOffset CurveSLICENODE_OffsetCurvecore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Distance, Join Style, Rotation (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Generates parallel offset curves using ShapelyFirst input is list [P1, P2, ...]. Offsets each curve using the same distance. Output is [Off(P1), Off(P2), ...]. Sockets switch to LIST.
24PathPath ProcessingPath OffsetSLICENODE_PathOffsetcore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Offset Vector (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Translates toolpaths by 3D XYZ vectorFirst input is list [P1, P2, ...]. Translates each path set by the same vector. Output is [P1 + V, P2 + V, ...]. Sockets switch to LIST.
25PathPath ProcessingRotate PathSLICENODE_RotatePathcore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Angle, Center (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Rotates toolpaths around Z axis at center pointFirst input is list [P1, P2, ...]. Rotates each path set by the same angle around the center. Output is [Rot(P1), Rot(P2), ...]. Sockets switch to LIST.
26PathPath ProcessingBuffer Shells MultipleSLICENODE_BufferShellsMultiplecore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Distance, Width Step, Count, Rotation, Miter (cannot be list)Paths, Outermost Path, Innermost PathDynamic (Changes to LIST if input is list)Dynamic (All 3 outputs change to LIST if input is list)Generates multiple concentric perimeter passes, plus outermost and innermost boundariesFirst input is list [P1, P2, ...]. Computes concentric passes per item using same distance/step/count. Outputs are [Passes1, Passes2, ...], [Out1, Out2, ...], [In1, In2, ...]. All outputs switch to LIST.
27PathPath ProcessingInfillSLICENODE_Infillcore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Density, Infill Rotation, Layer Rotation, Infill Type (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Generates infill pattern clipped to boundary pathsFirst input is list [P1, P2, ...]. Generates infill for each boundary block using the same density and rotation. Output is [Inf(P1), Inf(P2), ...]. Sockets switch to LIST.
28PathPath ProcessingOverhang MaskSLICENODE_OverhangMaskcore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Tolerance (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Calculates downward accumulated overhang mask across layersFirst input is list [P1, P2, ...]. Calculates overhang mask for each path set using the same tolerance. Output is [Mask(P1), Mask(P2), ...]. Sockets switch to LIST.
29PathPath ProcessingSimplify PathsSLICENODE_SimplifyPathscore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Tolerance, Preserve Topology (cannot be list)SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Simplifies toolpath vertices using Douglas-Peucker algorithmFirst input is list [P1, P2, ...]. Simplifies each path set using the same tolerance. Output is [Simp(P1), Simp(P2), ...]. Sockets switch to LIST.
30PathPath ProcessingSeam PlacementSLICENODE_SeamPlacementcore/nodeslicer/nodes/path.pyPrimary-List OperationSLICESOCK_Paths (Paths) [Can be a list]SLICESOCK_Mesh (Cutting Mesh), Seam Staggering, Mode, Acquire Transforms [Cannot be a list]SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Repositions start seams of closed paths to intersection points with cutting meshFirst input is list [P1, P2, ...]. Other inputs cannot be a list. The seam placement operation is done for each element P_i of the list using the same cutting mesh and parameters. Output is [P1', P2', ...]. Sockets switch to LIST.
31PathPath ProcessingPath OperationsSLICENODE_PathOperationscore/nodeslicer/nodes/path.pyPrimary-List OperationInput 0: SLICESOCK_Paths (Paths) [Can be a list]Inputs 1..N: SLICESOCK_Paths (Paths), connect_along_boundary [Cannot be a list]SLICESOCK_Paths (Paths)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Performs Zip, Extend, Max Coverage (Union), Min Coverage, Intersect, Subtract, or XOR across inputsThe first input can be a list [P1, P2, ...], and the other inputs cannot be a list (Q1, Q2...). The operation (Zip, Extend, Union, Subtract, Intersect, etc.) is done for each element of the list using the same other inputs: [op(P1, Q...), op(P2, Q...), ...]. Output is [R1, R2, ...]. Sockets switch to LIST.
32PathG-code ProcessingPaths to GcodeSLICENODE_PathsToGcodecore/nodeslicer/nodes/gcode.pyElement-wise OperatorSLICESOCK_Paths (Paths)SLICESOCK_Intrinsics (Intrinsics), Header (cannot be list)NodeSocketString (Gcode)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Converts single SlicePaths into standard G-code string via PatherFirst input is list [P1, P2, ...]. Converts each toolpath block into a G-code string using the same intrinsics. Output is [Gcode1, Gcode2, ...]. Sockets switch to LIST.
33GcodeG-code ProcessingGcode Regex ReplaceSLICENODE_GcodeRegexReplacecore/nodeslicer/nodes/gcode.pyElement-wise OperatorNodeSocketString (Gcode)Find, Replace (cannot be list)NodeSocketString (Gcode)Dynamic (Changes to LIST if input is list)Dynamic (Changes to LIST if input is list)Runs regex find & replace on G-code stringFirst input is list [G1, G2, ...]. Runs regex search and replace on each G-code string using the same pattern. Output is [G1', G2', ...]. Sockets switch to LIST.
34GcodeAction & I/OGcode to FileSLICENODE_GcodeToFilecore/nodeslicer/nodes/output.pyBatch SinkNodeSocketString (Gcode) [Can be a list or multi-input]Folder, Name (cannot be list)Execution LinkDynamic (Displays LIST if input is list)Standard Execution LinkSaves G-code string to .gcode or .bgcode file on diskFirst input is list [G1, G2, ...]. Saves a separate file for each element using the same folder/name template with zero-padded numbering (Part00.gcode, Part01.gcode) or metadata names.
35GcodeAction & I/OGcode to Text BlockSLICENODE_GcodeToTextBlockcore/nodeslicer/nodes/output.pyBatch SinkNodeSocketString (Gcode) [Can be a list]Text Block Name (cannot be list)Execution LinkDynamic (Displays LIST if input is list)Standard Execution LinkWrites G-code string to an active Blender text editor data-blockFirst input is list [G1, G2, ...]. Writes separate numbered Blender text blocks (NodeSlicer_00.gcode, NodeSlicer_01.gcode) using the base name.
36GcodeAction & I/OStart PrintSLICENODE_StartPrintcore/nodeslicer/nodes/output.pySingle Item SinkNodeSocketString (Gcode) [Single item only]SLICESOCK_Printer (Single item only)Execution LinkStandard (CIRCLE)Standard Execution LinkUploads and starts print on network printerList is not accepted. Sockets reject list connections and evaluate() reports an error if a list is received.
37GcodeAction & I/OBaserow SubmitSLICENODE_BaserowSubmitcore/nodeslicer/nodes/output.pyBatch SinkNodeSocketString (Gcode) [Can be a list or multi-input]Settings, Host, Token, Table ID, Record ID (cannot be list)Execution LinkDynamic (Displays LIST if input is list)Standard Execution LinkUploads G-code attachment and creates/updates row in Baserow databaseFirst input is list [G1, G2, ...]. Submits each G-code as a separate record and attachment in Baserow using the same database credentials.
38GcodeAction & I/OAirtable SubmitSLICENODE_AirtableSubmitcore/nodeslicer/nodes/output.pyBatch SinkNodeSocketString (Gcode) [Can be a list or multi-input]Settings, PAT File, Base ID, Table ID, Record ID (cannot be list)Execution LinkDynamic (Displays LIST if input is list)Standard Execution LinkUploads G-code attachment and creates/updates row in Airtable baseFirst input is list [G1, G2, ...]. Submits each G-code as a separate record and attachment in Airtable using the same database credentials.
39GcodeAction & I/OGcode to Preview MeshSLICENODE_GcodeToMeshcore/nodeslicer/nodes/preview.pyBatch SinkNodeSocketString (Gcode) [Can be a list or multi-input]Name, show_e_0 (cannot be list)Execution LinkDynamic (Displays LIST if input is list)Standard Execution LinkDecodes toolpaths and reconstructs 3D wireframe preview mesh object in BlenderFirst input is list [G1, G2, ...]. Generates a separate preview mesh object in the scene (Preview00, Preview01, ...) for each G-code in the list.
40GcodeAction & I/OPrinter ListSLICENODE_PrinterListcore/nodeslicer/nodes/system.pySingle Item SinkDynamic G-code sockets per printer [Single item only]Config File JSON (cannot be list)Execution LinkStandard (CIRCLE)Standard Execution LinkSends G-code to corresponding printer defined in config JSONList is not accepted. Sockets reject list connections and evaluate() ignores list inputs.