From 36e11cdd49d1e3a652bd22e5c252146b280be53c Mon Sep 17 00:00:00 2001 From: Nicolas Predella Date: Wed, 6 May 2026 20:55:56 +0300 Subject: [PATCH] inclined infill + gn preview --- __init__.py | 181 ++++++++++++++++++++++++++++++++------------------ core/slice.py | 178 ++++++++++++++++++++++++++++++++++++++++++------- doc/NODES.md | 21 ++---- nodes.blend | Bin 0 -> 1083587 bytes 4 files changed, 277 insertions(+), 103 deletions(-) create mode 100644 nodes.blend diff --git a/__init__.py b/__init__.py index bce2c52..af254e8 100644 --- a/__init__.py +++ b/__init__.py @@ -1,6 +1,6 @@ from __future__ import annotations from numpy._typing._array_like import NDArray -from numpy import float64 +from numpy import float64, ndarray bl_info = { "name": "NodeSlicer", @@ -13,7 +13,6 @@ bl_info = { } from math import floor -from itertools import zip_longest from typing import TYPE_CHECKING, Any import bpy import os @@ -25,7 +24,7 @@ from bpy.props import PointerProperty, StringProperty, FloatProperty, IntPropert from .registry import register_class from .core import slice -from .core.slice import Pather, slice_at_range +from .core.slice import Pather, slice_at_range, SlicePaths from .infra.blender_mesh_capture import SlicingObject, capture_mesh_edges from .infra.blender_slice_nodes_generic import SliceNode, SliceNodeSocket, resolve_input @@ -44,6 +43,8 @@ class SliceIntrinsics: self.feedrate = feedrate self.extrusion_rate = extrusion_rate + + # ----------------------------------------------------------------------------- # Node tree # ----------------------------------------------------------------------------- @@ -125,11 +126,15 @@ class SLICESOCK_String(InputNodeSocket): color = (0.4, 0.7, 1.0, 1.0) @register_class -class SLICESOCK_Vector(InputNodeSocket): - bl_label = "Vector" +class SLICESOCK_VectorRotation_Common(InputNodeSocket): + bl_label = "VectorRotation" value: bpy.props.FloatVectorProperty(name="Vector", size=3, default=(0.0, 0.0, 0.0), subtype='EULER') # pyright: ignore[reportInvalidTypeForm] color = (0.39, 0.39, 0.78, 1.0) +@register_class +class SLICESOCK_VectorRotation(SLICESOCK_VectorRotation_Common): ... +@register_class +class SLICESOCK_VectorRotationRo(ReadonlySocket, SLICESOCK_VectorRotation_Common): ... @register_class class SLICESOCK_Mesh(LabelNodeSocket): @@ -137,16 +142,10 @@ class SLICESOCK_Mesh(LabelNodeSocket): default = None color = (0, 214/255, 163/255, 1.0) -@register_class -class SLICESOCK_Slices(LabelNodeSocket): - bl_label = "Slices" - default = [] - color = (0, 214/255, 96/255, 1.0) - @register_class class SLICESOCK_Paths(LabelNodeSocket): bl_label = "Paths" - default = [] + default = SlicePaths() color = (214/255, 0, 120/255, 1.0) @register_class @@ -192,6 +191,10 @@ class SLICENODE_InputFloat(InputNode): class SLICENODE_InputInt(InputNode): input_type = "Int" +@register_class +class SLICENODE_InputVectorRotation(InputNode): + input_type = "VectorRotation" + @register_class class SLICENODE_InputObject(InputNode): input_type = "Object" @@ -312,12 +315,12 @@ class SLICENODE_GetPaths(SliceNode): self.add_input("SLICESOCK_Object") self.add_output("SLICESOCK_Paths") - def evaluate_output(self, socket_name: str, **_kwargs) -> list[np.ndarray]: + def evaluate_output(self, socket_name: str, **_kwargs) -> SlicePaths: obj: Any = resolve_input(self.inputs.get("Object")) - so: list[NDArray[float64]] = capture_mesh_edges(obj) + so: list[np.ndarray] = capture_mesh_edges(obj) - return so + return SlicePaths(so) @register_class class SLICENODE_SliceShells(SliceNode): @@ -326,15 +329,15 @@ class SLICENODE_SliceShells(SliceNode): def init(self, context): self.add_input("SLICESOCK_Mesh") self.add_input("SLICESOCK_Float", "Layer Height").value = 0.2 - self.add_output("SLICESOCK_Slices") + self.add_output("SLICESOCK_Paths") - def evaluate_output(self, socket_name: str, **_kwargs) -> list[np.ndarray]: - if socket_name != "Slices": return [] + def evaluate_output(self, socket_name: str, **_kwargs) -> SlicePaths: + if socket_name != "Paths": return SlicePaths() slicingmesh: SlicingObject | None = resolve_input(self.inputs.get("Mesh")) layer_height: float = resolve_input(self.inputs.get("Layer Height")) - if not slicingmesh: return [] + if not slicingmesh: return SlicePaths() min = slicingmesh.mesh[:,0:3,2:3].min() min = floor(min / layer_height) * layer_height @@ -346,7 +349,7 @@ class SLICENODE_SliceShells(SliceNode): assert slices_group slices = slices_group[0] - return slices + return SlicePaths(slices) @register_class class SLICENODE_BufferShells(SliceNode): @@ -362,54 +365,86 @@ class SLICENODE_BufferShells(SliceNode): ) # pyright: ignore[reportInvalidTypeForm] def init(self, context): - self.add_input("SLICESOCK_Slices") + self.add_input("SLICESOCK_Paths") self.add_input("SLICESOCK_Float", "Distance").value = 0 - self.add_input("SLICESOCK_Vector", "Rotation") - self.add_output("SLICESOCK_Slices") + self.add_input("SLICESOCK_VectorRotation", "Rotation") + self.add_output("SLICESOCK_Paths") def draw_buttons(self, context, layout): assert layout layout.prop(self, "shape_option") - def evaluate_output(self, socket_name: str, **_kwargs) -> list[np.ndarray]: - if socket_name != "Slices": return [] + def evaluate_output(self, socket_name: str, **_kwargs) -> SlicePaths: + if socket_name != "Paths": return SlicePaths() - slices: list[np.ndarray] = resolve_input(self.inputs.get("Slices")) + paths: SlicePaths = resolve_input(self.inputs.get("Paths")) distance: float = resolve_input(self.inputs.get("Distance")) or 0.0 rotation: Any = resolve_input(self.inputs.get("Rotation")) or (0.0, 0.0, 0.0) - if not slices: return [] + if not paths: return SlicePaths() if any(rotation): # De-rotate shells to Z-perpendicular plane mat = Euler(rotation).to_matrix().inverted() mat_np = np.array(mat) - de_rotated_slices = [s @ mat_np.T for s in slices] + prepared_paths = [s @ mat_np.T for s in paths] + else: + prepared_paths = paths - # Buffer - buffered_slices = slice.buffer_slice(de_rotated_slices, distance, miter=self.shape_option) + # Buffer + res_paths, res_groups = slice.buffer_slice(prepared_paths, distance, miter=self.shape_option) + if any(rotation): # Re-rotate shells back mat_inv = Euler(rotation).to_matrix() mat_inv_np = np.array(mat_inv) - re_rotated_slices = [s @ mat_inv_np.T for s in buffered_slices] - return re_rotated_slices + final_paths = [s @ mat_inv_np.T for s in res_paths] + else: + final_paths = res_paths - buffered_slices = slice.buffer_slice(slices, distance, miter=self.shape_option) - - return buffered_slices + return SlicePaths(final_paths, res_groups) @register_class -class SLICENODE_SlicesToPaths(SliceNode): - bl_label = "Slices to Paths" +class SLICENODE_Infill(SliceNode): + bl_label = "Infill" def init(self, context): - self.add_input("SLICESOCK_Slices") + self.add_input("SLICESOCK_Paths") + self.add_input("SLICESOCK_Float", "Density").value = 2.0 + self.add_input("SLICESOCK_Float", "Infill Rotation").value = 0.0 + self.add_input("SLICESOCK_VectorRotation", "Layer Rotation") self.add_output("SLICESOCK_Paths") - def evaluate_output(self, socket_name: str, **_kwargs) -> list[np.ndarray]: - slices: list[np.ndarray] = resolve_input(self.inputs.get("Slices")) - return slices + def evaluate_output(self, socket_name: str, **_kwargs) -> SlicePaths: + if socket_name != "Paths": return SlicePaths() + + paths: SlicePaths = resolve_input(self.inputs.get("Paths")) + density: float = resolve_input(self.inputs.get("Density")) or 2.0 + infill_rotation: float = resolve_input(self.inputs.get("Infill Rotation")) or 0.0 + rotation: Any = resolve_input(self.inputs.get("Layer Rotation")) or (0.0, 0.0, 0.0) + + if not paths: return SlicePaths() + + p: SlicePaths + if any(rotation): + # De-rotate shells to Z-perpendicular plane + mat = Euler(rotation).to_matrix().inverted() + mat_np = np.array(mat) + p = SlicePaths([s @ mat_np.T for s in paths], paths.groups) + else: + p = paths + + res_paths, res_groups = slice.infill_slice(p, density, rotation_deg=infill_rotation) + + if any(rotation): + # Re-rotate shells back + mat_inv = Euler(rotation).to_matrix() + mat_inv_np = np.array(mat_inv) + p = SlicePaths([s @ mat_inv_np.T for s in res_paths], res_groups) + else: + p = SlicePaths(res_paths, res_groups) + + return p @register_class class SLICENODE_PathsToGcode(SliceNode): @@ -494,7 +529,7 @@ class SLICENODE_JoinGcode(SliceNodeJoiner): @register_class class SLICENODE_JoinSlices(SliceNodeJoiner): bl_label = "Join Slices" - socket_type = "SLICESOCK_Slices" + socket_type = "SLICESOCK_Paths" operation: bpy.props.EnumProperty( name="Operation", @@ -511,22 +546,25 @@ class SLICENODE_JoinSlices(SliceNodeJoiner): assert layout layout.prop(self, "operation", text="") - def evaluate_output(self, socket_name: str, **_kwargs) -> list[np.ndarray]: - accumulated: list[np.ndarray] = [] - current: list[np.ndarray] = [] + def evaluate_output(self, socket_name: str, **_kwargs) -> SlicePaths: + accumulated: SlicePaths = SlicePaths() + current: SlicePaths = SlicePaths() for input in self.inputs: - current =resolve_input(input) + current = resolve_input(input) if not current: continue if not accumulated: accumulated = current - current = [] + current = SlicePaths() continue - accumulated = slice.boolean_slice(accumulated, current, self.operation) - current = [] + # Boolean operation loses specific per-segment grouping as it merges polygons. + # We return a new SlicePaths from the result. + res = slice.boolean_slice(accumulated, current, self.operation) + accumulated = SlicePaths(res) + current = SlicePaths() return accumulated @@ -563,31 +601,45 @@ class SLICENODE_JoinPaths(SliceNodeJoiner): assert layout layout.prop(self, "mode", text="") - def evaluate_output(self, socket_name: str, **_kwargs) -> list[np.ndarray]: - inputs_data: list[list[np.ndarray]] = [] + def evaluate_output(self, socket_name: str, **_kwargs) -> SlicePaths: + inputs_data: list[SlicePaths] = [] for input in self.inputs: paths = resolve_input(input) if paths: inputs_data.append(paths) if not inputs_data: - return [] + return SlicePaths() if self.mode == 'EXTEND': - merged_paths = [] + merged = SlicePaths() for paths in inputs_data: - merged_paths.extend(paths) - return merged_paths + merged.extend_with_groups(paths) + return merged elif self.mode == 'ZIP': - merged_paths = [] - for group in zip_longest(*inputs_data): - for path in group: - if path is not None: - merged_paths.append(path) - return merged_paths + # Group-based Zip: sequentially add each group from all inputs. + # E.g. Group 1 (In1), Group 1 (In2), Group 2 (In1), Group 2 (In2)... + all_groups = set() + grouped_inputs = [] + for p_list in inputs_data: + d = {} + for i, g in enumerate(p_list.groups): + all_groups.add(g) + d.setdefault(g, []).append(p_list[i]) + grouped_inputs.append(d) + + sorted_groups = sorted(list(all_groups)) + + merged = SlicePaths() + for g in sorted_groups: + for d in grouped_inputs: + group_paths = d.get(g, []) + for p in group_paths: + merged.append_with_group(p, g) + return merged - return [] + return SlicePaths() ### I/O @@ -778,6 +830,7 @@ class SLICENODE_MT_Menu(Menu): layout.operator("node.add_node", text="String").type = "SLICENODE_InputString" layout.operator("node.add_node", text="Float").type = "SLICENODE_InputFloat" layout.operator("node.add_node", text="Integer").type = "SLICENODE_InputInt" + layout.operator("node.add_node", text="Rotation").type = "SLICENODE_InputVectorRotation" layout.operator("node.add_node", text="Integer Math").type = "SLICENODE_IntMath" layout.operator("node.add_node", text="Object").type = "SLICENODE_InputObject" layout.operator("node.add_node", text="Printer Intrinsics").type = "SLICENODE_InputIntrinsics" @@ -787,7 +840,7 @@ class SLICENODE_MT_Menu(Menu): layout.separator() layout.operator("node.add_node", text="Slice Shells").type = "SLICENODE_SliceShells" layout.operator("node.add_node", text="Buffer Shells").type = "SLICENODE_BufferShells" - layout.operator("node.add_node", text="Slices to Paths").type = "SLICENODE_SlicesToPaths" + layout.operator("node.add_node", text="Infill").type = "SLICENODE_Infill" layout.operator("node.add_node", text="Paths to Gcode").type = "SLICENODE_PathsToGcode" layout.separator() layout.operator("node.add_node", text="Gcode Block").type = "SLICENODE_GcodeBlock" @@ -796,7 +849,7 @@ class SLICENODE_MT_Menu(Menu): layout.operator("node.add_node", text="Join Gcode").type = "SLICENODE_JoinGcode" layout.operator("node.add_node", text="Join Mesh").type = "SLICENODE_JoinMesh" layout.operator("node.add_node", text="Join Paths").type = "SLICENODE_JoinPaths" - layout.operator("node.add_node", text="Join Slices").type = "SLICENODE_JoinSlices" + layout.operator("node.add_node", text="Boolean Paths").type = "SLICENODE_JoinSlices" layout.separator() layout.operator("node.add_node", text="Gcode to File").type = "SLICENODE_GcodeToFile" layout.operator("node.add_node", text="Gcode to Mesh").type = "SLICENODE_GcodeToMesh" diff --git a/core/slice.py b/core/slice.py index 8c18476..9f4f943 100644 --- a/core/slice.py +++ b/core/slice.py @@ -1,11 +1,33 @@ +from __future__ import annotations from numpy import ndarray -from typing import Any import numpy as np import pyclipper # Scaling factor for pyclipper (it works with integers) SCALE = 1_000_000 +class SlicePaths(list[np.ndarray]): + groups: list[int] + + def __init__(self, paths: list[np.ndarray] = [], groups: list[int] = []): + super().__init__(paths) + + self.groups = [] + if groups: self.groups = list(groups) + else: self.groups = list(range(0,len(paths))) + + def extend_with_groups(self, other: SlicePaths | list[np.ndarray]): + if isinstance(other, SlicePaths): + self.extend(other) + self.groups.extend(other.groups) + else: + self.extend(other) + self.groups.extend(list(range(0,len(other)))) + + def append_with_group(self, path: np.ndarray, group: int = 0): + self.append(path) + self.groups.append(group) + def slice_at_range(models, z_values) -> list[list[np.ndarray]]: if not models: return [] @@ -146,7 +168,7 @@ def segments_to_slice(segments: np.ndarray) -> list[np.ndarray]: linked = link_segments(segments) if not linked: return [] - pc = pyclipper.Pyclipper() + pc = pyclipper.Pyclipper() # pyright: ignore[reportAttributeAccessIssue] for p in linked: # Pyclipper expects open paths (last point != first point) for ET_CLOSEDPOLYGON path_pts = p[:, :2] @@ -154,10 +176,10 @@ def segments_to_slice(segments: np.ndarray) -> list[np.ndarray]: path_pts = path_pts[:-1] scaled = (path_pts * SCALE).astype(np.int64).tolist() - pc.AddPath(scaled, pyclipper.PT_SUBJECT, closed = True) + pc.AddPath(scaled, pyclipper.PT_SUBJECT, closed = True) # pyright: ignore[reportAttributeAccessIssue] # Use EVENODD for robust hole detection. - solution = pc.Execute(pyclipper.CT_UNION, pyclipper.PFT_EVENODD, pyclipper.PFT_EVENODD) + solution = pc.Execute(pyclipper.CT_UNION, pyclipper.PFT_EVENODD, pyclipper.PFT_EVENODD) # pyright: ignore[reportAttributeAccessIssue] z = segments[0, 0, 2] res = [] @@ -205,28 +227,28 @@ def boolean_slice(subject: list[np.ndarray], object: list[np.ndarray], operation z = subject_slices[0][0, 2] - pc = pyclipper.Pyclipper() + pc = pyclipper.Pyclipper() # pyright: ignore[reportAttributeAccessIssue] # Subject for s in subject_slices: path_pts = s[:, :2] scaled = (path_pts * SCALE).astype(np.int64).tolist() - pc.AddPath(scaled, pyclipper.PT_SUBJECT, True) + pc.AddPath(scaled, pyclipper.PT_SUBJECT, True) # pyright: ignore[reportAttributeAccessIssue] # Object for s in object_slices: path_pts = s[:, :2] scaled = (path_pts * SCALE).astype(np.int64).tolist() - pc.AddPath(scaled, pyclipper.PT_CLIP, True) + pc.AddPath(scaled, pyclipper.PT_CLIP, True) # pyright: ignore[reportAttributeAccessIssue] # Determine operation type. For now only UNION is supported. - op_type = pyclipper.CT_UNION - if operation == 'UNION': op_type = pyclipper.CT_UNION - elif operation == 'INTERSECTION': op_type = pyclipper.CT_INTERSECTION - elif operation == 'DIFFERENCE': op_type = pyclipper.CT_DIFFERENCE - elif operation == 'XOR': op_type = pyclipper.CT_XOR + op_type = pyclipper.CT_UNION # pyright: ignore[reportAttributeAccessIssue] + if operation == 'UNION': op_type = pyclipper.CT_UNION # pyright: ignore[reportAttributeAccessIssue] + elif operation == 'INTERSECTION': op_type = pyclipper.CT_INTERSECTION # pyright: ignore[reportAttributeAccessIssue] + elif operation == 'DIFFERENCE': op_type = pyclipper.CT_DIFFERENCE # pyright: ignore[reportAttributeAccessIssue] + elif operation == 'XOR': op_type = pyclipper.CT_XOR # pyright: ignore[reportAttributeAccessIssue] - solution = pc.Execute(op_type, pyclipper.PFT_EVENODD, pyclipper.PFT_EVENODD) + solution = pc.Execute(op_type, pyclipper.PFT_EVENODD, pyclipper.PFT_EVENODD) # pyright: ignore[reportAttributeAccessIssue] for path in solution: if not path: continue @@ -237,9 +259,9 @@ def boolean_slice(subject: list[np.ndarray], object: list[np.ndarray], operation return results -def buffer_slice(slice_paths: list[np.ndarray], distance: float, miter='round', tolerance=.01) -> list[np.ndarray]: +def buffer_slice(slice_paths: list[np.ndarray], distance: float, miter='round', tolerance=.01) -> tuple[list[np.ndarray], list[int]]: - if not slice_paths: return [] + if not slice_paths: return [], [] # Group paths by Z height to avoid flattening the entire model into 2D groups: dict[int, list[np.ndarray]] = {} @@ -250,17 +272,19 @@ def buffer_slice(slice_paths: list[np.ndarray], distance: float, miter='round', groups.setdefault(z_key, []).append(p) join_types = { - 'round': pyclipper.JT_ROUND, - 'square': pyclipper.JT_SQUARE, - 'flat': pyclipper.JT_SQUARE, - 'miter': pyclipper.JT_MITER + 'round': pyclipper.JT_ROUND, # pyright: ignore[reportAttributeAccessIssue] + 'square': pyclipper.JT_SQUARE, # pyright: ignore[reportAttributeAccessIssue] + 'flat': pyclipper.JT_SQUARE, # pyright: ignore[reportAttributeAccessIssue] + 'miter': pyclipper.JT_MITER # pyright: ignore[reportAttributeAccessIssue] } - jt = join_types.get(miter, pyclipper.JT_ROUND) + jt = join_types.get(miter, pyclipper.JT_ROUND) # pyright: ignore[reportAttributeAccessIssue] - res = [] - pco = pyclipper.PyclipperOffset(arc_tolerance=tolerance * SCALE) + paths_list: list[np.ndarray] = [] + groups_list: list[int] = [] + pco = pyclipper.PyclipperOffset(arc_tolerance=tolerance * SCALE) # pyright: ignore[reportAttributeAccessIssue] # Buffer each layer independently + group_id = 0 for z_key in sorted(groups.keys()): layer_paths = groups[z_key] z = layer_paths[0][0, 2] @@ -279,7 +303,7 @@ def buffer_slice(slice_paths: list[np.ndarray], distance: float, miter='round', if not scaled_paths: continue # Add all paths for this specific Z layer - pco.AddPaths(scaled_paths, jt, pyclipper.ET_CLOSEDPOLYGON) + pco.AddPaths(scaled_paths, jt, pyclipper.ET_CLOSEDPOLYGON) # pyright: ignore[reportAttributeAccessIssue] solution = pco.Execute(distance * SCALE) for path in solution: @@ -288,9 +312,113 @@ def buffer_slice(slice_paths: list[np.ndarray], distance: float, miter='round', fpath_3d = np.column_stack([fpath, np.full(len(fpath), z)]) # Re-close loop fpath_3d = np.vstack([fpath_3d, fpath_3d[0]]) - res.append(fpath_3d) + paths_list.append(fpath_3d) + groups_list.append(group_id) + + group_id += 1 - return res + return paths_list, groups_list + +def infill_slice(slice_paths: 'SlicePaths', density: float, rotation_deg: float = 0.0) -> tuple[list[np.ndarray], list[int]]: + """Generates a grid infill clipped by the provided paths. Consistent across layers.""" + if not slice_paths or density <= 0: return [], [] + + rotation = np.radians(rotation_deg) + + # Calculate global bounding box for the entire model to ensure grid alignment + all_pts_model = np.concatenate(slice_paths) + g_min_x, g_min_y = all_pts_model[:, 0].min(), all_pts_model[:, 1].min() + g_max_x, g_max_y = all_pts_model[:, 0].max(), all_pts_model[:, 1].max() + global_center = np.array([(g_min_x + g_max_x) / 2, (g_min_y + g_max_y) / 2, 0]) + + # Pre-calculate rotation matrices + c_inv, s_inv = np.cos(-rotation), np.sin(-rotation) + rot_mat_inv = np.array([[c_inv, -s_inv, 0], [s_inv, c_inv, 0], [0, 0, 1]]) + + c, s = np.cos(rotation), np.sin(rotation) + rot_mat = np.array([[c, -s, 0], [s, c, 0], [0, 0, 1]]) + + # Determine grid bounds in the rotated space to ensure full coverage + # We rotate the corners of the global bounding box to find the new required extent + corners = np.array([ + [g_min_x, g_min_y, 0], [g_max_x, g_min_y, 0], + [g_min_x, g_max_y, 0], [g_max_x, g_max_y, 0] + ]) + rotated_corners = (corners - global_center) @ rot_mat_inv.T + global_center + rg_min_x, rg_min_y = rotated_corners[:, 0].min(), rotated_corners[:, 1].min() + rg_max_x, rg_max_y = rotated_corners[:, 0].max(), rotated_corners[:, 1].max() + + # Generate the global static grid lines in de-rotated space + # Add a small buffer to ensure we don't miss edges + rg_min_x -= density + rg_max_x += density + rg_min_y -= density + rg_max_y += density + + scaled_grid_paths = [] + + # Vertical lines (constant X, varies Y) + x = rg_min_x + while x <= rg_max_x: + scaled_grid_paths.append([ + (int(x * SCALE), int(rg_min_y * SCALE)), + (int(x * SCALE), int(rg_max_y * SCALE)) + ]) + x += density + + # Horizontal lines (constant Y, varies X) + y = rg_min_y + while y <= rg_max_y: + scaled_grid_paths.append([ + (int(rg_min_x * SCALE), int(y * SCALE)), + (int(rg_max_x * SCALE), int(y * SCALE)) + ]) + y += density + + # Group by Z + groups: dict[int, list[np.ndarray]] = {} + for p, g in zip(slice_paths, slice_paths.groups): + groups.setdefault(g, []).append(p) + + output_paths: list[np.ndarray] = [] + output_groups: list[int] = [] + + for g in groups.keys(): + + layer_paths = groups[g] + z = layer_paths[0][0, 2] + + # De-rotate layer paths + offset_2d = np.array([global_center[0], global_center[1], 0]) + active_paths = [(p - offset_2d) @ rot_mat_inv.T + offset_2d for p in layer_paths] + + # Clip lines with active_paths + pc = pyclipper.Pyclipper() # pyright: ignore[reportAttributeAccessIssue] + + for p in active_paths: + path_pts = p[:, :2] + if len(path_pts) > 2 and np.allclose(path_pts[0], path_pts[-1]): + path_pts = path_pts[:-1] + if len(path_pts) < 3: continue + scaled = (path_pts * SCALE).astype(np.int64).tolist() + pc.AddPath(scaled, pyclipper.PT_CLIP, True) # pyright: ignore[reportAttributeAccessIssue] + + if scaled_grid_paths: + pc.AddPaths(scaled_grid_paths, pyclipper.PT_SUBJECT, False) # pyright: ignore[reportAttributeAccessIssue] + + solution = pc.Execute2(pyclipper.CT_INTERSECTION, pyclipper.PFT_EVENODD, pyclipper.PFT_EVENODD) # pyright: ignore[reportAttributeAccessIssue] + clipped_lines = pyclipper.OpenPathsFromPolyTree(solution) # pyright: ignore[reportAttributeAccessIssue] + + # Rotate back + for path in clipped_lines: + if not path: continue + fpath = np.array(path) / SCALE + fpath_3d = np.column_stack([fpath, np.full(len(fpath), z)]) + rotated_fpath_3d = (fpath_3d - offset_2d) @ rot_mat.T + offset_2d + output_paths.append(rotated_fpath_3d) + output_groups.append(g) + + return output_paths, output_groups def group_segments_by_z(segments: np.ndarray) -> dict[int, np.ndarray]: z_values: np.ndarray = segments[:, 0, 2] diff --git a/doc/NODES.md b/doc/NODES.md index 7e2a109..07ec03a 100644 --- a/doc/NODES.md +++ b/doc/NODES.md @@ -9,8 +9,7 @@ | `SLICESOCK_Int` | `int` | Python int | Integer value | | `SLICESOCK_String` | `str` | Python string | Text/Path value | | `SLICESOCK_Mesh` | `SlicingObject` | NumPy NDArray (Triangles) | Internal mesh data (Transformed/Scaled) | -| `SLICESOCK_Slices` | `list[np.ndarray]` | List of closed paths (N, 3) | Closed manifold contours (Inside/Outside defined) | -| `SLICESOCK_Paths` | `list[np.ndarray]` | List of paths (N, 3) | Generic toolpaths (No defined interior) | +| `SLICESOCK_Paths` | `list[np.ndarray]` | List of paths (N, 3) | Generic toolpaths or slice boundaries | | `SLICESOCK_Gcode` | `str` | Multi-line string | Generated G-code text | ## Detailed Data Types @@ -23,18 +22,12 @@ The `SlicingObject` class wraps a high-performance NumPy representation of a Ble - `[i, 3, :]`: The face normal of the $i$-th triangle. - **Coordinates**: Transformed to world space and scaled by the Blender scene unit scale (multiplied by 1000 for mm-standard G-code). -### Slices (`SLICESOCK_Slices`) -A `list[np.ndarray]` (each `(N, 3)`) containing the results of the slicing operation. -- **Content**: Guaranteed to be closed loops forming a valid manifold boundary. +### Paths (`SLICESOCK_Paths`) +A `list[np.ndarray]` (each `(N, 3)`) containing toolpaths or slice results. +- **Content**: Can be open or closed segments. When generated from `Slice Shells`, they are guaranteed to be closed loops forming valid manifold boundaries. - **Z-Awareness**: Coordinates are stored as 3D `(X, Y, Z)` to maintain the correct layer height. - **Topology**: Generated and cleaned using `pyclipper`. -### Paths (`SLICESOCK_Paths`) -A `list[np.ndarray]` (each `(N, 3)`) containing generic toolpaths. -- **Content**: Can be open or closed segments. -- **Z-Awareness**: Coordinates are stored as 3D `(X, Y, Z)`. -- **Source**: Typically generated from `Slices` boundaries via the `Slices to Paths` node. - ### Gcode (`SLICESOCK_Gcode`) A standard Python string containing formatted G-code. - **Format**: `G0` for travels, `G1` for extrusions. @@ -51,9 +44,9 @@ A standard Python string containing formatted G-code. ### Processing Nodes - `SLICENODE_GetMesh`: Converts a Blender Object into internal `SlicingObject` format. -- `SLICENODE_SliceShells`: Slices a `SlicingObject` into 2D `Slices` at a given layer height. -- `SLICENODE_BufferShells`: Offsets/buffers 2D `Slices` using a "Distance" parameter. Buffers each Z-layer independently to maintain 3D structure and uses winding rules to correctly handle nested holes. -- `SLICENODE_SlicesToPaths`: Extracts the boundaries of `Slices` to create `Paths`. +- `SLICENODE_SliceShells`: Slices a `SlicingObject` into 2D `Paths` at a given layer height. +- `SLICENODE_BufferShells`: Offsets/buffers 2D `Paths` using a "Distance" parameter. Buffers each Z-layer independently to maintain 3D structure and uses winding rules to correctly handle nested holes. +- `SLICENODE_GridInfill`: Generates a grid of lines clipped by boundary paths. - `SLICENODE_PathsToGcode`: Converts `Paths` into G-code blocks. ### Joiner Nodes (Variable Inputs) diff --git a/nodes.blend b/nodes.blend new file mode 100644 index 0000000000000000000000000000000000000000..5f0ed8e9569190a8a2ea908abf4fd33bb2072fe5 GIT binary patch literal 1083587 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

?c*XSs`7l2@rP6xx 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�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 literal 0 HcmV?d00001