nodeslicer/doc/nodes_list_behavior.csv

20 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 (single or matching 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, ...]. Secondary inputs are matched index-per-index or broadcast if single value. Output is [Paths1, Paths2, ...]. Both sockets switch to LIST.
11MeshGeometry & MeshRename MeshSLICENODE_RenameMeshcore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Geometry)NodeSocketString Name (single or matching 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, ...]. Names are matched index-per-index or broadcast if single value. Output is [Renamed1, Renamed2, ...]. Sockets switch to LIST.
12MeshGeometry & MeshTransform GeometrySLICENODE_TransformGeometrycore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Geometry (Geometry)Translation, Rotation, Scale (single or matching 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 matching T, R, S values index-per-index (or broadcast if single value). Output is [T(G1), T(G2), ...]. Sockets switch to LIST.
13MeshGeometry & MeshGet TransformsSLICENODE_GetTransformscore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Geometry (Geometry)NoneNodeSocketVector (Translation), NodeSocketRotation (Rotation), NodeSocketVector (Scale)Dynamic (Changes to LIST if input is list)Dynamic (All outputs change to LIST if input is list)Extracts consolidated Translation, Rotation, and Scale from geometryInput is list [G1, G2, ...]. Extracts T, R, S for each item. Outputs are [T1, T2, ...], [R1, R2, ...], and [S1, S2, ...]. Sockets switch to LIST.
14MeshGeometry & MeshDrop GeometrySLICENODE_DropGeometrycore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Mesh)NodeSocketFloat Z (single or matching 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, ...]. Target Z values are matched index-per-index (or broadcast if single value). Outputs are [Dropped1, Dropped2, ...] and [T1, T2, ...]. Sockets switch to LIST.
15MeshGeometry & MeshSeparate MeshSLICENODE_SeparateMeshcore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Mesh)Attribute (String), Value (Float) (single or matching 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, ...]. Secondary inputs are matched index-per-index or broadcast if single value. Outputs are Selection: [Sel1, ...] and Inverted: [Inv1, ...]. Sockets switch to LIST.
16MeshGeometry & MeshSeparate Mesh by RangeSLICENODE_SeparateMeshByRangecore/nodeslicer/nodes/mesh.pyElement-wise DemuxSLICESOCK_Mesh (Mesh)Attribute, Start, End (single or matching 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, ...]. Secondary inputs are matched index-per-index or broadcast if single value. 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.
17MeshGeometry & 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.
18MeshPDF ExporterAssign PDF PropertiesSLICENODE_AssignPdfPropertiescore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Geometry)Line Width, Line Color, Show Name (single or matching 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, ...]. Secondary properties are matched index-per-index or broadcast if single value. Output is [G1', G2', ...]. Sockets switch to LIST.
19MeshPDF ExporterAssign PDF Object PropertiesSLICENODE_AssignPropertyToObjectcore/nodeslicer/nodes/mesh.pyElement-wise OperatorSLICESOCK_Mesh (Geometry)Settings (single or matching 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, ...]. Secondary properties are matched index-per-index or broadcast if single value. Output is [G1', G2', ...]. Sockets switch to LIST.
20MeshPath ProcessingSlice ShellsSLICENODE_SliceShellscore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Mesh (Mesh)Layer Height, First Layer Height, Rotation, Ignore Holes (single or matching 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, ...]. Secondary parameters are matched index-per-index or broadcast if single value. Output is [Paths1, Paths2, ...]. Sockets switch to LIST.
21MeshPDF 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.
22PathPath ProcessingBuffer ShellsSLICENODE_BufferShellscore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Distance, Rotation, Miter (single or matching 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, ...]. Secondary parameters are matched index-per-index or broadcast if single value. Output is [Buf(P1), Buf(P2), ...]. Sockets switch to LIST.
23PathPath ProcessingBuffer CurveSLICENODE_BufferCurvecore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Distance, Cap Style, Join Style, Single Sided, Rotation (single or matching 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, ...]. Secondary parameters are matched index-per-index or broadcast if single value. Output is [Buf(P1), Buf(P2), ...]. Sockets switch to LIST.
24PathPath ProcessingOffset CurveSLICENODE_OffsetCurvecore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Distance, Join Style, Rotation (single or matching 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, ...]. Secondary parameters are matched index-per-index or broadcast if single value. Output is [Off(P1), Off(P2), ...]. Sockets switch to LIST.
25PathPath ProcessingPath OffsetSLICENODE_PathOffsetcore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Offset Vector (single or matching 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, ...]. Offset vectors are matched index-per-index or broadcast if single value. Output is [P1 + V1, P2 + V2, ...]. Sockets switch to LIST.
26PathPath ProcessingRotate PathSLICENODE_RotatePathcore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Angle, Center (single or matching 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, ...]. Angle/center are matched index-per-index or broadcast if single value. Output is [Rot(P1), Rot(P2), ...]. Sockets switch to LIST.
27PathPath ProcessingBuffer Shells MultipleSLICENODE_BufferShellsMultiplecore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Distance, Width Step, Count, Rotation, Miter (single or matching 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 matching distance/step/count index-per-index (or broadcast if single value). Outputs are [Passes1, ...], [Out1, ...], [In1, ...]. All outputs switch to LIST.
28PathPath ProcessingInfillSLICENODE_Infillcore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Density, Infill Rotation, Layer Rotation, Infill Type (single or matching 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, ...]. Density/rotation parameters are matched index-per-index or broadcast if single value. Output is [Inf(P1), Inf(P2), ...]. Sockets switch to LIST.
29PathPath ProcessingOverhang MaskSLICENODE_OverhangMaskcore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Tolerance (single or matching 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, ...]. Tolerance values are matched index-per-index or broadcast if single value. Output is [Mask(P1), Mask(P2), ...]. Sockets switch to LIST.
30PathPath ProcessingSimplify PathsSLICENODE_SimplifyPathscore/nodeslicer/nodes/path.pyElement-wise OperatorSLICESOCK_Paths (Paths)Tolerance, Preserve Topology (single or matching 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, ...]. Tolerance values are matched index-per-index or broadcast if single value. Output is [Simp(P1), Simp(P2), ...]. Sockets switch to LIST.
31PathPath ProcessingSeam PlacementSLICENODE_SeamPlacementcore/nodeslicer/nodes/path.pyPrimary-List OperationSLICESOCK_Paths (Paths) [Can be a list]SLICESOCK_Mesh (Cutting Mesh), Seam Staggering, Mode, Acquire Transforms (single or matching 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, ...]. Cutting meshes and staggering are matched index-per-index (or broadcast if single value). Output is [P1', P2', ...]. Sockets switch to LIST.
32PathPath 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, Acquire Transforms (single or matching 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 inputsFirst input is list [P1, P2, ...]. Other inputs can be single values (broadcast) or lists of equal length matched index-per-index: [op(P1, Q1...), op(P2, Q2...), ...]. Output is [R1, R2, ...]. Sockets switch to LIST.
33PathG-code ProcessingPaths to GcodeSLICENODE_PathsToGcodecore/nodeslicer/nodes/gcode.pyElement-wise OperatorSLICESOCK_Paths (Paths)SLICESOCK_Intrinsics (Intrinsics), Header (single or matching 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, ...]. Intrinsics and header are matched index-per-index or broadcast if single value. Output is [Gcode1, Gcode2, ...]. Sockets switch to LIST.
34PathG-code ProcessingGcode Regex ReplaceSLICENODE_GcodeRegexReplacecore/nodeslicer/nodes/gcode.pyElement-wise OperatorNodeSocketString (Gcode)Find, Replace (single or matching 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, ...]. Find/replace patterns are matched index-per-index or broadcast if single value. Output is [G1', G2', ...]. Sockets switch to LIST.
35GcodeAction & I/OGcode to FileSLICENODE_GcodeToFilecore/nodeslicer/nodes/output.pyBatch SinkNodeSocketString (Gcode) [Can be a list or multi-input]Folder, Name (single or matching 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, ...]. Names are matched index-per-index (or broadcast if single value/empty). Saves a separate file for each element.
36GcodeAction & 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.
37GcodeAction & 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.
38GcodeAction & 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.
39GcodeAction & 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.
40GcodeAction & 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.
41GcodeAction & 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.