import re def load_gcode_vertices(path): vertices = [] x = 0 y = 0 z = 0 with open(path, "r", encoding="utf-8", errors="ignore") as f: for line in f: line = line.strip() if not line: continue if line.startswith("G0") or line.startswith("G1"): old_x = x old_y = y old_z = z mx = re.search(r"X([-0-9.]+)", line) my = re.search(r"Y([-0-9.]+)", line) mz = re.search(r"Z([-0-9.]+)", line) if mx: x = float(mx.group(1)) if my: y = float(my.group(1)) if mz: z = float(mz.group(1)) vertices.append({ "x1": old_x, "y1": old_y, "z1": old_z, "x2": x, "y2": y, "z2": z, }) return vertices