meerk40t 0.9.7900__tar.gz → 0.9.7930__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.7900 → meerk40t-0.9.7930}/PKG-INFO +1 -1
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/controller.py +46 -13
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/livelightjob.py +34 -7
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/plotcut.py +2 -1
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/branches.py +35 -14
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/clipboard.py +10 -12
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/elements.py +23 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/geometry.py +48 -14
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/grid.py +56 -24
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/offset_clpr.py +2 -4
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/placements.py +17 -22
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/render.py +30 -11
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/shapes.py +205 -125
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/spoolers.py +1 -1
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/units.py +4 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/emulator.py +10 -8
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/gcodejob.py +11 -3
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/plugin.py +10 -1
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/help_assets/help_assets.py +126 -2
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/navigationpanels.py +9 -1
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/wxmeerk40t.py +45 -17
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/wxmmain.py +7 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/driver.py +6 -6
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/main.py +2 -2
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/emulator.py +12 -9
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/plugin.py +5 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/rdjob.py +5 -5
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/geomstr.py +89 -1
- meerk40t-0.9.7930/meerk40t/tools/ttfparser.py +1479 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t.egg-info/PKG-INFO +1 -1
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/setup.cfg +1 -1
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_length.py +7 -0
- meerk40t-0.9.7900/meerk40t/tools/ttfparser.py +0 -799
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/LICENSE +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/README.md +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/balor_params.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/clone_loader.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/cylindermod.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/device.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/driver.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/galvo_commands.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/gui/balorconfig.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/gui/balorcontroller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/gui/baloroperationproperties.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/gui/corscene.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/mock_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/plugin.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/balormk/usb_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/camera/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/camera/camera.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/camera/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/camera/gui/camerapanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/camera/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/camera/plugin.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ch341/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ch341/ch341device.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ch341/libusb.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ch341/mock.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ch341/windriver.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/constants.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/bindalias.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/core.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/cubiccut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/cutcode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/cutgroup.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/cutobject.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/dwellcut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/gotocut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/homecut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/inputcut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/linecut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/outputcut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/quadcut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/rastercut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutcode/waitcut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/cutplan.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/drivers.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/align.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/element_treeops.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/element_types.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/files.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/materials.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/notes.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/offset_mk.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/penbox.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/testcases.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/trace.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/tree_commands.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/undo_redo.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/elements/wordlist.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/exceptions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/laserjob.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/logging.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/blobnode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/bootstrap.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/branch_elems.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/branch_ops.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/branch_regmark.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/cutnode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/effect_hatch.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/effect_warp.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/effect_wobble.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/elem_ellipse.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/elem_image.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/elem_line.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/elem_path.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/elem_point.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/elem_polyline.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/elem_rect.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/elem_text.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/filenode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/groupnode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/image_processed.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/image_raster.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/layernode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/mixins.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/node.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/nutils.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/op_cut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/op_dots.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/op_engrave.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/op_image.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/op_raster.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/place_current.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/place_point.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/refnode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/rootnode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/util_console.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/util_goto.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/util_home.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/util_input.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/util_output.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/node/util_wait.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/parameters.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/planner.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/plotplanner.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/space.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/svg_io.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/treeop.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/undos.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/view.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/webhelp.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/core/wordlist.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/cylinder/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/cylinder/cylinder.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/cylinder/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/cylinder/gui/cylindersettings.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/cylinder/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/basedevice.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/devicechoices.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/dummydevice.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/gui/defaultactions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/gui/effectspanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/gui/formatterpanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/gui/warningpanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/device/mixins.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/dxf/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/dxf/dxf_io.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/dxf/plugin.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/external_plugins.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/external_plugins_build.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/cag.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/coolant.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/encode_detect.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/ezd.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/hershey.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/imageactions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/inkscape.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/lbrn.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/mk_potrace.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/outerworld.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/param_functions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/potrace.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/serial_exchange.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/updater.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/vectrace.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/vtracer.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/winsleep.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/extra/xcs_reader.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/fill/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/fill/fills.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/fill/patternfill.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/fill/patterns.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/control.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/controller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/device.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/driver.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/gui/grblconfiguration.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/gui/grblcontroller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/gui/grblhardwareconfig.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/gui/grbloperationconfig.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/interpreter.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/loader.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/mock_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/serial_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/tcp_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/grbl/ws_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/about.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/alignment.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/autoexec.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/basicops.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/bufferview.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/busy.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/choicepropertypanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/consolepanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/devicepanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/dialogoptions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/executejob.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/fonts.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/functionwrapper.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/gui_mixins.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/guicolors.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/help_assets/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/helper.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/hersheymanager.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/icons.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/imagesplitter.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/keymap.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/laserpanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/laserrender.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/lasertoolpanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/magnetoptions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/materialmanager.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/materialtest.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/mkdebug.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/mwindow.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/notes.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/opassignment.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/operation_info.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/plugin.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/position.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/preferences.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/attributes.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/blobproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/consoleproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/gotoproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/groupproperties.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/hatchproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/imageproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/inputproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/opbranchproperties.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/operationpropertymain.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/outputproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/pathproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/placementproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/pointproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/propertywindow.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/rasterwizardpanels.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/regbranchproperties.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/textproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/waitproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/warpproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/propertypanels/wobbleproperty.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/ribbon.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scene/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scene/scene.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scene/sceneconst.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scene/scenepanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scene/scenespacewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scene/widget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/affinemover.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/attractionwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/bedwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/elementswidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/gridwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/guidewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/laserpathwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/machineoriginwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/nodeselector.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/rectselectwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/relocatewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/reticlewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/scenewidgets/selectionwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/simpleui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/simulation.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/snapoptions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/spoolerpanel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/defaultoperations.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/infowidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/opassignwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/selectionwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/shapepropwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/statusbar.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/statusbarwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/statusbarwidgets/strokewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/themes.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/tips.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/circlebrush.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolcircle.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolcontainer.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/tooldraw.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolellipse.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolimagecut.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolline.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toollinetext.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toollinetext_inline.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolmeasure.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolnodeedit.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolnodemove.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolparameter.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolplacement.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolpoint.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolpointlistbuilder.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolpointmove.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolpolygon.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolpolyline.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolrect.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolrelocate.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolribbon.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/tooltabedit.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/tooltext.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolvector.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/toolwidgets/toolwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/usbconnect.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/buttonwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/checkboxwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/controlwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/debugwidgets.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/handlewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/harmonograph.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/openclosewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/rotationwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/scalewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/seekbarwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/togglewidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/utilitywidgets/toolbarwidget.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/wordlisteditor.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/wxmribbon.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/wxmscene.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/wxmtree.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/wxutils.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/gui/zmatrix.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/image/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/image/dither.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/image/imagetools.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/internal_plugins.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/channel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/context.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/exceptions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/functions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/inhibitor.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/jobs.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/kernel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/lifecycles.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/module.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/service.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/settings.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/kernel/states.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/controller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/device.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/gui/lhyaccelgui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/gui/lhycontrollergui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/gui/lhydrivergui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/gui/lhyoperationproperties.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/gui/tcpcontroller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/interpreter.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/laserspeed.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/loader.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/parser.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/plugin.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/lihuiyu/tcp_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/builder.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/controller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/device.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/driver.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/gui/moshicontrollergui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/gui/moshidrivergui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/moshi/plugin.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/network/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/network/console_server.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/network/kernelserver.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/network/tcp_server.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/network/udp_server.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/network/web_server.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/controller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/device.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/driver.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/gui/newlyconfig.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/gui/newlycontroller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/gui/operationproperties.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/mock_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/newly_params.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/plugin.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/newly/usb_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/rotary/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/rotary/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/rotary/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/rotary/gui/rotarysettings.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/rotary/rotary.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/control.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/controller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/device.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/driver.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/exceptions.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/gui/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/gui/gui.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/gui/ruidaconfig.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/gui/ruidacontroller.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/gui/ruidaoperationproperties.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/loader.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/mock_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/serial_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/tcp_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/ruida/udp_connection.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/svgelements.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/__init__.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/driver_to_path.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/jhfparser.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/kerftest.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/livinghinges.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/pathtools.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/pmatrix.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/pointfinder.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/polybool.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/rasterplotter.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/shxparser.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t/tools/zinglplotter.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t.egg-info/SOURCES.txt +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t.egg-info/dependency_links.txt +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t.egg-info/entry_points.txt +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t.egg-info/requires.txt +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t.egg-info/top_level.txt +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/meerk40t.egg-info/zip-safe +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/pyproject.toml +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/setup.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_cli.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_core_cutcode.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_core_elements.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_core_plotplanner.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_core_viewports.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_drivers_galvo.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_drivers_grbl.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_drivers_lihuiyu.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_drivers_moshi.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_drivers_newly.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_element_degenerate_points.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_elements_classify.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_elements_penbox.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_file_svg.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_fill.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_geomstr.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_geomstr_nodes.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_imagetools_actualize.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_imagetools_wizard.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_kernel.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_laser_speeds.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_lifecycle.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_operations.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_operations_hatch.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_pmatrix.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_ruida.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_spooler.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_tools_rasterplotter.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_units_angle.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_wobble.py +0 -0
- {meerk40t-0.9.7900 → meerk40t-0.9.7930}/test/test_zingl.py +0 -0
@@ -438,6 +438,16 @@ class GalvoController:
|
|
438
438
|
# MODE SHIFTS
|
439
439
|
#######################
|
440
440
|
|
441
|
+
def mode_shift(self, mode):
|
442
|
+
if self.source == "fiber":
|
443
|
+
self.set_fiber_mo(mode)
|
444
|
+
elif self.source == "uv":
|
445
|
+
# unclear what this does.
|
446
|
+
pass
|
447
|
+
elif self.source == "co2":
|
448
|
+
# unclear what this does.
|
449
|
+
pass
|
450
|
+
|
441
451
|
def raw_mode(self):
|
442
452
|
self.mode = DRIVER_STATE_RAW
|
443
453
|
|
@@ -452,8 +462,7 @@ class GalvoController:
|
|
452
462
|
self._list_executing = False
|
453
463
|
self._number_of_list_packets = 0
|
454
464
|
self.wait_idle()
|
455
|
-
|
456
|
-
self.set_fiber_mo(0)
|
465
|
+
self.mode_shift(0)
|
457
466
|
self.port_off(bit=0)
|
458
467
|
self.write_port()
|
459
468
|
marktime = self.get_mark_time()
|
@@ -472,15 +481,13 @@ class GalvoController:
|
|
472
481
|
self.light_off()
|
473
482
|
self.port_on(bit=0)
|
474
483
|
self.write_port()
|
475
|
-
|
476
|
-
self.set_fiber_mo(1)
|
484
|
+
self.mode_shift(1)
|
477
485
|
else:
|
478
486
|
self.mode = DRIVER_STATE_PROGRAM
|
479
487
|
self.reset_list()
|
480
488
|
self.port_on(bit=0)
|
481
489
|
self.write_port()
|
482
|
-
|
483
|
-
self.set_fiber_mo(1)
|
490
|
+
self.mode_shift(1)
|
484
491
|
self._ready = None
|
485
492
|
self._speed = None
|
486
493
|
self._travel_speed = None
|
@@ -494,8 +501,23 @@ class GalvoController:
|
|
494
501
|
self._delay_poly = None
|
495
502
|
self._delay_end = None
|
496
503
|
self.list_ready()
|
497
|
-
|
498
|
-
|
504
|
+
# Type specific initialization.
|
505
|
+
if self.source == "fiber":
|
506
|
+
if self.service.delay_openmo != 0:
|
507
|
+
self.list_delay_time(int(self.service.delay_openmo * 100))
|
508
|
+
elif self.source == "co2":
|
509
|
+
# unclear what this does.
|
510
|
+
pass
|
511
|
+
elif self.source == "uv":
|
512
|
+
"""
|
513
|
+
According to https://discord.com/channels/910979180970278922/932730275253854209/1394709596647592006
|
514
|
+
self.list_mark_frequency(0x014D) # 333
|
515
|
+
self.list_set_co2_fpk(0x0043, 0x0043) # 67, 67
|
516
|
+
self.list_mark_power_ratio(0x00F0) # 240
|
517
|
+
|
518
|
+
fpk, power, frequency are already done in set_settings.
|
519
|
+
"""
|
520
|
+
pass
|
499
521
|
self.list_write_port()
|
500
522
|
self.list_jump_speed(self.service.default_rapid_speed)
|
501
523
|
|
@@ -503,8 +525,7 @@ class GalvoController:
|
|
503
525
|
if self.mode == DRIVER_STATE_LIGHT:
|
504
526
|
return
|
505
527
|
if self.mode == DRIVER_STATE_PROGRAM:
|
506
|
-
|
507
|
-
self.set_fiber_mo(0)
|
528
|
+
self.mode_shift(0)
|
508
529
|
self.port_off(bit=0)
|
509
530
|
self.port_on(self._light_bit)
|
510
531
|
self.write_port()
|
@@ -635,6 +656,11 @@ class GalvoController:
|
|
635
656
|
self.frequency(frequency)
|
636
657
|
self.fpk(fpk)
|
637
658
|
self.power(power)
|
659
|
+
elif self.source == "uv":
|
660
|
+
self.frequency(frequency)
|
661
|
+
self.fpk(fpk)
|
662
|
+
self.power(power)
|
663
|
+
|
638
664
|
self.list_mark_speed(float(settings.get("speed", self.service.default_speed)))
|
639
665
|
|
640
666
|
if str(settings.get("timing_enabled", False)).lower() == "true":
|
@@ -893,8 +919,11 @@ class GalvoController:
|
|
893
919
|
if self.source == "co2":
|
894
920
|
power_ratio = int(round(200 * power / self._frequency))
|
895
921
|
self.list_mark_power_ratio(power_ratio)
|
896
|
-
|
922
|
+
elif self.source == "fiber":
|
897
923
|
self.list_mark_current(self._convert_power(power))
|
924
|
+
elif self.source == "uv":
|
925
|
+
power_ratio = int(round(200 * power / self._frequency))
|
926
|
+
self.list_mark_power_ratio(power_ratio)
|
898
927
|
|
899
928
|
def frequency(self, frequency):
|
900
929
|
if self._frequency == frequency:
|
@@ -904,6 +933,10 @@ class GalvoController:
|
|
904
933
|
self.list_qswitch_period(self._convert_frequency(frequency, base=20000.0))
|
905
934
|
elif self.source == "co2":
|
906
935
|
self.list_mark_frequency(self._convert_frequency(frequency, base=10000.0))
|
936
|
+
elif self.source == "uv":
|
937
|
+
# UV source uses the same frequency as CO2.
|
938
|
+
# It is not clear if this is correct.
|
939
|
+
self.list_mark_frequency(self._convert_frequency(frequency, base=10000.0))
|
907
940
|
|
908
941
|
def fpk(self, fpk):
|
909
942
|
"""
|
@@ -911,8 +944,8 @@ class GalvoController:
|
|
911
944
|
@param fpk: first_pulse_killer value in percent.
|
912
945
|
@return:
|
913
946
|
"""
|
914
|
-
if self.source
|
915
|
-
# FPK only used for CO2
|
947
|
+
if self.source not in ("co2", "uv"):
|
948
|
+
# FPK only used for CO2 and UV sources.
|
916
949
|
return
|
917
950
|
if self._fpk == fpk or fpk is None:
|
918
951
|
return
|
@@ -86,9 +86,9 @@ class LiveLightJob:
|
|
86
86
|
|
87
87
|
@property
|
88
88
|
def status(self):
|
89
|
-
if self.is_running and self.time_started is not None:
|
89
|
+
if self.is_running() and self.time_started is not None:
|
90
90
|
return "Running"
|
91
|
-
elif not self.is_running:
|
91
|
+
elif not self.is_running():
|
92
92
|
return "Disabled"
|
93
93
|
else:
|
94
94
|
return "Queued"
|
@@ -233,8 +233,8 @@ class LiveLightJob:
|
|
233
233
|
# We required them in frame.
|
234
234
|
continue
|
235
235
|
# Fix them.
|
236
|
-
x
|
237
|
-
y
|
236
|
+
x = max(min(x, 0xFFFF), 0)
|
237
|
+
y = max(min(y, 0xFFFF), 0)
|
238
238
|
if first:
|
239
239
|
first_x, first_y = x, y
|
240
240
|
first = False
|
@@ -333,7 +333,7 @@ class LiveLightJob:
|
|
333
333
|
self.update()
|
334
334
|
|
335
335
|
def update_crosshair(self):
|
336
|
-
"""Update the redlight path to display crosshairs. Fallback case when
|
336
|
+
"""Update the redlight path to display crosshairs. Fallback case when nothing can be displayed"""
|
337
337
|
margin = 5000
|
338
338
|
geometry = Geomstr.lines(
|
339
339
|
(0x8000, 0x8000),
|
@@ -348,10 +348,37 @@ class LiveLightJob:
|
|
348
348
|
)
|
349
349
|
self.prepare_redlight_point(geometry, False, "crosshair")
|
350
350
|
|
351
|
+
def update_lightning(self):
|
352
|
+
"""
|
353
|
+
Update the redlight path to display lightning bolts.
|
354
|
+
Fallback case for out of bounds paths
|
355
|
+
"""
|
356
|
+
margin = float(Length("1cm"))
|
357
|
+
orgx = self.service.view.width // 2
|
358
|
+
orgy = self.service.view.height // 2
|
359
|
+
|
360
|
+
geometry = Geomstr.lines(
|
361
|
+
(orgx - margin, orgy - 2 * margin), # top
|
362
|
+
(orgx - margin, orgy + margin),
|
363
|
+
(orgx + margin, orgy - margin),
|
364
|
+
(orgx + margin, orgy + 2 * margin),
|
365
|
+
)
|
366
|
+
geometry2 = Geomstr.lines(
|
367
|
+
(orgx + 0.5 * margin, orgy + 1.5 * margin), # left
|
368
|
+
(orgx + 0.5 * margin, orgy + 1.5 * margin), # left
|
369
|
+
(orgx + margin, orgy + 2 * margin),
|
370
|
+
(orgx + 1.5 * margin, orgy + 1.5 * margin),
|
371
|
+
(orgx + 0.5 * margin, orgy + 1.5 * margin), # left
|
372
|
+
)
|
373
|
+
geometry.append(geometry2)
|
374
|
+
|
375
|
+
self.prepare_redlight_point(geometry, True, "lightning")
|
376
|
+
|
351
377
|
def update_geometry(self):
|
352
378
|
"""Update the redlight path based on the provided geometry. Static, won't be changed."""
|
353
379
|
if self._geometry is None:
|
354
|
-
self.update_crosshair()
|
380
|
+
# self.update_crosshair()
|
381
|
+
self.update_lightning()
|
355
382
|
return
|
356
383
|
geometry = Geomstr(self._geometry)
|
357
384
|
self.prepare_redlight_point(geometry, not self.raw, "geometry")
|
@@ -363,7 +390,7 @@ class LiveLightJob:
|
|
363
390
|
return
|
364
391
|
geometry = method(elems)
|
365
392
|
if geometry is None:
|
366
|
-
self.
|
393
|
+
self.update_lightning()
|
367
394
|
return
|
368
395
|
|
369
396
|
self.prepare_redlight_point(geometry, True, source)
|
@@ -59,7 +59,8 @@ class PlotCut(CutObject):
|
|
59
59
|
# Default to vector settings.
|
60
60
|
self.settings["raster_step_x"] = 0
|
61
61
|
self.settings["raster_step_y"] = 0
|
62
|
-
|
62
|
+
# We shouldn't reset power here, because it is set by the plot planner.
|
63
|
+
# self.settings["power"] = 1000.0
|
63
64
|
speed = self.settings.get("speed", 0)
|
64
65
|
if speed is None:
|
65
66
|
return False
|
@@ -830,13 +830,13 @@ def init_commands(kernel):
|
|
830
830
|
|
831
831
|
@self.console_argument(
|
832
832
|
"x",
|
833
|
-
type=
|
833
|
+
type=str,
|
834
834
|
default=0,
|
835
835
|
help=_("X-Coordinate of Goto?"),
|
836
836
|
)
|
837
837
|
@self.console_argument(
|
838
838
|
"y",
|
839
|
-
type=
|
839
|
+
type=str,
|
840
840
|
default=0,
|
841
841
|
help=_("Y-Coordinate of Goto?"),
|
842
842
|
)
|
@@ -848,11 +848,22 @@ def init_commands(kernel):
|
|
848
848
|
)
|
849
849
|
def gotoop(
|
850
850
|
command,
|
851
|
+
channel,
|
852
|
+
_,
|
851
853
|
x=0,
|
852
854
|
y=0,
|
853
855
|
**kwargs,
|
854
856
|
):
|
855
|
-
|
857
|
+
lensett = self.length_settings()
|
858
|
+
try:
|
859
|
+
# fmt: off
|
860
|
+
# The goto operation expects x and y to be in parsable length format.
|
861
|
+
sx = Length(x, relative_length=self.device.view.width, settings=lensett).length_mm
|
862
|
+
sy = Length(y, relative_length=self.device.view.height, settings=lensett).length_mm
|
863
|
+
# fmt: on
|
864
|
+
except ValueError:
|
865
|
+
raise CommandSyntaxError(_("Invalid length value."))
|
866
|
+
op = self.op_branch.add(type="util goto", x=sx, y=sy)
|
856
867
|
return "ops", [op]
|
857
868
|
|
858
869
|
@self.console_command(
|
@@ -1326,10 +1337,10 @@ def init_commands(kernel):
|
|
1326
1337
|
return "elements", data
|
1327
1338
|
|
1328
1339
|
@self.console_option(
|
1329
|
-
"dx", "x", help=_("copy offset x (for elems)"), type=
|
1340
|
+
"dx", "x", help=_("copy offset x (for elems)"), type=str, default=0
|
1330
1341
|
)
|
1331
1342
|
@self.console_option(
|
1332
|
-
"dy", "y", help=_("copy offset y (for elems)"), type=
|
1343
|
+
"dy", "y", help=_("copy offset y (for elems)"), type=str, default=0
|
1333
1344
|
)
|
1334
1345
|
@self.console_option(
|
1335
1346
|
"copies", "c", help=_("amount of copies to be created"), type=int, default=1
|
@@ -1341,7 +1352,16 @@ def init_commands(kernel):
|
|
1341
1352
|
output_type=("elements", "ops"),
|
1342
1353
|
)
|
1343
1354
|
def e_copy(
|
1344
|
-
|
1355
|
+
command,
|
1356
|
+
channel,
|
1357
|
+
_,
|
1358
|
+
data=None,
|
1359
|
+
data_type=None,
|
1360
|
+
post=None,
|
1361
|
+
dx=None,
|
1362
|
+
dy=None,
|
1363
|
+
copies=None,
|
1364
|
+
**kwargs,
|
1345
1365
|
):
|
1346
1366
|
if data_type is None:
|
1347
1367
|
if data is None:
|
@@ -1378,14 +1398,15 @@ def init_commands(kernel):
|
|
1378
1398
|
self.add_ops(add_ops)
|
1379
1399
|
return "ops", add_ops
|
1380
1400
|
else:
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
x_pos = float(dx)
|
1385
|
-
|
1386
|
-
|
1387
|
-
|
1388
|
-
|
1401
|
+
lensett = self.length_settings()
|
1402
|
+
try:
|
1403
|
+
# fmt: off
|
1404
|
+
x_pos = 0 if dx is None else float(Length(dx, relative_length=self.device.view.width, settings=lensett))
|
1405
|
+
y_pos = 0 if dy is None else float(Length(dy, relative_length=self.device.view.height, settings=lensett))
|
1406
|
+
# fmt: on
|
1407
|
+
except ValueError:
|
1408
|
+
channel(_("Invalid length value for copy offset."))
|
1409
|
+
return
|
1389
1410
|
add_elem = list()
|
1390
1411
|
shift = list()
|
1391
1412
|
tx = 0
|
@@ -77,8 +77,8 @@ def init_commands(kernel):
|
|
77
77
|
self.signal("icons")
|
78
78
|
return "elements", self._clipboard[destination]
|
79
79
|
|
80
|
-
@self.console_option("dx", "x", help=_("paste offset x"), type=
|
81
|
-
@self.console_option("dy", "y", help=_("paste offset y"), type=
|
80
|
+
@self.console_option("dx", "x", help=_("paste offset x"), type=str, default=0)
|
81
|
+
@self.console_option("dy", "y", help=_("paste offset y"), type=str, default=0)
|
82
82
|
@self.console_command(
|
83
83
|
"paste",
|
84
84
|
help=_("clipboard paste"),
|
@@ -123,15 +123,11 @@ def init_commands(kernel):
|
|
123
123
|
if len(pasted) == 0:
|
124
124
|
channel(_("Error: Clipboard Empty"))
|
125
125
|
return
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
else
|
130
|
-
|
131
|
-
if dy is not None:
|
132
|
-
dy = float(dy)
|
133
|
-
else:
|
134
|
-
dy = 0
|
126
|
+
lensett = self.length_settings()
|
127
|
+
# fmt: off
|
128
|
+
dx = 0 if dx is None else float(Length(dx, relative_length=self.device.view.width, settings=lensett))
|
129
|
+
dy = 0 if dy is None else float(Length(dy, relative_length=self.device.view.height, settings=lensett))
|
130
|
+
# fmt: on
|
135
131
|
if dx != 0 or dy != 0:
|
136
132
|
matrix = Matrix.translate(dx, dy)
|
137
133
|
for node in pasted:
|
@@ -139,7 +135,9 @@ def init_commands(kernel):
|
|
139
135
|
# _("Clipboard paste")
|
140
136
|
with self.undoscope("Clipboard paste"):
|
141
137
|
if len(pasted) > 1:
|
142
|
-
group = self.elem_branch.add(
|
138
|
+
group = self.elem_branch.add(
|
139
|
+
type="group", label="Group", id="Copy", expanded=True
|
140
|
+
)
|
143
141
|
else:
|
144
142
|
group = self.elem_branch
|
145
143
|
target = []
|
@@ -4404,6 +4404,29 @@ class Elemental(Service):
|
|
4404
4404
|
|
4405
4405
|
return changed, before, after
|
4406
4406
|
|
4407
|
+
def length_settings(self):
|
4408
|
+
settings = {}
|
4409
|
+
bb = self.selected_area()
|
4410
|
+
if bb is None:
|
4411
|
+
bb = [
|
4412
|
+
0,
|
4413
|
+
0,
|
4414
|
+
float(Length(self.device.view.width)),
|
4415
|
+
float(Length(self.device.view.height)),
|
4416
|
+
]
|
4417
|
+
|
4418
|
+
settings["min_x"] = bb[0]
|
4419
|
+
settings["min_y"] = bb[1]
|
4420
|
+
settings["max_x"] = bb[2]
|
4421
|
+
settings["max_y"] = bb[3]
|
4422
|
+
settings["center_x"] = (bb[0] + bb[2]) / 2
|
4423
|
+
settings["center_y"] = (bb[1] + bb[3]) / 2
|
4424
|
+
settings["width"] = bb[2] - bb[0]
|
4425
|
+
settings["height"] = bb[3] - bb[1]
|
4426
|
+
settings["width_2"] = (bb[2] - bb[0]) / 2
|
4427
|
+
settings["height_2"] = (bb[3] - bb[1]) / 2
|
4428
|
+
return settings
|
4429
|
+
|
4407
4430
|
|
4408
4431
|
def linearize_path(path, interp=50, point=False):
|
4409
4432
|
import numpy as np
|
@@ -138,6 +138,7 @@ Functions:
|
|
138
138
|
"""
|
139
139
|
|
140
140
|
from meerk40t.core.units import Angle, Length
|
141
|
+
from meerk40t.kernel import CommandSyntaxError
|
141
142
|
from meerk40t.svgelements import Matrix
|
142
143
|
from meerk40t.tools.geomstr import BeamTable, Geomstr
|
143
144
|
|
@@ -218,9 +219,9 @@ def init_commands(kernel):
|
|
218
219
|
except AssertionError:
|
219
220
|
channel(_("Geometry was not valid."))
|
220
221
|
|
221
|
-
@self.console_argument("x_pos", type=
|
222
|
-
@self.console_argument("y_pos", type=
|
223
|
-
@self.console_argument("r_pos", type=
|
222
|
+
@self.console_argument("x_pos", type=str, help=_("X position for circle center."))
|
223
|
+
@self.console_argument("y_pos", type=str, help=_("Y position for circle center."))
|
224
|
+
@self.console_argument("r_pos", type=str, help=_("Radius for circle."))
|
224
225
|
@self.console_command(
|
225
226
|
"circle",
|
226
227
|
help=_("circle <x> <y> <r>"),
|
@@ -229,7 +230,19 @@ def init_commands(kernel):
|
|
229
230
|
all_arguments_required=True,
|
230
231
|
)
|
231
232
|
def element_circle(channel, _, x_pos, y_pos, r_pos, data=None, post=None, **kwargs):
|
232
|
-
|
233
|
+
lensett = self.length_settings()
|
234
|
+
try:
|
235
|
+
# fmt: off
|
236
|
+
xp = float(Length(x_pos, relative_length=self.device.view.width, settings=lensett))
|
237
|
+
yp = float(Length(y_pos, relative_length=self.device.view.height, settings=lensett))
|
238
|
+
rp = float(Length(r_pos, settings=lensett))
|
239
|
+
# fmt: on
|
240
|
+
except ValueError:
|
241
|
+
channel(_("Invalid length value for circle."))
|
242
|
+
return
|
243
|
+
if data is None:
|
244
|
+
data = Geomstr()
|
245
|
+
data.append(Geomstr.circle(rp, xp, yp, slices=4))
|
233
246
|
return "geometry", data
|
234
247
|
|
235
248
|
@self.console_argument(
|
@@ -242,10 +255,10 @@ def init_commands(kernel):
|
|
242
255
|
type=Length,
|
243
256
|
help=_("y position for top left corner of rectangle."),
|
244
257
|
)
|
245
|
-
@self.console_argument("width", type=
|
246
|
-
@self.console_argument("height", type=
|
247
|
-
@self.console_option("rx", "x", type=
|
248
|
-
@self.console_option("ry", "y", type=
|
258
|
+
@self.console_argument("width", type=str, help=_("width of the rectangle."))
|
259
|
+
@self.console_argument("height", type=str, help=_("height of the rectangle."))
|
260
|
+
@self.console_option("rx", "x", type=str, help=_("rounded rx corner value."))
|
261
|
+
@self.console_option("ry", "y", type=str, help=_("rounded ry corner value."))
|
249
262
|
@self.console_command(
|
250
263
|
"rect",
|
251
264
|
help=_("adds rectangle to geometry"),
|
@@ -269,10 +282,21 @@ def init_commands(kernel):
|
|
269
282
|
"""
|
270
283
|
Draws a svg rectangle with optional rounded corners.
|
271
284
|
"""
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
285
|
+
lensett = self.length_settings()
|
286
|
+
try:
|
287
|
+
# fmt: off
|
288
|
+
x_pos = float(Length(x_pos, relative_length=self.device.view.width, settings=lensett))
|
289
|
+
y_pos = float(Length(y_pos, relative_length=self.device.view.height, settings=lensett))
|
290
|
+
width = float(Length(width, relative_length=self.device.view.width, settings=lensett))
|
291
|
+
height = float(Length(height, relative_length=self.device.view.height, settings=lensett))
|
292
|
+
rx = 0 if rx is None else float(Length(rx, relative_length=self.device.view.width, settings=lensett))
|
293
|
+
ry = rx if ry is None else float(Length(ry, relative_length=self.device.view.height, settings=lensett))
|
294
|
+
# fmt: on
|
295
|
+
except ValueError:
|
296
|
+
channel(_("Invalid length value."))
|
297
|
+
return
|
298
|
+
if data is None:
|
299
|
+
data = Geomstr()
|
276
300
|
data.append(
|
277
301
|
Geomstr.rect(
|
278
302
|
x=float(x_pos),
|
@@ -347,8 +371,8 @@ def init_commands(kernel):
|
|
347
371
|
data.greedy_distance(0j, flips=not no_flips)
|
348
372
|
return "geometry", data
|
349
373
|
|
350
|
-
@self.console_argument("tx", type=
|
351
|
-
@self.console_argument("ty", type=
|
374
|
+
@self.console_argument("tx", type=str, help=_("translate x value"))
|
375
|
+
@self.console_argument("ty", type=str, help=_("translate y value"))
|
352
376
|
@self.console_command(
|
353
377
|
"translate",
|
354
378
|
help=_("translate <tx> <ty>"),
|
@@ -356,6 +380,14 @@ def init_commands(kernel):
|
|
356
380
|
output_type="geometry",
|
357
381
|
)
|
358
382
|
def element_translate(tx, ty, data: Geomstr, **kwargs):
|
383
|
+
try:
|
384
|
+
lensett = self.length_settings()
|
385
|
+
# fmt: off
|
386
|
+
tx = float(Length(tx, relative_length=self.device.view.width, settings=lensett))
|
387
|
+
ty = float(Length(ty, relative_length=self.device.view.height, settings=lensett))
|
388
|
+
# fmt: on
|
389
|
+
except ValueError:
|
390
|
+
raise CommandSyntaxError(_("Invalid length value."))
|
359
391
|
data.translate(tx, ty)
|
360
392
|
return "geometry", data
|
361
393
|
|
@@ -404,6 +436,8 @@ def init_commands(kernel):
|
|
404
436
|
def geometry_hatch(data: Geomstr, distance: Length, angle: Angle, **kwargs):
|
405
437
|
segments = data.segmented()
|
406
438
|
hatch = Geomstr.hatch(segments, angle=angle.radians, distance=float(distance))
|
439
|
+
if data is None:
|
440
|
+
data = Geomstr()
|
407
441
|
data.append(hatch)
|
408
442
|
return "geometry", data
|
409
443
|
|