diff --git a/scripts/addons/cam/opencamlib/opencamlib.py b/scripts/addons/cam/opencamlib/opencamlib.py index 2fee86d..be84460 100644 --- a/scripts/addons/cam/opencamlib/opencamlib.py +++ b/scripts/addons/cam/opencamlib/opencamlib.py @@ -20,6 +20,7 @@ from cam.simple import * from cam.async_op import progress_async from shapely import geometry as sgeometry from .oclSample import get_oclSTL +from cam import utils from cam.opencamlib.oclSample import ocl_sample @@ -175,6 +176,7 @@ async def oclGetWaterline(operation, chunks): waterline.setSampling(0.1)#TODO: add sampling setting to UI last_pos=[0,0,0] for count,height in enumerate(layers): + layer_chunks=[] await progress_async("Waterline",int((100*count)/len(layers))) waterline.reset() waterline.setZ(height * OCL_SCALE) @@ -187,8 +189,10 @@ async def oclGetWaterline(operation, chunks): inpoints.append(inpoints[0]) chunk=camPathChunk(inpoints=inpoints) chunk.closed = True - chunk.adaptdist(last_pos,operation) - last_pos= chunk._points[-1] - chunks.append(chunk) + layer_chunks.append(chunk) + # sort chunks so that ordering is stable + chunks.extend(await utils.sortChunks(layer_chunks,operation,last_pos=last_pos)) + if len(chunks)>0: + last_pos=chunks[-1].get_point(-1) # def oclFillMedialAxis(operation): diff --git a/scripts/addons/cam/tests/test_data/waterline/_Waterline_OCL.gcode b/scripts/addons/cam/tests/test_data/waterline/_Waterline_OCL.gcode index 6a5fc02..7d7dc91 100644 --- a/scripts/addons/cam/tests/test_data/waterline/_Waterline_OCL.gcode +++ b/scripts/addons/cam/tests/test_data/waterline/_Waterline_OCL.gcode @@ -1,4 +1,4 @@ -(Created with grbl post processor 2024/01/29 13:19) +(Created with grbl post processor 2024/01/29 13:47) G21 (G-code generated with BlenderCAM and NC library) G17G90 @@ -288,7 +288,102 @@ X18.773Y16 X17.3Y17.292 X17.292Y17.3 G0Z10 -X8.9Y9.929 +X18.3Y18.374 +G1Z-4F500 +X17.2Y19.628F1000 +X17.142Y19.7 +X16.2Y21.109 +X16.145Y21.2 +X15.4Y22.712 +X15.361Y22.8 +X14.8Y24.453 +X14.789Y24.5 +X14.451Y26.2 +X14.442Y26.3 +X14.331Y28 +X14.442Y29.7 +X14.451Y29.8 +X14.789Y31.5 +X14.8Y31.546 +X15.361Y33.199 +X15.4Y33.287 +X16.145Y34.8 +X16.2Y34.89 +X17.142Y36.3 +X17.2Y36.371 +X18.3Y37.625 +X18.374Y37.7 +X19.628Y38.8 +X19.7Y38.857 +X21.109Y39.799 +X21.2Y39.854 +X22.712Y40.6 +X22.8Y40.638 +X24.453Y41.2 +X24.5Y41.21 +X26.2Y41.548 +X26.3Y41.557 +X28Y41.668 +X29.7Y41.557 +X29.8Y41.548 +X31.5Y41.21 +X31.546Y41.2 +X33.199Y40.638 +X33.287Y40.6 +X34.8Y39.854 +X34.89Y39.799 +X36.3Y38.857 +X36.371Y38.8 +X37.625Y37.7 +X37.7Y37.625 +X38.8Y36.371 +X38.857Y36.3 +X39.799Y34.89 +X39.854Y34.8 +X40.6Y33.287 +X40.638Y33.199 +X41.2Y31.546 +X41.21Y31.5 +X41.548Y29.8 +X41.557Y29.7 +X41.668Y28 +X41.557Y26.3 +X41.548Y26.2 +X41.21Y24.5 +X41.2Y24.453 +X40.638Y22.8 +X40.6Y22.712 +X39.854Y21.2 +X39.799Y21.109 +X38.857Y19.7 +X38.8Y19.628 +X37.7Y18.374 +X37.625Y18.3 +X36.371Y17.2 +X36.3Y17.142 +X34.89Y16.2 +X34.8Y16.145 +X33.287Y15.4 +X33.199Y15.361 +X31.546Y14.8 +X31.5Y14.789 +X29.8Y14.451 +X29.7Y14.442 +X28Y14.331 +X26.3Y14.442 +X26.2Y14.451 +X24.5Y14.789 +X24.453Y14.8 +X22.8Y15.361 +X22.712Y15.4 +X21.2Y16.145 +X21.109Y16.2 +X19.7Y17.142 +X19.628Y17.2 +X18.374Y18.3 +X18.3Y18.374 +G0Z10 +X8.8Y10.043 G1Z-4F500 X9.3Y9.473F1000 X9.366Y9.4 @@ -478,102 +573,7 @@ X7.023Y12.1 X7.091Y12 X7.1Y11.988 X7.171Y11.9 -X8.9Y9.929 -G0Z10 -X18.3Y18.374 -G1Z-4F500 -X17.2Y19.628F1000 -X17.142Y19.7 -X16.2Y21.109 -X16.145Y21.2 -X15.4Y22.712 -X15.361Y22.8 -X14.8Y24.453 -X14.789Y24.5 -X14.451Y26.2 -X14.442Y26.3 -X14.331Y28 -X14.442Y29.7 -X14.451Y29.8 -X14.789Y31.5 -X14.8Y31.546 -X15.361Y33.199 -X15.4Y33.287 -X16.145Y34.8 -X16.2Y34.89 -X17.142Y36.3 -X17.2Y36.371 -X18.3Y37.625 -X18.374Y37.7 -X19.628Y38.8 -X19.7Y38.857 -X21.109Y39.799 -X21.2Y39.854 -X22.712Y40.6 -X22.8Y40.638 -X24.453Y41.2 -X24.5Y41.21 -X26.2Y41.548 -X26.3Y41.557 -X28Y41.668 -X29.7Y41.557 -X29.8Y41.548 -X31.5Y41.21 -X31.546Y41.2 -X33.199Y40.638 -X33.287Y40.6 -X34.8Y39.854 -X34.89Y39.799 -X36.3Y38.857 -X36.371Y38.8 -X37.625Y37.7 -X37.7Y37.625 -X38.8Y36.371 -X38.857Y36.3 -X39.799Y34.89 -X39.854Y34.8 -X40.6Y33.287 -X40.638Y33.199 -X41.2Y31.546 -X41.21Y31.5 -X41.548Y29.8 -X41.557Y29.7 -X41.668Y28 -X41.557Y26.3 -X41.548Y26.2 -X41.21Y24.5 -X41.2Y24.453 -X40.638Y22.8 -X40.6Y22.712 -X39.854Y21.2 -X39.799Y21.109 -X38.857Y19.7 -X38.8Y19.628 -X37.7Y18.374 -X37.625Y18.3 -X36.371Y17.2 -X36.3Y17.142 -X34.89Y16.2 -X34.8Y16.145 -X33.287Y15.4 -X33.199Y15.361 -X31.546Y14.8 -X31.5Y14.789 -X29.8Y14.451 -X29.7Y14.442 -X28Y14.331 -X26.3Y14.442 -X26.2Y14.451 -X24.5Y14.789 -X24.453Y14.8 -X22.8Y15.361 -X22.712Y15.4 -X21.2Y16.145 -X21.109Y16.2 -X19.7Y17.142 -X19.628Y17.2 -X18.374Y18.3 -X18.3Y18.374 +X8.8Y10.043 G0Z10 X8.036Y9.4 G1Z-5F500 @@ -862,7 +862,102 @@ X20.23Y18 X19.089Y19 X19Y19.089 G0Z10 -X7.235Y8.8 +X19.704Y19.8 +G1Z-6F500 +X18.8Y20.831F1000 +X18.74Y20.9 +X17.9Y22.157 +X17.877Y22.2 +X17.236Y23.5 +X17.2Y23.592 +X16.756Y24.9 +X16.725Y25 +X16.446Y26.4 +X16.429Y26.5 +X16.331Y28 +X16.429Y29.5 +X16.446Y29.6 +X16.725Y31 +X16.756Y31.1 +X17.2Y32.407 +X17.236Y32.5 +X17.877Y33.8 +X17.9Y33.842 +X18.74Y35.1 +X18.827Y35.2 +X19.704Y36.2 +X19.8Y36.295 +X20.831Y37.2 +X20.9Y37.259 +X22.157Y38.1 +X22.2Y38.122 +X23.5Y38.763 +X23.592Y38.8 +X24.9Y39.243 +X25Y39.274 +X26.4Y39.553 +X26.5Y39.57 +X28Y39.668 +X29.5Y39.57 +X29.6Y39.553 +X31Y39.274 +X31.1Y39.243 +X32.407Y38.8 +X32.5Y38.763 +X33.8Y38.122 +X33.842Y38.1 +X35.1Y37.259 +X35.2Y37.172 +X36.2Y36.295 +X36.295Y36.2 +X37.2Y35.168 +X37.259Y35.1 +X38.1Y33.842 +X38.122Y33.8 +X38.763Y32.5 +X38.8Y32.407 +X39.243Y31.1 +X39.274Y31 +X39.553Y29.6 +X39.57Y29.5 +X39.668Y28 +X39.57Y26.5 +X39.553Y26.4 +X39.274Y25 +X39.243Y24.9 +X38.8Y23.592 +X38.763Y23.5 +X38.122Y22.2 +X38.1Y22.157 +X37.259Y20.9 +X37.172Y20.8 +X36.295Y19.8 +X36.2Y19.704 +X35.168Y18.8 +X35.1Y18.74 +X33.842Y17.9 +X33.8Y17.877 +X32.5Y17.236 +X32.407Y17.2 +X31.1Y16.756 +X31Y16.725 +X29.6Y16.446 +X29.5Y16.429 +X28Y16.331 +X26.5Y16.429 +X26.4Y16.446 +X25Y16.725 +X24.9Y16.756 +X23.592Y17.2 +X23.5Y17.236 +X22.2Y17.877 +X22.157Y17.9 +X20.9Y18.74 +X20.8Y18.827 +X19.8Y19.704 +X19.704Y19.8 +G0Z10 +X7.2Y8.84 G1Z-6F500 X7.9Y8.042F1000 X7.938Y8 @@ -1036,102 +1131,7 @@ X5.424Y10.9 X5.492Y10.8 X5.5Y10.789 X5.569Y10.7 -X7.235Y8.8 -G0Z10 -X19.704Y19.8 -G1Z-6F500 -X18.8Y20.831F1000 -X18.74Y20.9 -X17.9Y22.157 -X17.877Y22.2 -X17.236Y23.5 -X17.2Y23.592 -X16.756Y24.9 -X16.725Y25 -X16.446Y26.4 -X16.429Y26.5 -X16.331Y28 -X16.429Y29.5 -X16.446Y29.6 -X16.725Y31 -X16.756Y31.1 -X17.2Y32.407 -X17.236Y32.5 -X17.877Y33.8 -X17.9Y33.842 -X18.74Y35.1 -X18.827Y35.2 -X19.704Y36.2 -X19.8Y36.295 -X20.831Y37.2 -X20.9Y37.259 -X22.157Y38.1 -X22.2Y38.122 -X23.5Y38.763 -X23.592Y38.8 -X24.9Y39.243 -X25Y39.274 -X26.4Y39.553 -X26.5Y39.57 -X28Y39.668 -X29.5Y39.57 -X29.6Y39.553 -X31Y39.274 -X31.1Y39.243 -X32.407Y38.8 -X32.5Y38.763 -X33.8Y38.122 -X33.842Y38.1 -X35.1Y37.259 -X35.2Y37.172 -X36.2Y36.295 -X36.295Y36.2 -X37.2Y35.168 -X37.259Y35.1 -X38.1Y33.842 -X38.122Y33.8 -X38.763Y32.5 -X38.8Y32.407 -X39.243Y31.1 -X39.274Y31 -X39.553Y29.6 -X39.57Y29.5 -X39.668Y28 -X39.57Y26.5 -X39.553Y26.4 -X39.274Y25 -X39.243Y24.9 -X38.8Y23.592 -X38.763Y23.5 -X38.122Y22.2 -X38.1Y22.157 -X37.259Y20.9 -X37.172Y20.8 -X36.295Y19.8 -X36.2Y19.704 -X35.168Y18.8 -X35.1Y18.74 -X33.842Y17.9 -X33.8Y17.877 -X32.5Y17.236 -X32.407Y17.2 -X31.1Y16.756 -X31Y16.725 -X29.6Y16.446 -X29.5Y16.429 -X28Y16.331 -X26.5Y16.429 -X26.4Y16.446 -X25Y16.725 -X24.9Y16.756 -X23.592Y17.2 -X23.5Y17.236 -X22.2Y17.877 -X22.157Y17.9 -X20.9Y18.74 -X20.8Y18.827 -X19.8Y19.704 -X19.704Y19.8 +X7.2Y8.84 G0Z10 X6.958Y8.6 G1Z-7F500 @@ -1416,6 +1416,101 @@ X21.1Y19.017 X20Y19.981 X19.981Y20 G0Z10 +X20.162Y20.2 +G1Z-8F500 +X19.285Y21.2F1000 +X19.204Y21.3 +X18.469Y22.4 +X18.407Y22.5 +X17.8Y23.731 +X17.771Y23.8 +X17.33Y25.1 +X17.304Y25.2 +X17.046Y26.5 +X17.032Y26.6 +X16.94Y28 +X17.032Y29.4 +X17.046Y29.5 +X17.304Y30.8 +X17.33Y30.9 +X17.771Y32.2 +X17.8Y32.268 +X18.407Y33.5 +X18.469Y33.6 +X19.204Y34.7 +X19.285Y34.8 +X20.162Y35.8 +X20.2Y35.837 +X21.2Y36.714 +X21.3Y36.795 +X22.4Y37.53 +X22.5Y37.592 +X23.731Y38.2 +X23.8Y38.228 +X25.1Y38.669 +X25.2Y38.695 +X26.5Y38.953 +X26.6Y38.967 +X28Y39.059 +X29.4Y38.967 +X29.5Y38.953 +X30.8Y38.695 +X30.9Y38.669 +X32.2Y38.228 +X32.268Y38.2 +X33.5Y37.592 +X33.6Y37.53 +X34.7Y36.795 +X34.8Y36.714 +X35.8Y35.837 +X35.837Y35.8 +X36.714Y34.8 +X36.795Y34.7 +X37.53Y33.6 +X37.592Y33.5 +X38.2Y32.268 +X38.228Y32.2 +X38.669Y30.9 +X38.695Y30.8 +X38.953Y29.5 +X38.967Y29.4 +X39.059Y28 +X38.967Y26.6 +X38.953Y26.5 +X38.695Y25.2 +X38.669Y25.1 +X38.228Y23.8 +X38.2Y23.731 +X37.592Y22.5 +X37.53Y22.4 +X36.795Y21.3 +X36.714Y21.2 +X35.837Y20.2 +X35.8Y20.162 +X34.8Y19.285 +X34.7Y19.204 +X33.6Y18.469 +X33.5Y18.407 +X32.268Y17.8 +X32.2Y17.771 +X30.9Y17.33 +X30.8Y17.304 +X29.5Y17.046 +X29.4Y17.032 +X28Y16.94 +X26.6Y17.032 +X26.5Y17.046 +X25.2Y17.304 +X25.1Y17.33 +X23.8Y17.771 +X23.731Y17.8 +X22.5Y18.407 +X22.4Y18.469 +X21.3Y19.204 +X21.2Y19.285 +X20.2Y20.162 +X20.162Y20.2 +G0Z10 X6.778Y8.4 G1Z-8F500 X7.479Y7.6F1000 @@ -1572,102 +1667,7 @@ X5.03Y10.4 X5.1Y10.313 X6.778Y8.4 G0Z10 -X20.162Y20.2 -G1Z-8F500 -X19.285Y21.2F1000 -X19.204Y21.3 -X18.469Y22.4 -X18.407Y22.5 -X17.8Y23.731 -X17.771Y23.8 -X17.33Y25.1 -X17.304Y25.2 -X17.046Y26.5 -X17.032Y26.6 -X16.94Y28 -X17.032Y29.4 -X17.046Y29.5 -X17.304Y30.8 -X17.33Y30.9 -X17.771Y32.2 -X17.8Y32.268 -X18.407Y33.5 -X18.469Y33.6 -X19.204Y34.7 -X19.285Y34.8 -X20.162Y35.8 -X20.2Y35.837 -X21.2Y36.714 -X21.3Y36.795 -X22.4Y37.53 -X22.5Y37.592 -X23.731Y38.2 -X23.8Y38.228 -X25.1Y38.669 -X25.2Y38.695 -X26.5Y38.953 -X26.6Y38.967 -X28Y39.059 -X29.4Y38.967 -X29.5Y38.953 -X30.8Y38.695 -X30.9Y38.669 -X32.2Y38.228 -X32.268Y38.2 -X33.5Y37.592 -X33.6Y37.53 -X34.7Y36.795 -X34.8Y36.714 -X35.8Y35.837 -X35.837Y35.8 -X36.714Y34.8 -X36.795Y34.7 -X37.53Y33.6 -X37.592Y33.5 -X38.2Y32.268 -X38.228Y32.2 -X38.669Y30.9 -X38.695Y30.8 -X38.953Y29.5 -X38.967Y29.4 -X39.059Y28 -X38.967Y26.6 -X38.953Y26.5 -X38.695Y25.2 -X38.669Y25.1 -X38.228Y23.8 -X38.2Y23.731 -X37.592Y22.5 -X37.53Y22.4 -X36.795Y21.3 -X36.714Y21.2 -X35.837Y20.2 -X35.8Y20.162 -X34.8Y19.285 -X34.7Y19.204 -X33.6Y18.469 -X33.5Y18.407 -X32.268Y17.8 -X32.2Y17.771 -X30.9Y17.33 -X30.8Y17.304 -X29.5Y17.046 -X29.4Y17.032 -X28Y16.94 -X26.6Y17.032 -X26.5Y17.046 -X25.2Y17.304 -X25.1Y17.33 -X23.8Y17.771 -X23.731Y17.8 -X22.5Y18.407 -X22.4Y18.469 -X21.3Y19.204 -X21.2Y19.285 -X20.2Y20.162 -X20.162Y20.2 -G0Z10 -X6.51Y8.3 +X6.597Y8.2 G1Z-9F500 X7.211Y7.5F1000 X7.3Y7.399 @@ -1845,7 +1845,7 @@ X4.773Y10.3 X4.8Y10.261 X4.846Y10.2 X4.9Y10.136 -X6.51Y8.3 +X6.597Y8.2 G0Z10 X20.342Y20.4 G1Z-9F500 @@ -1942,7 +1942,102 @@ X21.4Y19.465 X20.4Y20.342 X20.342Y20.4 G0Z10 -X6.33Y8.1 +X20.522Y20.6 +G1Z-10F500 +X19.7Y21.537F1000 +X19.646Y21.6 +X18.9Y22.717 +X18.855Y22.8 +X18.3Y23.927 +X18.268Y24 +X17.86Y25.2 +X17.83Y25.3 +X17.571Y26.6 +X17.561Y26.7 +X17.476Y28 +X17.561Y29.3 +X17.571Y29.4 +X17.83Y30.7 +X17.86Y30.8 +X18.268Y32 +X18.3Y32.072 +X18.855Y33.199 +X18.9Y33.282 +X19.646Y34.4 +X19.7Y34.462 +X20.522Y35.399 +X20.6Y35.477 +X21.537Y36.3 +X21.6Y36.353 +X22.717Y37.1 +X22.8Y37.144 +X23.927Y37.7 +X24Y37.731 +X25.2Y38.139 +X25.3Y38.169 +X26.6Y38.428 +X26.7Y38.438 +X28Y38.523 +X29.3Y38.438 +X29.4Y38.428 +X30.7Y38.169 +X30.8Y38.139 +X32Y37.731 +X32.072Y37.7 +X33.199Y37.144 +X33.282Y37.1 +X34.4Y36.353 +X34.462Y36.3 +X35.399Y35.477 +X35.477Y35.399 +X36.3Y34.462 +X36.353Y34.4 +X37.1Y33.282 +X37.144Y33.199 +X37.7Y32.072 +X37.731Y32 +X38.139Y30.8 +X38.169Y30.7 +X38.428Y29.4 +X38.438Y29.3 +X38.523Y28 +X38.438Y26.7 +X38.428Y26.6 +X38.169Y25.3 +X38.139Y25.2 +X37.731Y24 +X37.7Y23.927 +X37.144Y22.8 +X37.1Y22.717 +X36.353Y21.6 +X36.3Y21.537 +X35.477Y20.6 +X35.399Y20.522 +X34.462Y19.7 +X34.4Y19.646 +X33.282Y18.9 +X33.199Y18.855 +X32.072Y18.3 +X32Y18.268 +X30.8Y17.86 +X30.7Y17.83 +X29.4Y17.571 +X29.3Y17.561 +X28Y17.476 +X26.7Y17.561 +X26.6Y17.571 +X25.3Y17.83 +X25.2Y17.86 +X24Y18.268 +X23.927Y18.3 +X22.8Y18.855 +X22.717Y18.9 +X21.6Y19.646 +X21.537Y19.7 +X20.6Y20.522 +X20.522Y20.6 +G0Z10 +X6.3Y8.134 G1Z-10F500 X7.1Y7.222F1000 X7.12Y7.2 @@ -2120,105 +2215,8 @@ X4.518Y10.2 X4.586Y10.1 X4.6Y10.08 X4.664Y10 -X6.33Y8.1 -G0Z10 -X20.522Y20.6 -G1Z-10F500 -X19.7Y21.537F1000 -X19.646Y21.6 -X18.9Y22.717 -X18.855Y22.8 -X18.3Y23.927 -X18.268Y24 -X17.86Y25.2 -X17.83Y25.3 -X17.571Y26.6 -X17.561Y26.7 -X17.476Y28 -X17.561Y29.3 -X17.571Y29.4 -X17.83Y30.7 -X17.86Y30.8 -X18.268Y32 -X18.3Y32.072 -X18.855Y33.199 -X18.9Y33.282 -X19.646Y34.4 -X19.7Y34.462 -X20.522Y35.399 -X20.6Y35.477 -X21.537Y36.3 -X21.6Y36.353 -X22.717Y37.1 -X22.8Y37.144 -X23.927Y37.7 -X24Y37.731 -X25.2Y38.139 -X25.3Y38.169 -X26.6Y38.428 -X26.7Y38.438 -X28Y38.523 -X29.3Y38.438 -X29.4Y38.428 -X30.7Y38.169 -X30.8Y38.139 -X32Y37.731 -X32.072Y37.7 -X33.199Y37.144 -X33.282Y37.1 -X34.4Y36.353 -X34.462Y36.3 -X35.399Y35.477 -X35.477Y35.399 -X36.3Y34.462 -X36.353Y34.4 -X37.1Y33.282 -X37.144Y33.199 -X37.7Y32.072 -X37.731Y32 -X38.139Y30.8 -X38.169Y30.7 -X38.428Y29.4 -X38.438Y29.3 -X38.523Y28 -X38.438Y26.7 -X38.428Y26.6 -X38.169Y25.3 -X38.139Y25.2 -X37.731Y24 -X37.7Y23.927 -X37.144Y22.8 -X37.1Y22.717 -X36.353Y21.6 -X36.3Y21.537 -X35.477Y20.6 -X35.399Y20.522 -X34.462Y19.7 -X34.4Y19.646 -X33.282Y18.9 -X33.199Y18.855 -X32.072Y18.3 -X32Y18.268 -X30.8Y17.86 -X30.7Y17.83 -X29.4Y17.571 -X29.3Y17.561 -X28Y17.476 -X26.7Y17.561 -X26.6Y17.571 -X25.3Y17.83 -X25.2Y17.86 -X24Y18.268 -X23.927Y18.3 -X22.8Y18.855 -X22.717Y18.9 -X21.6Y19.646 -X21.537Y19.7 -X20.6Y20.522 -X20.522Y20.6 -G0Z10 -X6.294Y8.1 -G1Z-11F500 +X6.3Y8.134 +X6.294Y8.1Z-11F500 X7.083Y7.2F1000 X7.1Y7.182 X7.182Y7.1 @@ -2503,6 +2501,99 @@ X21.7Y19.612 X21.6Y19.681 X20.6Y20.558 X20.558Y20.6 +Z-12F500 +X19.681Y21.6F1000 +X19.612Y21.7 +X18.944Y22.7 +X18.9Y22.77 +X18.343Y23.9 +X18.3Y23.989 +X17.889Y25.2 +X17.857Y25.3 +X17.598Y26.6 +X17.588Y26.7 +X17.503Y28 +X17.588Y29.3 +X17.598Y29.4 +X17.857Y30.7 +X17.889Y30.8 +X18.3Y32.01 +X18.343Y32.099 +X18.9Y33.229 +X18.944Y33.3 +X19.612Y34.299 +X19.681Y34.4 +X20.558Y35.399 +X20.6Y35.441 +X21.6Y36.318 +X21.7Y36.387 +X22.7Y37.055 +X22.77Y37.1 +X23.9Y37.656 +X23.989Y37.7 +X25.2Y38.11 +X25.3Y38.142 +X26.6Y38.401 +X26.7Y38.411 +X28Y38.496 +X29.3Y38.411 +X29.4Y38.401 +X30.7Y38.142 +X30.8Y38.11 +X32.01Y37.7 +X32.099Y37.656 +X33.229Y37.1 +X33.3Y37.055 +X34.299Y36.387 +X34.4Y36.318 +X35.399Y35.441 +X35.441Y35.399 +X36.318Y34.4 +X36.387Y34.299 +X37.055Y33.3 +X37.1Y33.229 +X37.656Y32.099 +X37.7Y32.01 +X38.11Y30.8 +X38.142Y30.7 +X38.401Y29.4 +X38.411Y29.3 +X38.496Y28 +X38.411Y26.7 +X38.401Y26.6 +X38.142Y25.3 +X38.11Y25.2 +X37.7Y23.989 +X37.656Y23.9 +X37.1Y22.77 +X37.055Y22.7 +X36.387Y21.7 +X36.318Y21.6 +X35.441Y20.6 +X35.399Y20.558 +X34.4Y19.681 +X34.299Y19.612 +X33.3Y18.944 +X33.229Y18.9 +X32.099Y18.343 +X32.01Y18.3 +X30.8Y17.889 +X30.7Y17.857 +X29.4Y17.598 +X29.3Y17.588 +X28Y17.503 +X26.7Y17.588 +X26.6Y17.598 +X25.3Y17.857 +X25.2Y17.889 +X23.989Y18.3 +X23.9Y18.343 +X22.77Y18.9 +X22.7Y18.944 +X21.7Y19.612 +X21.6Y19.681 +X20.6Y20.558 +X20.558Y20.6 G0Z10 X6.3Y8.093 G1Z-12F500 @@ -2695,104 +2786,7 @@ X4.6Y10.036 X4.629Y10 X4.715Y9.9 X6.3Y8.093 -G0Z10 -X20.558Y20.6 -G1Z-12F500 -X19.681Y21.6F1000 -X19.612Y21.7 -X18.944Y22.7 -X18.9Y22.77 -X18.343Y23.9 -X18.3Y23.989 -X17.889Y25.2 -X17.857Y25.3 -X17.598Y26.6 -X17.588Y26.7 -X17.503Y28 -X17.588Y29.3 -X17.598Y29.4 -X17.857Y30.7 -X17.889Y30.8 -X18.3Y32.01 -X18.343Y32.099 -X18.9Y33.229 -X18.944Y33.3 -X19.612Y34.299 -X19.681Y34.4 -X20.558Y35.399 -X20.6Y35.441 -X21.6Y36.318 -X21.7Y36.387 -X22.7Y37.055 -X22.77Y37.1 -X23.9Y37.656 -X23.989Y37.7 -X25.2Y38.11 -X25.3Y38.142 -X26.6Y38.401 -X26.7Y38.411 -X28Y38.496 -X29.3Y38.411 -X29.4Y38.401 -X30.7Y38.142 -X30.8Y38.11 -X32.01Y37.7 -X32.099Y37.656 -X33.229Y37.1 -X33.3Y37.055 -X34.299Y36.387 -X34.4Y36.318 -X35.399Y35.441 -X35.441Y35.399 -X36.318Y34.4 -X36.387Y34.299 -X37.055Y33.3 -X37.1Y33.229 -X37.656Y32.099 -X37.7Y32.01 -X38.11Y30.8 -X38.142Y30.7 -X38.401Y29.4 -X38.411Y29.3 -X38.496Y28 -X38.411Y26.7 -X38.401Y26.6 -X38.142Y25.3 -X38.11Y25.2 -X37.7Y23.989 -X37.656Y23.9 -X37.1Y22.77 -X37.055Y22.7 -X36.387Y21.7 -X36.318Y21.6 -X35.441Y20.6 -X35.399Y20.558 -X34.4Y19.681 -X34.299Y19.612 -X33.3Y18.944 -X33.229Y18.9 -X32.099Y18.343 -X32.01Y18.3 -X30.8Y17.889 -X30.7Y17.857 -X29.4Y17.598 -X29.3Y17.588 -X28Y17.503 -X26.7Y17.588 -X26.6Y17.598 -X25.3Y17.857 -X25.2Y17.889 -X23.989Y18.3 -X23.9Y18.343 -X22.77Y18.9 -X22.7Y18.944 -X21.7Y19.612 -X21.6Y19.681 -X20.6Y20.558 -X20.558Y20.6 -G0Z10 -X6.3Y8.093 -G1Z-13F500 +Z-13F500 X7.083Y7.2F1000 X7.1Y7.182 X7.182Y7.1 @@ -3077,6 +3071,99 @@ X21.7Y19.612 X21.6Y19.681 X20.6Y20.558 X20.558Y20.6 +Z-14F500 +X19.681Y21.6F1000 +X19.612Y21.7 +X18.944Y22.7 +X18.9Y22.77 +X18.343Y23.9 +X18.3Y23.989 +X17.889Y25.2 +X17.857Y25.3 +X17.598Y26.6 +X17.588Y26.7 +X17.503Y28 +X17.588Y29.3 +X17.598Y29.4 +X17.857Y30.7 +X17.889Y30.8 +X18.3Y32.01 +X18.343Y32.099 +X18.9Y33.229 +X18.944Y33.3 +X19.612Y34.299 +X19.681Y34.4 +X20.558Y35.399 +X20.6Y35.441 +X21.6Y36.318 +X21.7Y36.387 +X22.7Y37.055 +X22.77Y37.1 +X23.9Y37.656 +X23.989Y37.7 +X25.2Y38.11 +X25.3Y38.142 +X26.6Y38.401 +X26.7Y38.411 +X28Y38.496 +X29.3Y38.411 +X29.4Y38.401 +X30.7Y38.142 +X30.8Y38.11 +X32.01Y37.7 +X32.099Y37.656 +X33.229Y37.1 +X33.3Y37.055 +X34.299Y36.387 +X34.4Y36.318 +X35.399Y35.441 +X35.441Y35.399 +X36.318Y34.4 +X36.387Y34.299 +X37.055Y33.3 +X37.1Y33.229 +X37.656Y32.099 +X37.7Y32.01 +X38.11Y30.8 +X38.142Y30.7 +X38.401Y29.4 +X38.411Y29.3 +X38.496Y28 +X38.411Y26.7 +X38.401Y26.6 +X38.142Y25.3 +X38.11Y25.2 +X37.7Y23.989 +X37.656Y23.9 +X37.1Y22.77 +X37.055Y22.7 +X36.387Y21.7 +X36.318Y21.6 +X35.441Y20.6 +X35.399Y20.558 +X34.4Y19.681 +X34.299Y19.612 +X33.3Y18.944 +X33.229Y18.9 +X32.099Y18.343 +X32.01Y18.3 +X30.8Y17.889 +X30.7Y17.857 +X29.4Y17.598 +X29.3Y17.588 +X28Y17.503 +X26.7Y17.588 +X26.6Y17.598 +X25.3Y17.857 +X25.2Y17.889 +X23.989Y18.3 +X23.9Y18.343 +X22.77Y18.9 +X22.7Y18.944 +X21.7Y19.612 +X21.6Y19.681 +X20.6Y20.558 +X20.558Y20.6 G0Z10 X6.3Y8.093 G1Z-14F500 @@ -3269,104 +3356,7 @@ X4.6Y10.036 X4.629Y10 X4.715Y9.9 X6.3Y8.093 -G0Z10 -X20.558Y20.6 -G1Z-14F500 -X19.681Y21.6F1000 -X19.612Y21.7 -X18.944Y22.7 -X18.9Y22.77 -X18.343Y23.9 -X18.3Y23.989 -X17.889Y25.2 -X17.857Y25.3 -X17.598Y26.6 -X17.588Y26.7 -X17.503Y28 -X17.588Y29.3 -X17.598Y29.4 -X17.857Y30.7 -X17.889Y30.8 -X18.3Y32.01 -X18.343Y32.099 -X18.9Y33.229 -X18.944Y33.3 -X19.612Y34.299 -X19.681Y34.4 -X20.558Y35.399 -X20.6Y35.441 -X21.6Y36.318 -X21.7Y36.387 -X22.7Y37.055 -X22.77Y37.1 -X23.9Y37.656 -X23.989Y37.7 -X25.2Y38.11 -X25.3Y38.142 -X26.6Y38.401 -X26.7Y38.411 -X28Y38.496 -X29.3Y38.411 -X29.4Y38.401 -X30.7Y38.142 -X30.8Y38.11 -X32.01Y37.7 -X32.099Y37.656 -X33.229Y37.1 -X33.3Y37.055 -X34.299Y36.387 -X34.4Y36.318 -X35.399Y35.441 -X35.441Y35.399 -X36.318Y34.4 -X36.387Y34.299 -X37.055Y33.3 -X37.1Y33.229 -X37.656Y32.099 -X37.7Y32.01 -X38.11Y30.8 -X38.142Y30.7 -X38.401Y29.4 -X38.411Y29.3 -X38.496Y28 -X38.411Y26.7 -X38.401Y26.6 -X38.142Y25.3 -X38.11Y25.2 -X37.7Y23.989 -X37.656Y23.9 -X37.1Y22.77 -X37.055Y22.7 -X36.387Y21.7 -X36.318Y21.6 -X35.441Y20.6 -X35.399Y20.558 -X34.4Y19.681 -X34.299Y19.612 -X33.3Y18.944 -X33.229Y18.9 -X32.099Y18.343 -X32.01Y18.3 -X30.8Y17.889 -X30.7Y17.857 -X29.4Y17.598 -X29.3Y17.588 -X28Y17.503 -X26.7Y17.588 -X26.6Y17.598 -X25.3Y17.857 -X25.2Y17.889 -X23.989Y18.3 -X23.9Y18.343 -X22.77Y18.9 -X22.7Y18.944 -X21.7Y19.612 -X21.6Y19.681 -X20.6Y20.558 -X20.558Y20.6 -G0Z10 -X6.3Y8.093 -G1Z-15F500 +Z-15F500 X7.083Y7.2F1000 X7.1Y7.182 X7.182Y7.1 @@ -3651,6 +3641,99 @@ X21.7Y19.612 X21.6Y19.681 X20.6Y20.558 X20.558Y20.6 +Z-16F500 +X19.681Y21.6F1000 +X19.612Y21.7 +X18.944Y22.7 +X18.9Y22.77 +X18.343Y23.9 +X18.3Y23.989 +X17.889Y25.2 +X17.857Y25.3 +X17.598Y26.6 +X17.588Y26.7 +X17.503Y28 +X17.588Y29.3 +X17.598Y29.4 +X17.857Y30.7 +X17.889Y30.8 +X18.3Y32.01 +X18.343Y32.099 +X18.9Y33.229 +X18.944Y33.3 +X19.612Y34.299 +X19.681Y34.4 +X20.558Y35.399 +X20.6Y35.441 +X21.6Y36.318 +X21.7Y36.387 +X22.7Y37.055 +X22.77Y37.1 +X23.9Y37.656 +X23.989Y37.7 +X25.2Y38.11 +X25.3Y38.142 +X26.6Y38.401 +X26.7Y38.411 +X28Y38.496 +X29.3Y38.411 +X29.4Y38.401 +X30.7Y38.142 +X30.8Y38.11 +X32.01Y37.7 +X32.099Y37.656 +X33.229Y37.1 +X33.3Y37.055 +X34.299Y36.387 +X34.4Y36.318 +X35.399Y35.441 +X35.441Y35.399 +X36.318Y34.4 +X36.387Y34.299 +X37.055Y33.3 +X37.1Y33.229 +X37.656Y32.099 +X37.7Y32.01 +X38.11Y30.8 +X38.142Y30.7 +X38.401Y29.4 +X38.411Y29.3 +X38.496Y28 +X38.411Y26.7 +X38.401Y26.6 +X38.142Y25.3 +X38.11Y25.2 +X37.7Y23.989 +X37.656Y23.9 +X37.1Y22.77 +X37.055Y22.7 +X36.387Y21.7 +X36.318Y21.6 +X35.441Y20.6 +X35.399Y20.558 +X34.4Y19.681 +X34.299Y19.612 +X33.3Y18.944 +X33.229Y18.9 +X32.099Y18.343 +X32.01Y18.3 +X30.8Y17.889 +X30.7Y17.857 +X29.4Y17.598 +X29.3Y17.588 +X28Y17.503 +X26.7Y17.588 +X26.6Y17.598 +X25.3Y17.857 +X25.2Y17.889 +X23.989Y18.3 +X23.9Y18.343 +X22.77Y18.9 +X22.7Y18.944 +X21.7Y19.612 +X21.6Y19.681 +X20.6Y20.558 +X20.558Y20.6 G0Z10 X6.3Y8.093 G1Z-16F500 @@ -3843,104 +3926,7 @@ X4.6Y10.036 X4.629Y10 X4.715Y9.9 X6.3Y8.093 -G0Z10 -X20.558Y20.6 -G1Z-16F500 -X19.681Y21.6F1000 -X19.612Y21.7 -X18.944Y22.7 -X18.9Y22.77 -X18.343Y23.9 -X18.3Y23.989 -X17.889Y25.2 -X17.857Y25.3 -X17.598Y26.6 -X17.588Y26.7 -X17.503Y28 -X17.588Y29.3 -X17.598Y29.4 -X17.857Y30.7 -X17.889Y30.8 -X18.3Y32.01 -X18.343Y32.099 -X18.9Y33.229 -X18.944Y33.3 -X19.612Y34.299 -X19.681Y34.4 -X20.558Y35.399 -X20.6Y35.441 -X21.6Y36.318 -X21.7Y36.387 -X22.7Y37.055 -X22.77Y37.1 -X23.9Y37.656 -X23.989Y37.7 -X25.2Y38.11 -X25.3Y38.142 -X26.6Y38.401 -X26.7Y38.411 -X28Y38.496 -X29.3Y38.411 -X29.4Y38.401 -X30.7Y38.142 -X30.8Y38.11 -X32.01Y37.7 -X32.099Y37.656 -X33.229Y37.1 -X33.3Y37.055 -X34.299Y36.387 -X34.4Y36.318 -X35.399Y35.441 -X35.441Y35.399 -X36.318Y34.4 -X36.387Y34.299 -X37.055Y33.3 -X37.1Y33.229 -X37.656Y32.099 -X37.7Y32.01 -X38.11Y30.8 -X38.142Y30.7 -X38.401Y29.4 -X38.411Y29.3 -X38.496Y28 -X38.411Y26.7 -X38.401Y26.6 -X38.142Y25.3 -X38.11Y25.2 -X37.7Y23.989 -X37.656Y23.9 -X37.1Y22.77 -X37.055Y22.7 -X36.387Y21.7 -X36.318Y21.6 -X35.441Y20.6 -X35.399Y20.558 -X34.4Y19.681 -X34.299Y19.612 -X33.3Y18.944 -X33.229Y18.9 -X32.099Y18.343 -X32.01Y18.3 -X30.8Y17.889 -X30.7Y17.857 -X29.4Y17.598 -X29.3Y17.588 -X28Y17.503 -X26.7Y17.588 -X26.6Y17.598 -X25.3Y17.857 -X25.2Y17.889 -X23.989Y18.3 -X23.9Y18.343 -X22.77Y18.9 -X22.7Y18.944 -X21.7Y19.612 -X21.6Y19.681 -X20.6Y20.558 -X20.558Y20.6 -G0Z10 -X6.3Y8.093 -G1Z-17F500 +Z-17F500 X7.083Y7.2F1000 X7.1Y7.182 X7.182Y7.1 @@ -4225,6 +4211,99 @@ X21.7Y19.612 X21.6Y19.681 X20.6Y20.558 X20.558Y20.6 +Z-18F500 +X19.681Y21.6F1000 +X19.612Y21.7 +X18.944Y22.7 +X18.9Y22.77 +X18.343Y23.9 +X18.3Y23.989 +X17.889Y25.2 +X17.857Y25.3 +X17.598Y26.6 +X17.588Y26.7 +X17.503Y28 +X17.588Y29.3 +X17.598Y29.4 +X17.857Y30.7 +X17.889Y30.8 +X18.3Y32.01 +X18.343Y32.099 +X18.9Y33.229 +X18.944Y33.3 +X19.612Y34.299 +X19.681Y34.4 +X20.558Y35.399 +X20.6Y35.441 +X21.6Y36.318 +X21.7Y36.387 +X22.7Y37.055 +X22.77Y37.1 +X23.9Y37.656 +X23.989Y37.7 +X25.2Y38.11 +X25.3Y38.142 +X26.6Y38.401 +X26.7Y38.411 +X28Y38.496 +X29.3Y38.411 +X29.4Y38.401 +X30.7Y38.142 +X30.8Y38.11 +X32.01Y37.7 +X32.099Y37.656 +X33.229Y37.1 +X33.3Y37.055 +X34.299Y36.387 +X34.4Y36.318 +X35.399Y35.441 +X35.441Y35.399 +X36.318Y34.4 +X36.387Y34.299 +X37.055Y33.3 +X37.1Y33.229 +X37.656Y32.099 +X37.7Y32.01 +X38.11Y30.8 +X38.142Y30.7 +X38.401Y29.4 +X38.411Y29.3 +X38.496Y28 +X38.411Y26.7 +X38.401Y26.6 +X38.142Y25.3 +X38.11Y25.2 +X37.7Y23.989 +X37.656Y23.9 +X37.1Y22.77 +X37.055Y22.7 +X36.387Y21.7 +X36.318Y21.6 +X35.441Y20.6 +X35.399Y20.558 +X34.4Y19.681 +X34.299Y19.612 +X33.3Y18.944 +X33.229Y18.9 +X32.099Y18.343 +X32.01Y18.3 +X30.8Y17.889 +X30.7Y17.857 +X29.4Y17.598 +X29.3Y17.588 +X28Y17.503 +X26.7Y17.588 +X26.6Y17.598 +X25.3Y17.857 +X25.2Y17.889 +X23.989Y18.3 +X23.9Y18.343 +X22.77Y18.9 +X22.7Y18.944 +X21.7Y19.612 +X21.6Y19.681 +X20.6Y20.558 +X20.558Y20.6 G0Z10 X6.3Y8.093 G1Z-18F500 @@ -4417,104 +4496,7 @@ X4.6Y10.036 X4.629Y10 X4.715Y9.9 X6.3Y8.093 -G0Z10 -X20.558Y20.6 -G1Z-18F500 -X19.681Y21.6F1000 -X19.612Y21.7 -X18.944Y22.7 -X18.9Y22.77 -X18.343Y23.9 -X18.3Y23.989 -X17.889Y25.2 -X17.857Y25.3 -X17.598Y26.6 -X17.588Y26.7 -X17.503Y28 -X17.588Y29.3 -X17.598Y29.4 -X17.857Y30.7 -X17.889Y30.8 -X18.3Y32.01 -X18.343Y32.099 -X18.9Y33.229 -X18.944Y33.3 -X19.612Y34.299 -X19.681Y34.4 -X20.558Y35.399 -X20.6Y35.441 -X21.6Y36.318 -X21.7Y36.387 -X22.7Y37.055 -X22.77Y37.1 -X23.9Y37.656 -X23.989Y37.7 -X25.2Y38.11 -X25.3Y38.142 -X26.6Y38.401 -X26.7Y38.411 -X28Y38.496 -X29.3Y38.411 -X29.4Y38.401 -X30.7Y38.142 -X30.8Y38.11 -X32.01Y37.7 -X32.099Y37.656 -X33.229Y37.1 -X33.3Y37.055 -X34.299Y36.387 -X34.4Y36.318 -X35.399Y35.441 -X35.441Y35.399 -X36.318Y34.4 -X36.387Y34.299 -X37.055Y33.3 -X37.1Y33.229 -X37.656Y32.099 -X37.7Y32.01 -X38.11Y30.8 -X38.142Y30.7 -X38.401Y29.4 -X38.411Y29.3 -X38.496Y28 -X38.411Y26.7 -X38.401Y26.6 -X38.142Y25.3 -X38.11Y25.2 -X37.7Y23.989 -X37.656Y23.9 -X37.1Y22.77 -X37.055Y22.7 -X36.387Y21.7 -X36.318Y21.6 -X35.441Y20.6 -X35.399Y20.558 -X34.4Y19.681 -X34.299Y19.612 -X33.3Y18.944 -X33.229Y18.9 -X32.099Y18.343 -X32.01Y18.3 -X30.8Y17.889 -X30.7Y17.857 -X29.4Y17.598 -X29.3Y17.588 -X28Y17.503 -X26.7Y17.588 -X26.6Y17.598 -X25.3Y17.857 -X25.2Y17.889 -X23.989Y18.3 -X23.9Y18.343 -X22.77Y18.9 -X22.7Y18.944 -X21.7Y19.612 -X21.6Y19.681 -X20.6Y20.558 -X20.558Y20.6 -G0Z10 -X6.3Y8.093 -G1Z-18.1F500 +Z-18.1F500 X7.083Y7.2F1000 X7.1Y7.182 X7.182Y7.1 diff --git a/scripts/addons/cam/utils.py b/scripts/addons/cam/utils.py index 6567990..9f814a5 100644 --- a/scripts/addons/cam/utils.py +++ b/scripts/addons/cam/utils.py @@ -1078,7 +1078,7 @@ def getClosest(o, pos, chunks): return ch -async def sortChunks(chunks, o): +async def sortChunks(chunks, o,last_pos=None): if o.strategy != 'WATERLINE': await progress_async('sorting paths') sys.setrecursionlimit(100000) # the getNext() function of CamPathChunk was running out of recursion limits. @@ -1089,7 +1089,7 @@ async def sortChunks(chunks, o): last_progress_time=time.time() total= len(chunks) i = len(chunks) - pos = (0, 0, 0) + pos = (0, 0, 0) if last_pos is None else last_pos while len(chunks) > 0: if o.strategy != 'WATERLINE' and time.time()-last_progress_time>0.1: await progress_async("Sorting paths",100.0*(total-len(chunks))/total)