meerk40t 0.9.7040__tar.gz → 0.9.7050__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/PKG-INFO +1 -1
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/controller.py +10 -2
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutplan.py +1 -36
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/shapes.py +7 -40
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/blobnode.py +19 -4
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/planner.py +25 -11
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/device.py +15 -1
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/driver.py +15 -5
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/laserpanel.py +19 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/materialtest.py +474 -405
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/wobbleproperty.py +6 -2
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/spoolerpanel.py +27 -7
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/wxutils.py +226 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/kernel.py +28 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/main.py +14 -9
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/loader.py +3 -1
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/rdjob.py +48 -8
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/geomstr.py +93 -44
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/rasterplotter.py +6 -1
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t.egg-info/PKG-INFO +1 -1
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/setup.cfg +1 -1
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/LICENSE +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/README.md +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/balor_params.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/clone_loader.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/cylindermod.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/device.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/driver.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/galvo_commands.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/gui/balorconfig.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/gui/balorcontroller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/gui/baloroperationproperties.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/gui/corscene.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/livelightjob.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/mock_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/balormk/usb_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/camera/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/camera/camera.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/camera/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/camera/gui/camerapanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/camera/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/camera/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ch341/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ch341/ch341device.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ch341/libusb.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ch341/mock.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ch341/windriver.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/constants.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/bindalias.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/core.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/cubiccut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/cutcode.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/cutgroup.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/cutobject.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/dwellcut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/gotocut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/homecut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/inputcut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/linecut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/outputcut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/plotcut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/quadcut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/rastercut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/cutcode/waitcut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/drivers.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/align.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/branches.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/clipboard.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/element_treeops.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/element_types.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/elements.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/files.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/geometry.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/grid.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/materials.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/notes.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/offset_clpr.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/offset_mk.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/penbox.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/placements.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/render.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/testcases.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/trace.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/tree_commands.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/undo_redo.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/elements/wordlist.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/exceptions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/laserjob.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/logging.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/bootstrap.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/branch_elems.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/branch_ops.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/branch_regmark.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/cutnode.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/effect_hatch.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/effect_warp.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/effect_wobble.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/elem_ellipse.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/elem_image.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/elem_line.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/elem_path.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/elem_point.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/elem_polyline.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/elem_rect.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/elem_text.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/filenode.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/groupnode.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/image_processed.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/image_raster.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/layernode.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/mixins.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/node.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/nutils.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/op_cut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/op_dots.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/op_engrave.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/op_image.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/op_raster.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/place_current.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/place_point.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/refnode.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/rootnode.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/util_console.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/util_goto.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/util_home.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/util_input.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/util_output.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/node/util_wait.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/parameters.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/plotplanner.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/space.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/spoolers.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/svg_io.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/treeop.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/undos.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/units.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/view.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/webhelp.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/core/wordlist.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/cylinder/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/cylinder/cylinder.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/cylinder/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/cylinder/gui/cylindersettings.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/cylinder/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/basedevice.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/devicechoices.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/dummydevice.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/gui/defaultactions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/gui/effectspanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/gui/formatterpanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/gui/warningpanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/device/mixins.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/dxf/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/dxf/dxf_io.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/dxf/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/external_plugins.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/external_plugins_build.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/cag.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/coolant.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/encode_detect.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/ezd.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/hershey.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/imageactions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/inkscape.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/lbrn.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/mk_potrace.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/outerworld.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/param_functions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/potrace.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/serial_exchange.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/updater.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/vectrace.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/vtracer.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/winsleep.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/extra/xcs_reader.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/fill/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/fill/fills.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/fill/patternfill.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/fill/patterns.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/control.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/controller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/emulator.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/gcodejob.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/gui/grblconfiguration.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/gui/grblcontroller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/gui/grblhardwareconfig.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/gui/grbloperationconfig.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/interpreter.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/loader.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/mock_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/serial_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/tcp_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/grbl/ws_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/about.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/alignment.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/autoexec.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/basicops.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/bufferview.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/busy.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/choicepropertypanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/consolepanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/devicepanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/dialogoptions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/executejob.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/fonts.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/functionwrapper.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/gui_mixins.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/guicolors.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/help_assets/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/help_assets/help_assets.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/helper.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/hersheymanager.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/icons.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/imagesplitter.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/keymap.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/laserrender.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/lasertoolpanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/magnetoptions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/materialmanager.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/mkdebug.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/mwindow.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/navigationpanels.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/notes.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/opassignment.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/operation_info.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/position.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/preferences.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/attributes.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/blobproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/consoleproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/gotoproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/groupproperties.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/hatchproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/imageproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/inputproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/opbranchproperties.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/operationpropertymain.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/outputproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/pathproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/placementproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/pointproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/propertywindow.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/rasterwizardpanels.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/regbranchproperties.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/textproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/waitproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/propertypanels/warpproperty.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/ribbon.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scene/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scene/scene.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scene/sceneconst.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scene/scenepanel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scene/scenespacewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scene/widget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/affinemover.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/attractionwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/bedwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/elementswidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/gridwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/guidewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/laserpathwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/machineoriginwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/nodeselector.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/rectselectwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/relocatewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/reticlewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/scenewidgets/selectionwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/simpleui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/simulation.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/snapoptions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/defaultoperations.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/infowidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/opassignwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/selectionwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/shapepropwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/statusbar.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/statusbarwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/statusbarwidgets/strokewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/themes.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/tips.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/circlebrush.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolcircle.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolcontainer.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/tooldraw.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolellipse.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolimagecut.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolline.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toollinetext.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toollinetext_inline.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolmeasure.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolnodeedit.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolnodemove.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolparameter.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolplacement.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolpoint.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolpointlistbuilder.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolpointmove.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolpolygon.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolpolyline.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolrect.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolrelocate.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolribbon.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/tooltabedit.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/tooltext.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolvector.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/toolwidgets/toolwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/usbconnect.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/buttonwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/checkboxwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/controlwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/debugwidgets.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/handlewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/harmonograph.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/openclosewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/rotationwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/scalewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/seekbarwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/togglewidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/utilitywidgets/toolbarwidget.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/wordlisteditor.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/wxmeerk40t.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/wxmmain.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/wxmribbon.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/wxmscene.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/wxmtree.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/gui/zmatrix.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/image/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/image/dither.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/image/imagetools.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/internal_plugins.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/channel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/context.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/exceptions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/functions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/jobs.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/lifecycles.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/module.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/service.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/settings.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/kernel/states.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/controller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/device.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/driver.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/gui/lhyaccelgui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/gui/lhycontrollergui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/gui/lhydrivergui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/gui/lhyoperationproperties.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/gui/tcpcontroller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/interpreter.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/laserspeed.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/loader.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/parser.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/lihuiyu/tcp_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/builder.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/controller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/device.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/driver.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/gui/moshicontrollergui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/gui/moshidrivergui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/moshi/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/network/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/network/console_server.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/network/kernelserver.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/network/tcp_server.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/network/udp_server.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/network/web_server.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/controller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/device.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/driver.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/gui/newlyconfig.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/gui/newlycontroller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/gui/operationproperties.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/mock_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/newly_params.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/newly/usb_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/rotary/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/rotary/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/rotary/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/rotary/gui/rotarysettings.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/rotary/rotary.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/control.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/controller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/device.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/driver.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/emulator.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/exceptions.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/gui/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/gui/gui.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/gui/ruidaconfig.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/gui/ruidacontroller.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/gui/ruidaoperationproperties.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/mock_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/plugin.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/serial_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/tcp_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/ruida/udp_connection.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/svgelements.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/__init__.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/driver_to_path.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/jhfparser.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/kerftest.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/livinghinges.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/pathtools.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/pmatrix.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/pointfinder.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/polybool.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/shxparser.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/ttfparser.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t/tools/zinglplotter.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t.egg-info/SOURCES.txt +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t.egg-info/dependency_links.txt +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t.egg-info/entry_points.txt +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t.egg-info/requires.txt +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t.egg-info/top_level.txt +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/meerk40t.egg-info/zip-safe +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/pyproject.toml +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/setup.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_cli.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_core_cutcode.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_core_elements.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_core_plotplanner.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_core_viewports.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_drivers_galvo.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_drivers_grbl.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_drivers_lihuiyu.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_drivers_moshi.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_drivers_newly.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_element_degenerate_points.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_elements_classify.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_elements_penbox.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_file_svg.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_fill.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_geomstr.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_geomstr_nodes.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_imagetools_actualize.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_imagetools_wizard.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_kernel.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_laser_speeds.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_length.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_lifecycle.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_operations.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_operations_hatch.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_pmatrix.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_ruida.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_spooler.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_tools_rasterplotter.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_units_angle.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_wobble.py +0 -0
- {meerk40t-0.9.7040 → meerk40t-0.9.7050}/test/test_zingl.py +0 -0
@@ -1003,7 +1003,11 @@ class GalvoController:
|
|
1003
1003
|
def get_scale_from_correction_file(filename):
|
1004
1004
|
with open(filename, "rb") as f:
|
1005
1005
|
label = f.read(0x16)
|
1006
|
-
|
1006
|
+
try:
|
1007
|
+
decoded_label = label.decode("utf-16")
|
1008
|
+
except UnicodeDecodeError:
|
1009
|
+
decoded_label = label.decode("utf-8", errors="ignore")
|
1010
|
+
if decoded_label == "LMC1COR_1.0":
|
1007
1011
|
unk = f.read(2)
|
1008
1012
|
return struct.unpack("63d", f.read(0x1F8))[43]
|
1009
1013
|
else:
|
@@ -1049,7 +1053,11 @@ class GalvoController:
|
|
1049
1053
|
"""
|
1050
1054
|
with open(filename, "rb") as f:
|
1051
1055
|
label = f.read(0x16)
|
1052
|
-
|
1056
|
+
try:
|
1057
|
+
decoded_label = label.decode("utf-16")
|
1058
|
+
except UnicodeDecodeError:
|
1059
|
+
decoded_label = label.decode("utf-8", errors="ignore")
|
1060
|
+
if decoded_label == "LMC1COR_1.0":
|
1053
1061
|
header = f.read(0x1FA)
|
1054
1062
|
return self._read_float_correction_file(f)
|
1055
1063
|
else:
|
@@ -24,7 +24,7 @@ from typing import Optional
|
|
24
24
|
import numpy as np
|
25
25
|
|
26
26
|
from ..svgelements import Group, Matrix, Path, Polygon
|
27
|
-
from ..tools.geomstr import Geomstr, stitch_geometries
|
27
|
+
from ..tools.geomstr import Geomstr, stitch_geometries, stitcheable_nodes
|
28
28
|
from ..tools.pathtools import VectorMontonizer
|
29
29
|
from .cutcode.cutcode import CutCode
|
30
30
|
from .cutcode.cutgroup import CutGroup
|
@@ -265,41 +265,6 @@ class CutPlan:
|
|
265
265
|
stitch_tolerance = 0
|
266
266
|
default_stroke = None
|
267
267
|
default_strokewidth = None
|
268
|
-
|
269
|
-
def stitcheable_nodes(data, tolerance) -> list:
|
270
|
-
out = []
|
271
|
-
geoms = []
|
272
|
-
# Store all geometries together with an indicator, to which node they belong
|
273
|
-
for idx, node in enumerate(data):
|
274
|
-
if not hasattr(node, "as_geometry"):
|
275
|
-
continue
|
276
|
-
for g1 in node.as_geometry().as_contiguous():
|
277
|
-
geoms.append((idx, g1))
|
278
|
-
for idx1, (nodeidx1, g1) in enumerate(geoms):
|
279
|
-
for idx2 in range(idx1 + 1, len(geoms)):
|
280
|
-
nodeidx2 = geoms[idx2][0]
|
281
|
-
g2 = geoms[idx2][1]
|
282
|
-
fp1 = g1.first_point
|
283
|
-
fp2 = g2.first_point
|
284
|
-
lp1 = g1.last_point
|
285
|
-
lp2 = g2.last_point
|
286
|
-
if fp1 is None or fp2 is None:
|
287
|
-
continue
|
288
|
-
if lp1 is None or lp2 is None:
|
289
|
-
continue
|
290
|
-
if (
|
291
|
-
abs(lp1 - lp2) <= tolerance
|
292
|
-
or abs(lp1 - fp2) <= tolerance
|
293
|
-
or abs(fp1 - fp2) <= tolerance
|
294
|
-
or abs(fp1 - lp2) <= tolerance
|
295
|
-
):
|
296
|
-
if nodeidx1 not in out:
|
297
|
-
out.append(nodeidx1)
|
298
|
-
if nodeidx2 not in out:
|
299
|
-
out.append(nodeidx2)
|
300
|
-
|
301
|
-
return [data[idx] for idx in out]
|
302
|
-
|
303
268
|
geoms = []
|
304
269
|
to_be_deleted = []
|
305
270
|
data = stitcheable_nodes(list(op.flat()), stitch_tolerance)
|
@@ -66,7 +66,7 @@ from meerk40t.svgelements import (
|
|
66
66
|
Polygon,
|
67
67
|
Polyline,
|
68
68
|
)
|
69
|
-
from meerk40t.tools.geomstr import Geomstr, stitch_geometries
|
69
|
+
from meerk40t.tools.geomstr import Geomstr, stitch_geometries, stitcheable_nodes
|
70
70
|
|
71
71
|
|
72
72
|
def plugin(kernel, lifecycle=None):
|
@@ -2778,38 +2778,6 @@ def init_commands(kernel):
|
|
2778
2778
|
return data, tolerance, keep, False
|
2779
2779
|
return data, tolerance_val, keep, True
|
2780
2780
|
|
2781
|
-
def stitcheable_nodes(data, tolerance) -> list:
|
2782
|
-
out = []
|
2783
|
-
geoms = []
|
2784
|
-
# Store all geometries together with an indicator, to which node they belong
|
2785
|
-
for idx, node in enumerate(data):
|
2786
|
-
if not hasattr(node, "as_geometry"):
|
2787
|
-
continue
|
2788
|
-
for g1 in node.as_geometry().as_contiguous():
|
2789
|
-
geoms.append((idx, g1))
|
2790
|
-
if tolerance == 0:
|
2791
|
-
tolerance = 1e-6
|
2792
|
-
for idx1, (nodeidx1, g1) in enumerate(geoms):
|
2793
|
-
for idx2 in range(idx1 + 1, len(geoms)):
|
2794
|
-
nodeidx2 = geoms[idx2][0]
|
2795
|
-
g2 = geoms[idx2][1]
|
2796
|
-
fp1 = g1.first_point
|
2797
|
-
fp2 = g2.first_point
|
2798
|
-
lp1 = g1.last_point
|
2799
|
-
lp2 = g2.last_point
|
2800
|
-
if (
|
2801
|
-
abs(lp1 - lp2) <= tolerance
|
2802
|
-
or abs(lp1 - fp2) <= tolerance
|
2803
|
-
or abs(fp1 - fp2) <= tolerance
|
2804
|
-
or abs(fp1 - lp2) <= tolerance
|
2805
|
-
):
|
2806
|
-
if nodeidx1 not in out:
|
2807
|
-
out.append(nodeidx1)
|
2808
|
-
if nodeidx2 not in out:
|
2809
|
-
out.append(nodeidx2)
|
2810
|
-
|
2811
|
-
return [data[idx] for idx in out]
|
2812
|
-
|
2813
2781
|
data, tolerance, keep, valid = _prepare_stitching_params(
|
2814
2782
|
channel, data, tolerance, keep
|
2815
2783
|
)
|
@@ -2829,13 +2797,12 @@ def init_commands(kernel):
|
|
2829
2797
|
default_strokewidth = None
|
2830
2798
|
default_fill = None
|
2831
2799
|
for node in s_data:
|
2832
|
-
|
2833
|
-
|
2834
|
-
|
2835
|
-
|
2836
|
-
|
2837
|
-
|
2838
|
-
default_strokewidth = node.stroke_width
|
2800
|
+
geom: Geomstr = node.as_geometry()
|
2801
|
+
geoms.extend(iter(geom.as_contiguous()))
|
2802
|
+
if default_stroke is None and hasattr(node, "stroke"):
|
2803
|
+
default_stroke = node.stroke
|
2804
|
+
if default_strokewidth is None and hasattr(node, "stroke_width"):
|
2805
|
+
default_strokewidth = node.stroke_width
|
2839
2806
|
to_be_deleted.append(node)
|
2840
2807
|
prev_len = len(geoms)
|
2841
2808
|
if geoms:
|
@@ -41,8 +41,15 @@ class BlobNode(Node):
|
|
41
41
|
return False
|
42
42
|
|
43
43
|
@staticmethod
|
44
|
-
def hex_view(data, data_type):
|
45
|
-
|
44
|
+
def hex_view(data, data_type, info=''):
|
45
|
+
"""
|
46
|
+
Render a hex dump with an optional info header.
|
47
|
+
|
48
|
+
data: bytes to display
|
49
|
+
data_type: mime type
|
50
|
+
info: an arbitrary string to append to the end of first line of header
|
51
|
+
"""
|
52
|
+
header1 = f"Data-Type: {data_type}, Length={len(data)}{info}\n"
|
46
53
|
header2 = "Offset | Hex | Ascii \n"
|
47
54
|
header2 += "-------+-------------------------------------------------+----------------\n"
|
48
55
|
if isinstance(data, str):
|
@@ -70,8 +77,16 @@ class BlobNode(Node):
|
|
70
77
|
return header1 + header2 + "".join(hex_data)
|
71
78
|
|
72
79
|
@staticmethod
|
73
|
-
def ascii_view(data, data_type):
|
74
|
-
|
80
|
+
def ascii_view(data, data_type, info=''):
|
81
|
+
"""
|
82
|
+
Render an ascii view with an optional info header.
|
83
|
+
|
84
|
+
data: bytes to display
|
85
|
+
data_type: mime type
|
86
|
+
info: an arbitrary string to append to the end of first line of header
|
87
|
+
"""
|
88
|
+
|
89
|
+
header1 = f"Data-Type: {data_type}, Length={len(data)}{info}\n"
|
75
90
|
header2 = "Offset | Hex | Ascii \n"
|
76
91
|
header2 += "-------+-------------------------------------------------+----------------\n"
|
77
92
|
if isinstance(data, str):
|
@@ -43,7 +43,9 @@ def plugin(kernel, lifecycle=None):
|
|
43
43
|
},
|
44
44
|
]
|
45
45
|
kernel.register_choices("planner", choices)
|
46
|
-
|
46
|
+
INNER_WARNING = _(
|
47
|
+
"Notabene: Reduce Travel Time and Burn Inner First cannot be used at the same time."
|
48
|
+
)
|
47
49
|
choices = [
|
48
50
|
{
|
49
51
|
"attr": "opt_raster_optimisation",
|
@@ -97,7 +99,9 @@ def plugin(kernel, lifecycle=None):
|
|
97
99
|
"When this option IS checked, Meerk40t will burn each subpath "
|
98
100
|
+ "and then move to the nearest remaining subpath instead, "
|
99
101
|
+ "reducing the time taken moving between burn items."
|
100
|
-
)
|
102
|
+
)
|
103
|
+
+ "\n"
|
104
|
+
+ INNER_WARNING,
|
101
105
|
"page": "Optimisations",
|
102
106
|
"section": "_20_Reducing Movements",
|
103
107
|
},
|
@@ -187,9 +191,11 @@ def plugin(kernel, lifecycle=None):
|
|
187
191
|
"default": False,
|
188
192
|
"type": bool,
|
189
193
|
"label": _("Combine path segments"),
|
190
|
-
"tip":
|
191
|
-
|
192
|
-
|
194
|
+
"tip": _(
|
195
|
+
"Stitch segments together that are very close (ideally having joint start/end points)."
|
196
|
+
)
|
197
|
+
+ "\n"
|
198
|
+
+ _("Only inside a single cut/engrave operation."),
|
193
199
|
"page": "Optimisations",
|
194
200
|
"section": "_05_Stitching",
|
195
201
|
},
|
@@ -199,7 +205,9 @@ def plugin(kernel, lifecycle=None):
|
|
199
205
|
"default": "0",
|
200
206
|
"type": Length,
|
201
207
|
"label": _("Tolerance"),
|
202
|
-
"tip": _(
|
208
|
+
"tip": _(
|
209
|
+
"Tolerance to decide whether two path segments should be joined."
|
210
|
+
),
|
203
211
|
"page": "Optimisations",
|
204
212
|
"section": "_05_Stitching",
|
205
213
|
"conditional": (context, "opt_stitching"),
|
@@ -221,7 +229,9 @@ def plugin(kernel, lifecycle=None):
|
|
221
229
|
+ "* Deselecting Cut Inner First if you are not cutting fully through your material \n"
|
222
230
|
+ "* Putting the inner paths into a separate earlier operation(s) and not using Merge Operations or Cut Inner First \n"
|
223
231
|
+ "* If you are using multiple passes, check Merge Passes"
|
224
|
-
)
|
232
|
+
)
|
233
|
+
+ "\n"
|
234
|
+
+ INNER_WARNING,
|
225
235
|
"page": "Optimisations",
|
226
236
|
"section": "_10_Burn sequence",
|
227
237
|
},
|
@@ -285,8 +295,11 @@ def plugin(kernel, lifecycle=None):
|
|
285
295
|
"type": bool,
|
286
296
|
"label": _("Keep effect lines together"),
|
287
297
|
"tip": (
|
288
|
-
_("Active: effects like hatches are dealt with as a bigger shape")
|
289
|
-
|
298
|
+
_("Active: effects like hatches are dealt with as a bigger shape")
|
299
|
+
+ "\n"
|
300
|
+
+ _(
|
301
|
+
"Inactive: every single line segment will be dealt with individually."
|
302
|
+
)
|
290
303
|
),
|
291
304
|
"page": "Optimisations",
|
292
305
|
"section": "_25_Effects",
|
@@ -298,8 +311,9 @@ def plugin(kernel, lifecycle=None):
|
|
298
311
|
"type": bool,
|
299
312
|
"label": _("Optimize internally"),
|
300
313
|
"tip": (
|
301
|
-
_("Active: hatch lines will be optimized internally")
|
302
|
-
|
314
|
+
_("Active: hatch lines will be optimized internally")
|
315
|
+
+ "\n"
|
316
|
+
+ _("Inactive: hatch lines will be burnt sequentially.")
|
303
317
|
),
|
304
318
|
"page": "Optimisations",
|
305
319
|
"section": "_25_Effects",
|
@@ -495,6 +495,19 @@ class GRBLDevice(Service, Status):
|
|
495
495
|
"section": "_20_" + _("Maximum speeds"),
|
496
496
|
"subsection": "_10_",
|
497
497
|
},
|
498
|
+
{
|
499
|
+
"attr": "rapid_speed",
|
500
|
+
"object": self,
|
501
|
+
"default": 600,
|
502
|
+
"type": float,
|
503
|
+
"label": _("Travel speed"),
|
504
|
+
"trailer": "mm/s",
|
505
|
+
"tip": _(
|
506
|
+
"What is the travel speed for your device to move from point to another."
|
507
|
+
),
|
508
|
+
"section": "_25_" + _("Travel"),
|
509
|
+
"subsection": "_10_",
|
510
|
+
},
|
498
511
|
{
|
499
512
|
"attr": "limit_buffer",
|
500
513
|
"object": self,
|
@@ -900,7 +913,8 @@ class GRBLDevice(Service, Status):
|
|
900
913
|
# self.redlight_preferred = True
|
901
914
|
# self.driver.set("power", int(self.red_dot_level / 100 * 1000))
|
902
915
|
self.driver._clean()
|
903
|
-
self.
|
916
|
+
rapid_speed = self.setting(float, "rapid_speed", 600.0)
|
917
|
+
self.driver.laser_on(power=int(self.red_dot_level), speed=rapid_speed)
|
904
918
|
# By default, any move is a G0 move which will not activate the laser,
|
905
919
|
# so we need to switch to G1 mode:
|
906
920
|
self.driver.move_mode = 1
|
@@ -47,7 +47,12 @@ class GRBLDriver(Parameters):
|
|
47
47
|
self.stepper_step_size = UNITS_PER_MIL
|
48
48
|
|
49
49
|
self.plot_planner = PlotPlanner(
|
50
|
-
self.settings,
|
50
|
+
self.settings,
|
51
|
+
single=True,
|
52
|
+
ppi=False,
|
53
|
+
shift=False,
|
54
|
+
group=True,
|
55
|
+
require_uniform_movement=False,
|
51
56
|
)
|
52
57
|
self.queue = []
|
53
58
|
self._queue_current = 0
|
@@ -407,10 +412,10 @@ class GRBLDriver(Parameters):
|
|
407
412
|
for q in self.queue:
|
408
413
|
# Are there any custom commands to be executed?
|
409
414
|
# Usecase (as described in issue https://github.com/meerk40t/meerk40t/issues/2764 ):
|
410
|
-
# Switch between M3 and M4 mode for cut / raster
|
415
|
+
# Switch between M3 and M4 mode for cut / raster
|
411
416
|
# M3=used to cut as gantry acceleration doesn't matter on a cut.
|
412
|
-
# M4=used for Raster/Engrave operations, as grblHAL will
|
413
|
-
# adjust power based on gantry speed including acceleration.
|
417
|
+
# M4=used for Raster/Engrave operations, as grblHAL will
|
418
|
+
# adjust power based on gantry speed including acceleration.
|
414
419
|
|
415
420
|
cmd_string = q.settings.get("custom_commands", "")
|
416
421
|
if cmd_string:
|
@@ -437,7 +442,7 @@ class GRBLDriver(Parameters):
|
|
437
442
|
self.on_value = 1.0
|
438
443
|
# Do we have a custom z-Value?
|
439
444
|
# NB: zaxis is not a property inside Parameters like power/or speed
|
440
|
-
# so we need to deal with it more directly
|
445
|
+
# so we need to deal with it more directly
|
441
446
|
# (e.g. self.power is the equivalent to self.settings.["power"]))
|
442
447
|
qzaxis = q.settings.get("zaxis", self.zaxis)
|
443
448
|
if qzaxis != self.zaxis:
|
@@ -534,6 +539,7 @@ class GRBLDriver(Parameters):
|
|
534
539
|
PLOT_RAPID | PLOT_JOG
|
535
540
|
): # Plot planner requests position change.
|
536
541
|
# self.move_mode = 0
|
542
|
+
self.rapid_mode()
|
537
543
|
self._move(x, y)
|
538
544
|
continue
|
539
545
|
# if on == 0:
|
@@ -609,6 +615,10 @@ class GRBLDriver(Parameters):
|
|
609
615
|
@param values:
|
610
616
|
@return:
|
611
617
|
"""
|
618
|
+
speedvalue = self.service.setting(float, "rapid_speed", 600.0)
|
619
|
+
if self.speed != speedvalue:
|
620
|
+
self.speed = speedvalue
|
621
|
+
self.speed_dirty = True
|
612
622
|
|
613
623
|
def finished_mode(self, *values):
|
614
624
|
"""
|
@@ -888,6 +888,25 @@ class OptimizePanel(wx.Panel):
|
|
888
888
|
self.checkbox_optimize.SetValue(newvalue)
|
889
889
|
self.optimize_panel.Enable(newvalue)
|
890
890
|
|
891
|
+
def ensure_mutually_exclusive(self, prio: str):
|
892
|
+
# Ensure that opt_inner_first and opt_reduce_travel are mutually exclusive
|
893
|
+
inner_first = self.context.planner.opt_inner_first
|
894
|
+
reduce_travel = self.context.planner.opt_reduce_travel
|
895
|
+
if inner_first and reduce_travel:
|
896
|
+
if prio == "opt_inner_first":
|
897
|
+
self.context.planner.opt_reduce_travel = False
|
898
|
+
else:
|
899
|
+
self.context.planner.opt_inner_first = False
|
900
|
+
self.optimize_panel.reload()
|
901
|
+
|
902
|
+
@signal_listener("opt_inner_first")
|
903
|
+
def opt_inner_update(self, origin, *message):
|
904
|
+
self.ensure_mutually_exclusive("opt_inner_first")
|
905
|
+
|
906
|
+
@signal_listener("opt_reduce_travel")
|
907
|
+
def opt_reduce_travel_update(self, origin, *message):
|
908
|
+
self.ensure_mutually_exclusive("opt_reduce_travel")
|
909
|
+
|
891
910
|
def on_optimize(self, event):
|
892
911
|
newvalue = bool(self.checkbox_optimize.GetValue())
|
893
912
|
if newvalue != self.context.planner.do_optimization:
|