meerk40t 0.9.3001__tar.gz → 0.9.7010__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.
Files changed (890) hide show
  1. meerk40t-0.9.7010/LICENSE +21 -0
  2. meerk40t-0.9.7010/PKG-INFO +150 -0
  3. meerk40t-0.9.7010/README.md +109 -0
  4. meerk40t-0.9.7010/meerk40t/__init__.py +1 -0
  5. meerk40t-0.9.7010/meerk40t/balormk/balor_params.py +167 -0
  6. meerk40t-0.9.7010/meerk40t/balormk/clone_loader.py +457 -0
  7. meerk40t-0.9.7010/meerk40t/balormk/controller.py +1566 -0
  8. meerk40t-0.9.7010/meerk40t/balormk/cylindermod.py +64 -0
  9. meerk40t-0.9.7010/meerk40t/balormk/device.py +966 -0
  10. meerk40t-0.9.7010/meerk40t/balormk/driver.py +778 -0
  11. meerk40t-0.9.7010/meerk40t/balormk/galvo_commands.py +1195 -0
  12. meerk40t-0.9.7010/meerk40t/balormk/gui/balorconfig.py +237 -0
  13. meerk40t-0.9.7010/meerk40t/balormk/gui/balorcontroller.py +191 -0
  14. meerk40t-0.9.7010/meerk40t/balormk/gui/baloroperationproperties.py +116 -0
  15. meerk40t-0.9.7010/meerk40t/balormk/gui/corscene.py +845 -0
  16. meerk40t-0.9.7010/meerk40t/balormk/gui/gui.py +179 -0
  17. meerk40t-0.9.7010/meerk40t/balormk/livelightjob.py +466 -0
  18. meerk40t-0.9.7010/meerk40t/balormk/mock_connection.py +131 -0
  19. meerk40t-0.9.7010/meerk40t/balormk/plugin.py +133 -0
  20. meerk40t-0.9.7010/meerk40t/balormk/usb_connection.py +306 -0
  21. meerk40t-0.9.7010/meerk40t/camera/__init__.py +1 -0
  22. meerk40t-0.9.7010/meerk40t/camera/camera.py +514 -0
  23. meerk40t-0.9.7010/meerk40t/camera/gui/camerapanel.py +1241 -0
  24. meerk40t-0.9.7010/meerk40t/camera/gui/gui.py +58 -0
  25. meerk40t-0.9.7010/meerk40t/camera/plugin.py +441 -0
  26. meerk40t-0.9.7010/meerk40t/ch341/__init__.py +27 -0
  27. meerk40t-0.9.7010/meerk40t/ch341/ch341device.py +628 -0
  28. meerk40t-0.9.7010/meerk40t/ch341/libusb.py +595 -0
  29. meerk40t-0.9.7010/meerk40t/ch341/mock.py +171 -0
  30. meerk40t-0.9.7010/meerk40t/ch341/windriver.py +157 -0
  31. meerk40t-0.9.7010/meerk40t/constants.py +13 -0
  32. meerk40t-0.9.7010/meerk40t/core/__init__.py +1 -0
  33. meerk40t-0.9.7010/meerk40t/core/bindalias.py +550 -0
  34. meerk40t-0.9.7010/meerk40t/core/core.py +47 -0
  35. meerk40t-0.9.7010/meerk40t/core/cutcode/cubiccut.py +73 -0
  36. meerk40t-0.9.7010/meerk40t/core/cutcode/cutcode.py +315 -0
  37. meerk40t-0.9.7010/meerk40t/core/cutcode/cutgroup.py +141 -0
  38. meerk40t-0.9.7010/meerk40t/core/cutcode/cutobject.py +192 -0
  39. meerk40t-0.9.7010/meerk40t/core/cutcode/dwellcut.py +37 -0
  40. meerk40t-0.9.7010/meerk40t/core/cutcode/gotocut.py +29 -0
  41. meerk40t-0.9.7010/meerk40t/core/cutcode/homecut.py +29 -0
  42. meerk40t-0.9.7010/meerk40t/core/cutcode/inputcut.py +34 -0
  43. meerk40t-0.9.7010/meerk40t/core/cutcode/linecut.py +33 -0
  44. meerk40t-0.9.7010/meerk40t/core/cutcode/outputcut.py +34 -0
  45. meerk40t-0.9.7010/meerk40t/core/cutcode/plotcut.py +335 -0
  46. meerk40t-0.9.7010/meerk40t/core/cutcode/quadcut.py +61 -0
  47. meerk40t-0.9.7010/meerk40t/core/cutcode/rastercut.py +168 -0
  48. meerk40t-0.9.7010/meerk40t/core/cutcode/waitcut.py +34 -0
  49. meerk40t-0.9.7010/meerk40t/core/cutplan.py +1843 -0
  50. meerk40t-0.9.7010/meerk40t/core/drivers.py +330 -0
  51. meerk40t-0.9.7010/meerk40t/core/elements/align.py +801 -0
  52. meerk40t-0.9.7010/meerk40t/core/elements/branches.py +1844 -0
  53. meerk40t-0.9.7010/meerk40t/core/elements/clipboard.py +229 -0
  54. meerk40t-0.9.7010/meerk40t/core/elements/element_treeops.py +4561 -0
  55. meerk40t-0.9.7010/meerk40t/core/elements/element_types.py +125 -0
  56. meerk40t-0.9.7010/meerk40t/core/elements/elements.py +4329 -0
  57. meerk40t-0.9.7010/meerk40t/core/elements/files.py +117 -0
  58. meerk40t-0.9.7010/meerk40t/core/elements/geometry.py +473 -0
  59. meerk40t-0.9.7010/meerk40t/core/elements/grid.py +467 -0
  60. meerk40t-0.9.7010/meerk40t/core/elements/materials.py +158 -0
  61. meerk40t-0.9.7010/meerk40t/core/elements/notes.py +50 -0
  62. meerk40t-0.9.7010/meerk40t/core/elements/offset_clpr.py +933 -0
  63. meerk40t-0.9.7010/meerk40t/core/elements/offset_mk.py +963 -0
  64. meerk40t-0.9.7010/meerk40t/core/elements/penbox.py +339 -0
  65. meerk40t-0.9.7010/meerk40t/core/elements/placements.py +300 -0
  66. meerk40t-0.9.7010/meerk40t/core/elements/render.py +785 -0
  67. meerk40t-0.9.7010/meerk40t/core/elements/shapes.py +2618 -0
  68. meerk40t-0.9.7010/meerk40t/core/elements/trace.py +651 -0
  69. meerk40t-0.9.7010/meerk40t/core/elements/tree_commands.py +415 -0
  70. meerk40t-0.9.7010/meerk40t/core/elements/undo_redo.py +116 -0
  71. meerk40t-0.9.7010/meerk40t/core/elements/wordlist.py +319 -0
  72. meerk40t-0.9.7010/meerk40t/core/exceptions.py +9 -0
  73. meerk40t-0.9.7010/meerk40t/core/laserjob.py +220 -0
  74. meerk40t-0.9.7010/meerk40t/core/logging.py +63 -0
  75. meerk40t-0.9.7010/meerk40t/core/node/blobnode.py +83 -0
  76. meerk40t-0.9.7010/meerk40t/core/node/bootstrap.py +105 -0
  77. meerk40t-0.9.7010/meerk40t/core/node/branch_elems.py +40 -0
  78. meerk40t-0.9.7010/meerk40t/core/node/branch_ops.py +45 -0
  79. meerk40t-0.9.7010/meerk40t/core/node/branch_regmark.py +48 -0
  80. meerk40t-0.9.7010/meerk40t/core/node/cutnode.py +29 -0
  81. meerk40t-0.9.7010/meerk40t/core/node/effect_hatch.py +375 -0
  82. meerk40t-0.9.7010/meerk40t/core/node/effect_warp.py +398 -0
  83. meerk40t-0.9.7010/meerk40t/core/node/effect_wobble.py +441 -0
  84. meerk40t-0.9.7010/meerk40t/core/node/elem_ellipse.py +404 -0
  85. meerk40t-0.9.7010/meerk40t/core/node/elem_image.py +1082 -0
  86. meerk40t-0.9.7010/meerk40t/core/node/elem_line.py +358 -0
  87. meerk40t-0.9.7010/meerk40t/core/node/elem_path.py +259 -0
  88. meerk40t-0.9.7010/meerk40t/core/node/elem_point.py +129 -0
  89. meerk40t-0.9.7010/meerk40t/core/node/elem_polyline.py +310 -0
  90. meerk40t-0.9.7010/meerk40t/core/node/elem_rect.py +376 -0
  91. meerk40t-0.9.7010/meerk40t/core/node/elem_text.py +445 -0
  92. meerk40t-0.9.7010/meerk40t/core/node/filenode.py +59 -0
  93. meerk40t-0.9.7010/meerk40t/core/node/groupnode.py +138 -0
  94. meerk40t-0.9.7010/meerk40t/core/node/image_processed.py +777 -0
  95. meerk40t-0.9.7010/meerk40t/core/node/image_raster.py +156 -0
  96. meerk40t-0.9.7010/meerk40t/core/node/layernode.py +31 -0
  97. meerk40t-0.9.7010/meerk40t/core/node/mixins.py +135 -0
  98. meerk40t-0.9.7010/meerk40t/core/node/node.py +1427 -0
  99. meerk40t-0.9.7010/meerk40t/core/node/nutils.py +117 -0
  100. meerk40t-0.9.7010/meerk40t/core/node/op_cut.py +462 -0
  101. meerk40t-0.9.7010/meerk40t/core/node/op_dots.py +296 -0
  102. meerk40t-0.9.7010/meerk40t/core/node/op_engrave.py +414 -0
  103. meerk40t-0.9.7010/meerk40t/core/node/op_image.py +755 -0
  104. meerk40t-0.9.7010/meerk40t/core/node/op_raster.py +787 -0
  105. meerk40t-0.9.7010/meerk40t/core/node/place_current.py +37 -0
  106. meerk40t-0.9.7010/meerk40t/core/node/place_point.py +329 -0
  107. meerk40t-0.9.7010/meerk40t/core/node/refnode.py +58 -0
  108. meerk40t-0.9.7010/meerk40t/core/node/rootnode.py +225 -0
  109. meerk40t-0.9.7010/meerk40t/core/node/util_console.py +48 -0
  110. meerk40t-0.9.7010/meerk40t/core/node/util_goto.py +84 -0
  111. meerk40t-0.9.7010/meerk40t/core/node/util_home.py +61 -0
  112. meerk40t-0.9.7010/meerk40t/core/node/util_input.py +102 -0
  113. meerk40t-0.9.7010/meerk40t/core/node/util_output.py +102 -0
  114. meerk40t-0.9.7010/meerk40t/core/node/util_wait.py +65 -0
  115. meerk40t-0.9.7010/meerk40t/core/parameters.py +709 -0
  116. meerk40t-0.9.7010/meerk40t/core/planner.py +875 -0
  117. meerk40t-0.9.7010/meerk40t/core/plotplanner.py +656 -0
  118. meerk40t-0.9.7010/meerk40t/core/space.py +120 -0
  119. meerk40t-0.9.7010/meerk40t/core/spoolers.py +706 -0
  120. meerk40t-0.9.7010/meerk40t/core/svg_io.py +1836 -0
  121. meerk40t-0.9.7010/meerk40t/core/treeop.py +534 -0
  122. meerk40t-0.9.7010/meerk40t/core/undos.py +278 -0
  123. meerk40t-0.9.7010/meerk40t/core/units.py +784 -0
  124. meerk40t-0.9.7010/meerk40t/core/view.py +393 -0
  125. meerk40t-0.9.7010/meerk40t/core/webhelp.py +62 -0
  126. meerk40t-0.9.7010/meerk40t/core/wordlist.py +513 -0
  127. meerk40t-0.9.7010/meerk40t/cylinder/cylinder.py +247 -0
  128. meerk40t-0.9.7010/meerk40t/cylinder/gui/cylindersettings.py +41 -0
  129. meerk40t-0.9.7010/meerk40t/cylinder/gui/gui.py +24 -0
  130. meerk40t-0.9.7010/meerk40t/device/__init__.py +1 -0
  131. meerk40t-0.9.7010/meerk40t/device/basedevice.py +322 -0
  132. meerk40t-0.9.7010/meerk40t/device/devicechoices.py +50 -0
  133. meerk40t-0.9.7010/meerk40t/device/dummydevice.py +163 -0
  134. meerk40t-0.9.7010/meerk40t/device/gui/defaultactions.py +618 -0
  135. meerk40t-0.9.7010/meerk40t/device/gui/effectspanel.py +114 -0
  136. meerk40t-0.9.7010/meerk40t/device/gui/formatterpanel.py +253 -0
  137. meerk40t-0.9.7010/meerk40t/device/gui/warningpanel.py +337 -0
  138. meerk40t-0.9.7010/meerk40t/device/mixins.py +13 -0
  139. meerk40t-0.9.7010/meerk40t/dxf/__init__.py +1 -0
  140. meerk40t-0.9.7010/meerk40t/dxf/dxf_io.py +766 -0
  141. meerk40t-0.9.7010/meerk40t/dxf/plugin.py +47 -0
  142. meerk40t-0.9.7010/meerk40t/external_plugins.py +79 -0
  143. meerk40t-0.9.7010/meerk40t/external_plugins_build.py +28 -0
  144. meerk40t-0.9.7010/meerk40t/extra/cag.py +112 -0
  145. meerk40t-0.9.7010/meerk40t/extra/coolant.py +403 -0
  146. meerk40t-0.9.7010/meerk40t/extra/encode_detect.py +198 -0
  147. meerk40t-0.9.7010/meerk40t/extra/ezd.py +1165 -0
  148. meerk40t-0.9.7010/meerk40t/extra/hershey.py +835 -0
  149. meerk40t-0.9.7010/meerk40t/extra/imageactions.py +322 -0
  150. meerk40t-0.9.7010/meerk40t/extra/inkscape.py +630 -0
  151. meerk40t-0.9.7010/meerk40t/extra/lbrn.py +424 -0
  152. meerk40t-0.9.7010/meerk40t/extra/outerworld.py +284 -0
  153. meerk40t-0.9.7010/meerk40t/extra/param_functions.py +1542 -0
  154. meerk40t-0.9.7010/meerk40t/extra/potrace.py +257 -0
  155. meerk40t-0.9.7010/meerk40t/extra/serial_exchange.py +118 -0
  156. meerk40t-0.9.7010/meerk40t/extra/updater.py +602 -0
  157. meerk40t-0.9.7010/meerk40t/extra/vectrace.py +147 -0
  158. meerk40t-0.9.7010/meerk40t/extra/winsleep.py +83 -0
  159. meerk40t-0.9.7010/meerk40t/extra/xcs_reader.py +597 -0
  160. meerk40t-0.9.7010/meerk40t/fill/fills.py +781 -0
  161. meerk40t-0.9.7010/meerk40t/fill/patternfill.py +1061 -0
  162. meerk40t-0.9.7010/meerk40t/fill/patterns.py +614 -0
  163. meerk40t-0.9.7010/meerk40t/grbl/control.py +87 -0
  164. meerk40t-0.9.7010/meerk40t/grbl/controller.py +990 -0
  165. meerk40t-0.9.7010/meerk40t/grbl/device.py +1081 -0
  166. meerk40t-0.9.7010/meerk40t/grbl/driver.py +989 -0
  167. meerk40t-0.9.7010/meerk40t/grbl/emulator.py +532 -0
  168. meerk40t-0.9.7010/meerk40t/grbl/gcodejob.py +783 -0
  169. meerk40t-0.9.7010/meerk40t/grbl/gui/grblconfiguration.py +373 -0
  170. meerk40t-0.9.7010/meerk40t/grbl/gui/grblcontroller.py +485 -0
  171. meerk40t-0.9.7010/meerk40t/grbl/gui/grblhardwareconfig.py +269 -0
  172. meerk40t-0.9.7010/meerk40t/grbl/gui/grbloperationconfig.py +105 -0
  173. meerk40t-0.9.7010/meerk40t/grbl/gui/gui.py +147 -0
  174. meerk40t-0.9.7010/meerk40t/grbl/interpreter.py +44 -0
  175. meerk40t-0.9.7010/meerk40t/grbl/loader.py +22 -0
  176. meerk40t-0.9.7010/meerk40t/grbl/mock_connection.py +56 -0
  177. meerk40t-0.9.7010/meerk40t/grbl/plugin.py +294 -0
  178. meerk40t-0.9.7010/meerk40t/grbl/serial_connection.py +93 -0
  179. meerk40t-0.9.7010/meerk40t/grbl/tcp_connection.py +81 -0
  180. meerk40t-0.9.7010/meerk40t/grbl/ws_connection.py +112 -0
  181. meerk40t-0.9.7010/meerk40t/gui/__init__.py +1 -0
  182. meerk40t-0.9.7010/meerk40t/gui/about.py +2042 -0
  183. meerk40t-0.9.7010/meerk40t/gui/alignment.py +1644 -0
  184. meerk40t-0.9.7010/meerk40t/gui/autoexec.py +199 -0
  185. meerk40t-0.9.7010/meerk40t/gui/basicops.py +791 -0
  186. meerk40t-0.9.7010/meerk40t/gui/bufferview.py +77 -0
  187. meerk40t-0.9.7010/meerk40t/gui/busy.py +170 -0
  188. meerk40t-0.9.7010/meerk40t/gui/choicepropertypanel.py +1673 -0
  189. meerk40t-0.9.7010/meerk40t/gui/consolepanel.py +706 -0
  190. meerk40t-0.9.7010/meerk40t/gui/devicepanel.py +687 -0
  191. meerk40t-0.9.7010/meerk40t/gui/dialogoptions.py +110 -0
  192. meerk40t-0.9.7010/meerk40t/gui/executejob.py +316 -0
  193. meerk40t-0.9.7010/meerk40t/gui/fonts.py +90 -0
  194. meerk40t-0.9.7010/meerk40t/gui/functionwrapper.py +252 -0
  195. meerk40t-0.9.7010/meerk40t/gui/gui_mixins.py +729 -0
  196. meerk40t-0.9.7010/meerk40t/gui/guicolors.py +205 -0
  197. meerk40t-0.9.7010/meerk40t/gui/help_assets/help_assets.py +218 -0
  198. meerk40t-0.9.7010/meerk40t/gui/helper.py +154 -0
  199. meerk40t-0.9.7010/meerk40t/gui/hersheymanager.py +1430 -0
  200. meerk40t-0.9.7010/meerk40t/gui/icons.py +3422 -0
  201. meerk40t-0.9.7010/meerk40t/gui/imagesplitter.py +555 -0
  202. meerk40t-0.9.7010/meerk40t/gui/keymap.py +354 -0
  203. meerk40t-0.9.7010/meerk40t/gui/laserpanel.py +892 -0
  204. meerk40t-0.9.7010/meerk40t/gui/laserrender.py +1470 -0
  205. meerk40t-0.9.7010/meerk40t/gui/lasertoolpanel.py +805 -0
  206. meerk40t-0.9.7010/meerk40t/gui/magnetoptions.py +436 -0
  207. meerk40t-0.9.7010/meerk40t/gui/materialmanager.py +2917 -0
  208. meerk40t-0.9.7010/meerk40t/gui/materialtest.py +1722 -0
  209. meerk40t-0.9.7010/meerk40t/gui/mkdebug.py +646 -0
  210. meerk40t-0.9.7010/meerk40t/gui/mwindow.py +163 -0
  211. meerk40t-0.9.7010/meerk40t/gui/navigationpanels.py +2605 -0
  212. meerk40t-0.9.7010/meerk40t/gui/notes.py +143 -0
  213. meerk40t-0.9.7010/meerk40t/gui/opassignment.py +414 -0
  214. meerk40t-0.9.7010/meerk40t/gui/operation_info.py +310 -0
  215. meerk40t-0.9.7010/meerk40t/gui/plugin.py +494 -0
  216. meerk40t-0.9.7010/meerk40t/gui/position.py +714 -0
  217. meerk40t-0.9.7010/meerk40t/gui/preferences.py +901 -0
  218. meerk40t-0.9.7010/meerk40t/gui/propertypanels/attributes.py +1461 -0
  219. meerk40t-0.9.7010/meerk40t/gui/propertypanels/blobproperty.py +117 -0
  220. meerk40t-0.9.7010/meerk40t/gui/propertypanels/consoleproperty.py +83 -0
  221. meerk40t-0.9.7010/meerk40t/gui/propertypanels/gotoproperty.py +77 -0
  222. meerk40t-0.9.7010/meerk40t/gui/propertypanels/groupproperties.py +223 -0
  223. meerk40t-0.9.7010/meerk40t/gui/propertypanels/hatchproperty.py +489 -0
  224. meerk40t-0.9.7010/meerk40t/gui/propertypanels/imageproperty.py +2244 -0
  225. meerk40t-0.9.7010/meerk40t/gui/propertypanels/inputproperty.py +59 -0
  226. meerk40t-0.9.7010/meerk40t/gui/propertypanels/opbranchproperties.py +82 -0
  227. meerk40t-0.9.7010/meerk40t/gui/propertypanels/operationpropertymain.py +1890 -0
  228. meerk40t-0.9.7010/meerk40t/gui/propertypanels/outputproperty.py +59 -0
  229. meerk40t-0.9.7010/meerk40t/gui/propertypanels/pathproperty.py +389 -0
  230. meerk40t-0.9.7010/meerk40t/gui/propertypanels/placementproperty.py +1214 -0
  231. meerk40t-0.9.7010/meerk40t/gui/propertypanels/pointproperty.py +140 -0
  232. meerk40t-0.9.7010/meerk40t/gui/propertypanels/propertywindow.py +313 -0
  233. meerk40t-0.9.7010/meerk40t/gui/propertypanels/rasterwizardpanels.py +996 -0
  234. meerk40t-0.9.7010/meerk40t/gui/propertypanels/regbranchproperties.py +76 -0
  235. meerk40t-0.9.7010/meerk40t/gui/propertypanels/textproperty.py +770 -0
  236. meerk40t-0.9.7010/meerk40t/gui/propertypanels/waitproperty.py +56 -0
  237. meerk40t-0.9.7010/meerk40t/gui/propertypanels/warpproperty.py +121 -0
  238. meerk40t-0.9.7010/meerk40t/gui/propertypanels/wobbleproperty.py +255 -0
  239. meerk40t-0.9.7010/meerk40t/gui/ribbon.py +2468 -0
  240. meerk40t-0.9.7010/meerk40t/gui/scene/scene.py +1100 -0
  241. meerk40t-0.9.7010/meerk40t/gui/scene/sceneconst.py +22 -0
  242. meerk40t-0.9.7010/meerk40t/gui/scene/scenepanel.py +439 -0
  243. meerk40t-0.9.7010/meerk40t/gui/scene/scenespacewidget.py +365 -0
  244. meerk40t-0.9.7010/meerk40t/gui/scene/widget.py +518 -0
  245. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/affinemover.py +215 -0
  246. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/attractionwidget.py +315 -0
  247. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/bedwidget.py +120 -0
  248. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/elementswidget.py +137 -0
  249. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/gridwidget.py +785 -0
  250. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/guidewidget.py +765 -0
  251. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/laserpathwidget.py +66 -0
  252. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/machineoriginwidget.py +86 -0
  253. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/nodeselector.py +28 -0
  254. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/rectselectwidget.py +589 -0
  255. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/relocatewidget.py +33 -0
  256. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/reticlewidget.py +83 -0
  257. meerk40t-0.9.7010/meerk40t/gui/scenewidgets/selectionwidget.py +2952 -0
  258. meerk40t-0.9.7010/meerk40t/gui/simpleui.py +357 -0
  259. meerk40t-0.9.7010/meerk40t/gui/simulation.py +2431 -0
  260. meerk40t-0.9.7010/meerk40t/gui/snapoptions.py +208 -0
  261. meerk40t-0.9.7010/meerk40t/gui/spoolerpanel.py +1227 -0
  262. meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets/defaultoperations.py +480 -0
  263. meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets/infowidget.py +520 -0
  264. meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets/opassignwidget.py +356 -0
  265. meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets/selectionwidget.py +172 -0
  266. meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets/shapepropwidget.py +754 -0
  267. meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets/statusbar.py +272 -0
  268. meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets/statusbarwidget.py +268 -0
  269. meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets/strokewidget.py +267 -0
  270. meerk40t-0.9.7010/meerk40t/gui/themes.py +200 -0
  271. meerk40t-0.9.7010/meerk40t/gui/tips.py +591 -0
  272. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/circlebrush.py +35 -0
  273. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolcircle.py +248 -0
  274. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolcontainer.py +82 -0
  275. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/tooldraw.py +97 -0
  276. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolellipse.py +219 -0
  277. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolimagecut.py +25 -0
  278. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolline.py +39 -0
  279. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toollinetext.py +79 -0
  280. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toollinetext_inline.py +296 -0
  281. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolmeasure.py +160 -0
  282. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolnodeedit.py +2088 -0
  283. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolnodemove.py +92 -0
  284. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolparameter.py +754 -0
  285. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolplacement.py +108 -0
  286. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolpoint.py +68 -0
  287. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolpointlistbuilder.py +294 -0
  288. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolpointmove.py +183 -0
  289. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolpolygon.py +288 -0
  290. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolpolyline.py +38 -0
  291. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolrect.py +211 -0
  292. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolrelocate.py +72 -0
  293. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolribbon.py +598 -0
  294. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/tooltabedit.py +546 -0
  295. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/tooltext.py +98 -0
  296. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolvector.py +213 -0
  297. meerk40t-0.9.7010/meerk40t/gui/toolwidgets/toolwidget.py +39 -0
  298. meerk40t-0.9.7010/meerk40t/gui/usbconnect.py +98 -0
  299. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/buttonwidget.py +18 -0
  300. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/checkboxwidget.py +90 -0
  301. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/controlwidget.py +14 -0
  302. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +343 -0
  303. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/debugwidgets.py +148 -0
  304. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/handlewidget.py +27 -0
  305. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/harmonograph.py +450 -0
  306. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/openclosewidget.py +40 -0
  307. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/rotationwidget.py +54 -0
  308. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/scalewidget.py +75 -0
  309. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/seekbarwidget.py +183 -0
  310. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/togglewidget.py +142 -0
  311. meerk40t-0.9.7010/meerk40t/gui/utilitywidgets/toolbarwidget.py +8 -0
  312. meerk40t-0.9.7010/meerk40t/gui/wordlisteditor.py +985 -0
  313. meerk40t-0.9.7010/meerk40t/gui/wxmeerk40t.py +1444 -0
  314. meerk40t-0.9.7010/meerk40t/gui/wxmmain.py +5578 -0
  315. meerk40t-0.9.7010/meerk40t/gui/wxmribbon.py +1591 -0
  316. meerk40t-0.9.7010/meerk40t/gui/wxmscene.py +1635 -0
  317. meerk40t-0.9.7010/meerk40t/gui/wxmtree.py +2410 -0
  318. meerk40t-0.9.7010/meerk40t/gui/wxutils.py +1769 -0
  319. meerk40t-0.9.7010/meerk40t/gui/zmatrix.py +102 -0
  320. meerk40t-0.9.7010/meerk40t/image/__init__.py +1 -0
  321. meerk40t-0.9.7010/meerk40t/image/dither.py +429 -0
  322. meerk40t-0.9.7010/meerk40t/image/imagetools.py +2778 -0
  323. meerk40t-0.9.7010/meerk40t/internal_plugins.py +150 -0
  324. meerk40t-0.9.7010/meerk40t/kernel/__init__.py +63 -0
  325. meerk40t-0.9.7010/meerk40t/kernel/channel.py +259 -0
  326. meerk40t-0.9.7010/meerk40t/kernel/context.py +538 -0
  327. meerk40t-0.9.7010/meerk40t/kernel/exceptions.py +41 -0
  328. meerk40t-0.9.7010/meerk40t/kernel/functions.py +463 -0
  329. meerk40t-0.9.7010/meerk40t/kernel/jobs.py +100 -0
  330. meerk40t-0.9.7010/meerk40t/kernel/kernel.py +3809 -0
  331. meerk40t-0.9.7010/meerk40t/kernel/lifecycles.py +71 -0
  332. meerk40t-0.9.7010/meerk40t/kernel/module.py +49 -0
  333. meerk40t-0.9.7010/meerk40t/kernel/service.py +147 -0
  334. meerk40t-0.9.7010/meerk40t/kernel/settings.py +383 -0
  335. meerk40t-0.9.7010/meerk40t/lihuiyu/controller.py +883 -0
  336. meerk40t-0.9.7010/meerk40t/lihuiyu/device.py +1181 -0
  337. meerk40t-0.9.7010/meerk40t/lihuiyu/driver.py +1466 -0
  338. meerk40t-0.9.7010/meerk40t/lihuiyu/gui/gui.py +127 -0
  339. meerk40t-0.9.7010/meerk40t/lihuiyu/gui/lhyaccelgui.py +377 -0
  340. meerk40t-0.9.7010/meerk40t/lihuiyu/gui/lhycontrollergui.py +741 -0
  341. meerk40t-0.9.7010/meerk40t/lihuiyu/gui/lhydrivergui.py +470 -0
  342. meerk40t-0.9.7010/meerk40t/lihuiyu/gui/lhyoperationproperties.py +238 -0
  343. meerk40t-0.9.7010/meerk40t/lihuiyu/gui/tcpcontroller.py +226 -0
  344. meerk40t-0.9.7010/meerk40t/lihuiyu/interpreter.py +53 -0
  345. meerk40t-0.9.7010/meerk40t/lihuiyu/laserspeed.py +450 -0
  346. meerk40t-0.9.7010/meerk40t/lihuiyu/loader.py +90 -0
  347. meerk40t-0.9.7010/meerk40t/lihuiyu/parser.py +404 -0
  348. meerk40t-0.9.7010/meerk40t/lihuiyu/plugin.py +101 -0
  349. meerk40t-0.9.7010/meerk40t/lihuiyu/tcp_connection.py +111 -0
  350. meerk40t-0.9.7010/meerk40t/main.py +231 -0
  351. meerk40t-0.9.7010/meerk40t/moshi/builder.py +788 -0
  352. meerk40t-0.9.7010/meerk40t/moshi/controller.py +505 -0
  353. meerk40t-0.9.7010/meerk40t/moshi/device.py +495 -0
  354. meerk40t-0.9.7010/meerk40t/moshi/driver.py +862 -0
  355. meerk40t-0.9.7010/meerk40t/moshi/gui/gui.py +78 -0
  356. meerk40t-0.9.7010/meerk40t/moshi/gui/moshicontrollergui.py +538 -0
  357. meerk40t-0.9.7010/meerk40t/moshi/gui/moshidrivergui.py +87 -0
  358. meerk40t-0.9.7010/meerk40t/moshi/plugin.py +43 -0
  359. meerk40t-0.9.7010/meerk40t/network/console_server.py +102 -0
  360. meerk40t-0.9.7010/meerk40t/network/kernelserver.py +10 -0
  361. meerk40t-0.9.7010/meerk40t/network/tcp_server.py +142 -0
  362. meerk40t-0.9.7010/meerk40t/network/udp_server.py +103 -0
  363. meerk40t-0.9.7010/meerk40t/network/web_server.py +390 -0
  364. meerk40t-0.9.7010/meerk40t/newly/controller.py +1158 -0
  365. meerk40t-0.9.7010/meerk40t/newly/device.py +874 -0
  366. meerk40t-0.9.7010/meerk40t/newly/driver.py +540 -0
  367. meerk40t-0.9.7010/meerk40t/newly/gui/gui.py +219 -0
  368. meerk40t-0.9.7010/meerk40t/newly/gui/newlyconfig.py +116 -0
  369. meerk40t-0.9.7010/meerk40t/newly/gui/newlycontroller.py +193 -0
  370. meerk40t-0.9.7010/meerk40t/newly/gui/operationproperties.py +51 -0
  371. meerk40t-0.9.7010/meerk40t/newly/mock_connection.py +82 -0
  372. meerk40t-0.9.7010/meerk40t/newly/newly_params.py +56 -0
  373. meerk40t-0.9.7010/meerk40t/newly/plugin.py +1214 -0
  374. meerk40t-0.9.7010/meerk40t/newly/usb_connection.py +322 -0
  375. meerk40t-0.9.7010/meerk40t/rotary/gui/gui.py +52 -0
  376. meerk40t-0.9.7010/meerk40t/rotary/gui/rotarysettings.py +240 -0
  377. meerk40t-0.9.7010/meerk40t/rotary/rotary.py +202 -0
  378. meerk40t-0.9.7010/meerk40t/ruida/control.py +291 -0
  379. meerk40t-0.9.7010/meerk40t/ruida/controller.py +138 -0
  380. meerk40t-0.9.7010/meerk40t/ruida/device.py +672 -0
  381. meerk40t-0.9.7010/meerk40t/ruida/driver.py +534 -0
  382. meerk40t-0.9.7010/meerk40t/ruida/emulator.py +1494 -0
  383. meerk40t-0.9.7010/meerk40t/ruida/exceptions.py +4 -0
  384. meerk40t-0.9.7010/meerk40t/ruida/gui/gui.py +71 -0
  385. meerk40t-0.9.7010/meerk40t/ruida/gui/ruidaconfig.py +239 -0
  386. meerk40t-0.9.7010/meerk40t/ruida/gui/ruidacontroller.py +187 -0
  387. meerk40t-0.9.7010/meerk40t/ruida/gui/ruidaoperationproperties.py +48 -0
  388. meerk40t-0.9.7010/meerk40t/ruida/loader.py +54 -0
  389. meerk40t-0.9.7010/meerk40t/ruida/mock_connection.py +57 -0
  390. meerk40t-0.9.7010/meerk40t/ruida/plugin.py +124 -0
  391. meerk40t-0.9.7010/meerk40t/ruida/rdjob.py +2084 -0
  392. meerk40t-0.9.7010/meerk40t/ruida/serial_connection.py +116 -0
  393. meerk40t-0.9.7010/meerk40t/ruida/tcp_connection.py +146 -0
  394. meerk40t-0.9.7010/meerk40t/ruida/udp_connection.py +73 -0
  395. meerk40t-0.9.7010/meerk40t/svgelements.py +9671 -0
  396. meerk40t-0.9.7010/meerk40t/tools/driver_to_path.py +584 -0
  397. meerk40t-0.9.7010/meerk40t/tools/geomstr.py +5583 -0
  398. meerk40t-0.9.7010/meerk40t/tools/jhfparser.py +357 -0
  399. meerk40t-0.9.7010/meerk40t/tools/kerftest.py +904 -0
  400. meerk40t-0.9.7010/meerk40t/tools/livinghinges.py +1168 -0
  401. meerk40t-0.9.7010/meerk40t/tools/pathtools.py +987 -0
  402. meerk40t-0.9.7010/meerk40t/tools/pmatrix.py +234 -0
  403. meerk40t-0.9.7010/meerk40t/tools/pointfinder.py +942 -0
  404. meerk40t-0.9.7010/meerk40t/tools/polybool.py +940 -0
  405. meerk40t-0.9.7010/meerk40t/tools/rasterplotter.py +1660 -0
  406. meerk40t-0.9.7010/meerk40t/tools/shxparser.py +989 -0
  407. meerk40t-0.9.7010/meerk40t/tools/ttfparser.py +726 -0
  408. meerk40t-0.9.7010/meerk40t/tools/zinglplotter.py +595 -0
  409. meerk40t-0.9.7010/meerk40t.egg-info/PKG-INFO +150 -0
  410. meerk40t-0.9.7010/meerk40t.egg-info/SOURCES.txt +920 -0
  411. meerk40t-0.9.7010/meerk40t.egg-info/top_level.txt +1 -0
  412. meerk40t-0.9.7010/meerk40t.egg-info/zip-safe +1 -0
  413. meerk40t-0.9.7010/pyproject.toml +649 -0
  414. meerk40t-0.9.7010/setup.cfg +49 -0
  415. meerk40t-0.9.7010/setup.py +21 -0
  416. meerk40t-0.9.7010/test/test_cli.py +12 -0
  417. meerk40t-0.9.7010/test/test_core_cutcode.py +410 -0
  418. meerk40t-0.9.7010/test/test_core_elements.py +145 -0
  419. meerk40t-0.9.7010/test/test_core_plotplanner.py +397 -0
  420. meerk40t-0.9.7010/test/test_core_viewports.py +312 -0
  421. meerk40t-0.9.7010/test/test_drivers_galvo.py +166 -0
  422. meerk40t-0.9.7010/test/test_drivers_grbl.py +151 -0
  423. meerk40t-0.9.7010/test/test_drivers_lihuiyu.py +483 -0
  424. meerk40t-0.9.7010/test/test_drivers_moshi.py +200 -0
  425. meerk40t-0.9.7010/test/test_drivers_newly.py +181 -0
  426. meerk40t-0.9.7010/test/test_element_degenerate_points.py +43 -0
  427. meerk40t-0.9.7010/test/test_elements_classify.py +97 -0
  428. meerk40t-0.9.7010/test/test_elements_penbox.py +23 -0
  429. meerk40t-0.9.7010/test/test_file_svg.py +176 -0
  430. meerk40t-0.9.7010/test/test_fill.py +153 -0
  431. meerk40t-0.9.7010/test/test_geomstr.py +2700 -0
  432. meerk40t-0.9.7010/test/test_geomstr_nodes.py +18 -0
  433. meerk40t-0.9.7010/test/test_imagetools_actualize.py +306 -0
  434. meerk40t-0.9.7010/test/test_imagetools_wizard.py +259 -0
  435. meerk40t-0.9.7010/test/test_kernel.py +249 -0
  436. meerk40t-0.9.7010/test/test_laser_speeds.py +3303 -0
  437. meerk40t-0.9.7010/test/test_length.py +57 -0
  438. meerk40t-0.9.7010/test/test_lifecycle.py +125 -0
  439. meerk40t-0.9.7010/test/test_operations.py +250 -0
  440. meerk40t-0.9.7010/test/test_operations_hatch.py +57 -0
  441. meerk40t-0.9.7010/test/test_pmatrix.py +121 -0
  442. meerk40t-0.9.7010/test/test_ruida.py +18 -0
  443. meerk40t-0.9.7010/test/test_spooler.py +22 -0
  444. meerk40t-0.9.7010/test/test_tools_rasterplotter.py +29 -0
  445. meerk40t-0.9.7010/test/test_units_angle.py +67 -0
  446. meerk40t-0.9.7010/test/test_wobble.py +133 -0
  447. meerk40t-0.9.7010/test/test_zingl.py +124 -0
  448. meerk40t-0.9.3001/LICENSE +0 -21
  449. meerk40t-0.9.3001/PKG-INFO +0 -139
  450. meerk40t-0.9.3001/README.md +0 -98
  451. meerk40t-0.9.3001/meerk40t/__init__.py +0 -1
  452. meerk40t-0.9.3001/meerk40t/balormk/balor_params.py +0 -167
  453. meerk40t-0.9.3001/meerk40t/balormk/clone_loader.py +0 -457
  454. meerk40t-0.9.3001/meerk40t/balormk/controller.py +0 -1512
  455. meerk40t-0.9.3001/meerk40t/balormk/device.py +0 -1959
  456. meerk40t-0.9.3001/meerk40t/balormk/driver.py +0 -591
  457. meerk40t-0.9.3001/meerk40t/balormk/elementlightjob.py +0 -159
  458. meerk40t-0.9.3001/meerk40t/balormk/gui/balorconfig.py +0 -111
  459. meerk40t-0.9.3001/meerk40t/balormk/gui/balorcontroller.py +0 -184
  460. meerk40t-0.9.3001/meerk40t/balormk/gui/baloroperationproperties.py +0 -115
  461. meerk40t-0.9.3001/meerk40t/balormk/gui/gui.py +0 -147
  462. meerk40t-0.9.3001/meerk40t/balormk/livelightjob.py +0 -382
  463. meerk40t-0.9.3001/meerk40t/balormk/mock_connection.py +0 -109
  464. meerk40t-0.9.3001/meerk40t/balormk/plugin.py +0 -135
  465. meerk40t-0.9.3001/meerk40t/balormk/usb_connection.py +0 -301
  466. meerk40t-0.9.3001/meerk40t/camera/__init__.py +0 -1
  467. meerk40t-0.9.3001/meerk40t/camera/camera.py +0 -397
  468. meerk40t-0.9.3001/meerk40t/camera/gui/camerapanel.py +0 -1095
  469. meerk40t-0.9.3001/meerk40t/camera/gui/gui.py +0 -58
  470. meerk40t-0.9.3001/meerk40t/camera/plugin.py +0 -399
  471. meerk40t-0.9.3001/meerk40t/ch341/__init__.py +0 -27
  472. meerk40t-0.9.3001/meerk40t/ch341/ch341device.py +0 -628
  473. meerk40t-0.9.3001/meerk40t/ch341/libusb.py +0 -589
  474. meerk40t-0.9.3001/meerk40t/ch341/mock.py +0 -171
  475. meerk40t-0.9.3001/meerk40t/ch341/windriver.py +0 -157
  476. meerk40t-0.9.3001/meerk40t/core/__init__.py +0 -1
  477. meerk40t-0.9.3001/meerk40t/core/bindalias.py +0 -539
  478. meerk40t-0.9.3001/meerk40t/core/core.py +0 -47
  479. meerk40t-0.9.3001/meerk40t/core/cutcode/cubiccut.py +0 -73
  480. meerk40t-0.9.3001/meerk40t/core/cutcode/cutcode.py +0 -312
  481. meerk40t-0.9.3001/meerk40t/core/cutcode/cutgroup.py +0 -137
  482. meerk40t-0.9.3001/meerk40t/core/cutcode/cutobject.py +0 -185
  483. meerk40t-0.9.3001/meerk40t/core/cutcode/dwellcut.py +0 -37
  484. meerk40t-0.9.3001/meerk40t/core/cutcode/gotocut.py +0 -29
  485. meerk40t-0.9.3001/meerk40t/core/cutcode/homecut.py +0 -29
  486. meerk40t-0.9.3001/meerk40t/core/cutcode/inputcut.py +0 -34
  487. meerk40t-0.9.3001/meerk40t/core/cutcode/linecut.py +0 -33
  488. meerk40t-0.9.3001/meerk40t/core/cutcode/outputcut.py +0 -34
  489. meerk40t-0.9.3001/meerk40t/core/cutcode/plotcut.py +0 -335
  490. meerk40t-0.9.3001/meerk40t/core/cutcode/quadcut.py +0 -61
  491. meerk40t-0.9.3001/meerk40t/core/cutcode/rastercut.py +0 -148
  492. meerk40t-0.9.3001/meerk40t/core/cutcode/waitcut.py +0 -34
  493. meerk40t-0.9.3001/meerk40t/core/cutplan.py +0 -1316
  494. meerk40t-0.9.3001/meerk40t/core/drivers.py +0 -329
  495. meerk40t-0.9.3001/meerk40t/core/elements/align.py +0 -669
  496. meerk40t-0.9.3001/meerk40t/core/elements/branches.py +0 -1507
  497. meerk40t-0.9.3001/meerk40t/core/elements/clipboard.py +0 -219
  498. meerk40t-0.9.3001/meerk40t/core/elements/element_treeops.py +0 -2837
  499. meerk40t-0.9.3001/meerk40t/core/elements/element_types.py +0 -105
  500. meerk40t-0.9.3001/meerk40t/core/elements/elements.py +0 -3617
  501. meerk40t-0.9.3001/meerk40t/core/elements/files.py +0 -64
  502. meerk40t-0.9.3001/meerk40t/core/elements/geometry.py +0 -224
  503. meerk40t-0.9.3001/meerk40t/core/elements/grid.py +0 -316
  504. meerk40t-0.9.3001/meerk40t/core/elements/materials.py +0 -94
  505. meerk40t-0.9.3001/meerk40t/core/elements/notes.py +0 -38
  506. meerk40t-0.9.3001/meerk40t/core/elements/offset_clpr.py +0 -912
  507. meerk40t-0.9.3001/meerk40t/core/elements/offset_mk.py +0 -955
  508. meerk40t-0.9.3001/meerk40t/core/elements/penbox.py +0 -267
  509. meerk40t-0.9.3001/meerk40t/core/elements/placements.py +0 -83
  510. meerk40t-0.9.3001/meerk40t/core/elements/render.py +0 -687
  511. meerk40t-0.9.3001/meerk40t/core/elements/shapes.py +0 -2092
  512. meerk40t-0.9.3001/meerk40t/core/elements/trace.py +0 -563
  513. meerk40t-0.9.3001/meerk40t/core/elements/tree_commands.py +0 -409
  514. meerk40t-0.9.3001/meerk40t/core/elements/undo_redo.py +0 -58
  515. meerk40t-0.9.3001/meerk40t/core/elements/wordlist.py +0 -200
  516. meerk40t-0.9.3001/meerk40t/core/exceptions.py +0 -9
  517. meerk40t-0.9.3001/meerk40t/core/laserjob.py +0 -220
  518. meerk40t-0.9.3001/meerk40t/core/logging.py +0 -63
  519. meerk40t-0.9.3001/meerk40t/core/node/blobnode.py +0 -86
  520. meerk40t-0.9.3001/meerk40t/core/node/bootstrap.py +0 -103
  521. meerk40t-0.9.3001/meerk40t/core/node/branch_elems.py +0 -31
  522. meerk40t-0.9.3001/meerk40t/core/node/branch_ops.py +0 -38
  523. meerk40t-0.9.3001/meerk40t/core/node/branch_regmark.py +0 -41
  524. meerk40t-0.9.3001/meerk40t/core/node/cutnode.py +0 -32
  525. meerk40t-0.9.3001/meerk40t/core/node/effect_hatch.py +0 -257
  526. meerk40t-0.9.3001/meerk40t/core/node/effect_wobble.py +0 -309
  527. meerk40t-0.9.3001/meerk40t/core/node/elem_ellipse.py +0 -309
  528. meerk40t-0.9.3001/meerk40t/core/node/elem_image.py +0 -801
  529. meerk40t-0.9.3001/meerk40t/core/node/elem_line.py +0 -292
  530. meerk40t-0.9.3001/meerk40t/core/node/elem_path.py +0 -201
  531. meerk40t-0.9.3001/meerk40t/core/node/elem_point.py +0 -102
  532. meerk40t-0.9.3001/meerk40t/core/node/elem_polyline.py +0 -246
  533. meerk40t-0.9.3001/meerk40t/core/node/elem_rect.py +0 -286
  534. meerk40t-0.9.3001/meerk40t/core/node/elem_text.py +0 -418
  535. meerk40t-0.9.3001/meerk40t/core/node/filenode.py +0 -40
  536. meerk40t-0.9.3001/meerk40t/core/node/groupnode.py +0 -74
  537. meerk40t-0.9.3001/meerk40t/core/node/image_processed.py +0 -766
  538. meerk40t-0.9.3001/meerk40t/core/node/image_raster.py +0 -113
  539. meerk40t-0.9.3001/meerk40t/core/node/layernode.py +0 -31
  540. meerk40t-0.9.3001/meerk40t/core/node/mixins.py +0 -107
  541. meerk40t-0.9.3001/meerk40t/core/node/node.py +0 -1304
  542. meerk40t-0.9.3001/meerk40t/core/node/nutils.py +0 -114
  543. meerk40t-0.9.3001/meerk40t/core/node/op_cut.py +0 -335
  544. meerk40t-0.9.3001/meerk40t/core/node/op_dots.py +0 -251
  545. meerk40t-0.9.3001/meerk40t/core/node/op_engrave.py +0 -311
  546. meerk40t-0.9.3001/meerk40t/core/node/op_image.py +0 -369
  547. meerk40t-0.9.3001/meerk40t/core/node/op_raster.py +0 -522
  548. meerk40t-0.9.3001/meerk40t/core/node/place_current.py +0 -40
  549. meerk40t-0.9.3001/meerk40t/core/node/place_point.py +0 -126
  550. meerk40t-0.9.3001/meerk40t/core/node/refnode.py +0 -47
  551. meerk40t-0.9.3001/meerk40t/core/node/rootnode.py +0 -219
  552. meerk40t-0.9.3001/meerk40t/core/node/util_console.py +0 -48
  553. meerk40t-0.9.3001/meerk40t/core/node/util_goto.py +0 -65
  554. meerk40t-0.9.3001/meerk40t/core/node/util_home.py +0 -61
  555. meerk40t-0.9.3001/meerk40t/core/node/util_input.py +0 -102
  556. meerk40t-0.9.3001/meerk40t/core/node/util_output.py +0 -102
  557. meerk40t-0.9.3001/meerk40t/core/node/util_wait.py +0 -65
  558. meerk40t-0.9.3001/meerk40t/core/parameters.py +0 -707
  559. meerk40t-0.9.3001/meerk40t/core/planner.py +0 -785
  560. meerk40t-0.9.3001/meerk40t/core/plotplanner.py +0 -652
  561. meerk40t-0.9.3001/meerk40t/core/space.py +0 -113
  562. meerk40t-0.9.3001/meerk40t/core/spoolers.py +0 -705
  563. meerk40t-0.9.3001/meerk40t/core/svg_io.py +0 -1549
  564. meerk40t-0.9.3001/meerk40t/core/treeop.py +0 -445
  565. meerk40t-0.9.3001/meerk40t/core/undos.py +0 -124
  566. meerk40t-0.9.3001/meerk40t/core/units.py +0 -680
  567. meerk40t-0.9.3001/meerk40t/core/view.py +0 -322
  568. meerk40t-0.9.3001/meerk40t/core/webhelp.py +0 -62
  569. meerk40t-0.9.3001/meerk40t/core/wordlist.py +0 -504
  570. meerk40t-0.9.3001/meerk40t/device/__init__.py +0 -1
  571. meerk40t-0.9.3001/meerk40t/device/basedevice.py +0 -123
  572. meerk40t-0.9.3001/meerk40t/device/dummydevice.py +0 -128
  573. meerk40t-0.9.3001/meerk40t/device/gui/defaultactions.py +0 -602
  574. meerk40t-0.9.3001/meerk40t/device/gui/formatterpanel.py +0 -290
  575. meerk40t-0.9.3001/meerk40t/device/gui/warningpanel.py +0 -260
  576. meerk40t-0.9.3001/meerk40t/device/mixins.py +0 -13
  577. meerk40t-0.9.3001/meerk40t/dxf/__init__.py +0 -1
  578. meerk40t-0.9.3001/meerk40t/dxf/dxf_io.py +0 -554
  579. meerk40t-0.9.3001/meerk40t/dxf/plugin.py +0 -35
  580. meerk40t-0.9.3001/meerk40t/external_plugins.py +0 -79
  581. meerk40t-0.9.3001/meerk40t/external_plugins_build.py +0 -28
  582. meerk40t-0.9.3001/meerk40t/extra/cag.py +0 -116
  583. meerk40t-0.9.3001/meerk40t/extra/ezd.py +0 -1165
  584. meerk40t-0.9.3001/meerk40t/extra/hershey.py +0 -340
  585. meerk40t-0.9.3001/meerk40t/extra/imageactions.py +0 -316
  586. meerk40t-0.9.3001/meerk40t/extra/inkscape.py +0 -622
  587. meerk40t-0.9.3001/meerk40t/extra/lbrn.py +0 -424
  588. meerk40t-0.9.3001/meerk40t/extra/param_functions.py +0 -1556
  589. meerk40t-0.9.3001/meerk40t/extra/potrace.py +0 -253
  590. meerk40t-0.9.3001/meerk40t/extra/updater.py +0 -453
  591. meerk40t-0.9.3001/meerk40t/extra/vectrace.py +0 -146
  592. meerk40t-0.9.3001/meerk40t/extra/winsleep.py +0 -83
  593. meerk40t-0.9.3001/meerk40t/fill/fills.py +0 -335
  594. meerk40t-0.9.3001/meerk40t/fill/patternfill.py +0 -1061
  595. meerk40t-0.9.3001/meerk40t/fill/patterns.py +0 -567
  596. meerk40t-0.9.3001/meerk40t/grbl/control.py +0 -87
  597. meerk40t-0.9.3001/meerk40t/grbl/controller.py +0 -903
  598. meerk40t-0.9.3001/meerk40t/grbl/device.py +0 -768
  599. meerk40t-0.9.3001/meerk40t/grbl/driver.py +0 -771
  600. meerk40t-0.9.3001/meerk40t/grbl/emulator.py +0 -497
  601. meerk40t-0.9.3001/meerk40t/grbl/gcodejob.py +0 -767
  602. meerk40t-0.9.3001/meerk40t/grbl/gui/grblconfiguration.py +0 -298
  603. meerk40t-0.9.3001/meerk40t/grbl/gui/grblcontroller.py +0 -271
  604. meerk40t-0.9.3001/meerk40t/grbl/gui/grblhardwareconfig.py +0 -153
  605. meerk40t-0.9.3001/meerk40t/grbl/gui/gui.py +0 -116
  606. meerk40t-0.9.3001/meerk40t/grbl/interpreter.py +0 -44
  607. meerk40t-0.9.3001/meerk40t/grbl/loader.py +0 -22
  608. meerk40t-0.9.3001/meerk40t/grbl/mock_connection.py +0 -56
  609. meerk40t-0.9.3001/meerk40t/grbl/plugin.py +0 -264
  610. meerk40t-0.9.3001/meerk40t/grbl/serial_connection.py +0 -88
  611. meerk40t-0.9.3001/meerk40t/grbl/tcp_connection.py +0 -79
  612. meerk40t-0.9.3001/meerk40t/gui/__init__.py +0 -1
  613. meerk40t-0.9.3001/meerk40t/gui/about.py +0 -296
  614. meerk40t-0.9.3001/meerk40t/gui/alignment.py +0 -1608
  615. meerk40t-0.9.3001/meerk40t/gui/basicops.py +0 -670
  616. meerk40t-0.9.3001/meerk40t/gui/bufferview.py +0 -71
  617. meerk40t-0.9.3001/meerk40t/gui/busy.py +0 -133
  618. meerk40t-0.9.3001/meerk40t/gui/choicepropertypanel.py +0 -1469
  619. meerk40t-0.9.3001/meerk40t/gui/consolepanel.py +0 -542
  620. meerk40t-0.9.3001/meerk40t/gui/devicepanel.py +0 -581
  621. meerk40t-0.9.3001/meerk40t/gui/dialogoptions.py +0 -107
  622. meerk40t-0.9.3001/meerk40t/gui/executejob.py +0 -306
  623. meerk40t-0.9.3001/meerk40t/gui/fonts.py +0 -90
  624. meerk40t-0.9.3001/meerk40t/gui/guicolors.py +0 -182
  625. meerk40t-0.9.3001/meerk40t/gui/help_assets/help_assets.py +0 -201
  626. meerk40t-0.9.3001/meerk40t/gui/hersheymanager.py +0 -846
  627. meerk40t-0.9.3001/meerk40t/gui/icons.py +0 -2747
  628. meerk40t-0.9.3001/meerk40t/gui/imagesplitter.py +0 -508
  629. meerk40t-0.9.3001/meerk40t/gui/keymap.py +0 -344
  630. meerk40t-0.9.3001/meerk40t/gui/laserpanel.py +0 -806
  631. meerk40t-0.9.3001/meerk40t/gui/laserrender.py +0 -1232
  632. meerk40t-0.9.3001/meerk40t/gui/lasertoolpanel.py +0 -793
  633. meerk40t-0.9.3001/meerk40t/gui/materialtest.py +0 -1694
  634. meerk40t-0.9.3001/meerk40t/gui/mkdebug.py +0 -359
  635. meerk40t-0.9.3001/meerk40t/gui/mwindow.py +0 -140
  636. meerk40t-0.9.3001/meerk40t/gui/navigationpanels.py +0 -2467
  637. meerk40t-0.9.3001/meerk40t/gui/notes.py +0 -142
  638. meerk40t-0.9.3001/meerk40t/gui/opassignment.py +0 -410
  639. meerk40t-0.9.3001/meerk40t/gui/operation_info.py +0 -299
  640. meerk40t-0.9.3001/meerk40t/gui/plugin.py +0 -328
  641. meerk40t-0.9.3001/meerk40t/gui/position.py +0 -669
  642. meerk40t-0.9.3001/meerk40t/gui/preferences.py +0 -650
  643. meerk40t-0.9.3001/meerk40t/gui/propertypanels/attributes.py +0 -1131
  644. meerk40t-0.9.3001/meerk40t/gui/propertypanels/blobproperty.py +0 -114
  645. meerk40t-0.9.3001/meerk40t/gui/propertypanels/consoleproperty.py +0 -80
  646. meerk40t-0.9.3001/meerk40t/gui/propertypanels/groupproperties.py +0 -217
  647. meerk40t-0.9.3001/meerk40t/gui/propertypanels/hatchproperty.py +0 -469
  648. meerk40t-0.9.3001/meerk40t/gui/propertypanels/imageproperty.py +0 -1384
  649. meerk40t-0.9.3001/meerk40t/gui/propertypanels/inputproperty.py +0 -58
  650. meerk40t-0.9.3001/meerk40t/gui/propertypanels/opbranchproperties.py +0 -80
  651. meerk40t-0.9.3001/meerk40t/gui/propertypanels/operationpropertymain.py +0 -1638
  652. meerk40t-0.9.3001/meerk40t/gui/propertypanels/outputproperty.py +0 -58
  653. meerk40t-0.9.3001/meerk40t/gui/propertypanels/pathproperty.py +0 -380
  654. meerk40t-0.9.3001/meerk40t/gui/propertypanels/placementproperty.py +0 -383
  655. meerk40t-0.9.3001/meerk40t/gui/propertypanels/pointproperty.py +0 -136
  656. meerk40t-0.9.3001/meerk40t/gui/propertypanels/propertywindow.py +0 -181
  657. meerk40t-0.9.3001/meerk40t/gui/propertypanels/rasterwizardpanels.py +0 -912
  658. meerk40t-0.9.3001/meerk40t/gui/propertypanels/textproperty.py +0 -755
  659. meerk40t-0.9.3001/meerk40t/gui/propertypanels/waitproperty.py +0 -55
  660. meerk40t-0.9.3001/meerk40t/gui/propertypanels/wobbleproperty.py +0 -204
  661. meerk40t-0.9.3001/meerk40t/gui/ribbon.py +0 -2210
  662. meerk40t-0.9.3001/meerk40t/gui/scene/scene.py +0 -1051
  663. meerk40t-0.9.3001/meerk40t/gui/scene/sceneconst.py +0 -22
  664. meerk40t-0.9.3001/meerk40t/gui/scene/scenepanel.py +0 -349
  665. meerk40t-0.9.3001/meerk40t/gui/scene/scenespacewidget.py +0 -365
  666. meerk40t-0.9.3001/meerk40t/gui/scene/widget.py +0 -505
  667. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/affinemover.py +0 -215
  668. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/attractionwidget.py +0 -309
  669. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/bedwidget.py +0 -97
  670. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/elementswidget.py +0 -107
  671. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/gridwidget.py +0 -745
  672. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/guidewidget.py +0 -765
  673. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/laserpathwidget.py +0 -66
  674. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/machineoriginwidget.py +0 -86
  675. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/nodeselector.py +0 -28
  676. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/rectselectwidget.py +0 -346
  677. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/relocatewidget.py +0 -33
  678. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/reticlewidget.py +0 -83
  679. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/selectionwidget.py +0 -2756
  680. meerk40t-0.9.3001/meerk40t/gui/simpleui.py +0 -333
  681. meerk40t-0.9.3001/meerk40t/gui/simulation.py +0 -2094
  682. meerk40t-0.9.3001/meerk40t/gui/snapoptions.py +0 -203
  683. meerk40t-0.9.3001/meerk40t/gui/spoolerpanel.py +0 -1180
  684. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/defaultoperations.py +0 -353
  685. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/infowidget.py +0 -483
  686. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/opassignwidget.py +0 -355
  687. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/selectionwidget.py +0 -171
  688. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/shapepropwidget.py +0 -236
  689. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/statusbar.py +0 -260
  690. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/statusbarwidget.py +0 -270
  691. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/strokewidget.py +0 -251
  692. meerk40t-0.9.3001/meerk40t/gui/themes.py +0 -78
  693. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/circlebrush.py +0 -35
  694. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolcircle.py +0 -242
  695. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolcontainer.py +0 -77
  696. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/tooldraw.py +0 -90
  697. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolellipse.py +0 -212
  698. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolimagecut.py +0 -132
  699. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolline.py +0 -144
  700. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toollinetext.py +0 -236
  701. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolmeasure.py +0 -216
  702. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolnodeedit.py +0 -2074
  703. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolnodemove.py +0 -94
  704. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolparameter.py +0 -668
  705. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolplacement.py +0 -108
  706. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolpoint.py +0 -59
  707. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolpolygon.py +0 -403
  708. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolpolyline.py +0 -196
  709. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolrect.py +0 -207
  710. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolrelocate.py +0 -72
  711. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolribbon.py +0 -113
  712. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/tooltext.py +0 -89
  713. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolvector.py +0 -204
  714. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolwidget.py +0 -39
  715. meerk40t-0.9.3001/meerk40t/gui/usbconnect.py +0 -91
  716. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/buttonwidget.py +0 -18
  717. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/checkboxwidget.py +0 -90
  718. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/controlwidget.py +0 -14
  719. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +0 -340
  720. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/handlewidget.py +0 -27
  721. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/harmonograph.py +0 -447
  722. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/openclosewidget.py +0 -40
  723. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/rotationwidget.py +0 -54
  724. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/scalewidget.py +0 -75
  725. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/seekbarwidget.py +0 -183
  726. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/togglewidget.py +0 -142
  727. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/toolbarwidget.py +0 -8
  728. meerk40t-0.9.3001/meerk40t/gui/wordlisteditor.py +0 -931
  729. meerk40t-0.9.3001/meerk40t/gui/wxmeerk40t.py +0 -1169
  730. meerk40t-0.9.3001/meerk40t/gui/wxmmain.py +0 -4112
  731. meerk40t-0.9.3001/meerk40t/gui/wxmribbon.py +0 -1076
  732. meerk40t-0.9.3001/meerk40t/gui/wxmscene.py +0 -1453
  733. meerk40t-0.9.3001/meerk40t/gui/wxmtree.py +0 -2089
  734. meerk40t-0.9.3001/meerk40t/gui/wxutils.py +0 -1099
  735. meerk40t-0.9.3001/meerk40t/gui/zmatrix.py +0 -102
  736. meerk40t-0.9.3001/meerk40t/image/__init__.py +0 -1
  737. meerk40t-0.9.3001/meerk40t/image/imagetools.py +0 -2269
  738. meerk40t-0.9.3001/meerk40t/internal_plugins.py +0 -130
  739. meerk40t-0.9.3001/meerk40t/kernel/__init__.py +0 -12
  740. meerk40t-0.9.3001/meerk40t/kernel/channel.py +0 -212
  741. meerk40t-0.9.3001/meerk40t/kernel/context.py +0 -538
  742. meerk40t-0.9.3001/meerk40t/kernel/exceptions.py +0 -41
  743. meerk40t-0.9.3001/meerk40t/kernel/functions.py +0 -414
  744. meerk40t-0.9.3001/meerk40t/kernel/jobs.py +0 -100
  745. meerk40t-0.9.3001/meerk40t/kernel/kernel.py +0 -3571
  746. meerk40t-0.9.3001/meerk40t/kernel/lifecycles.py +0 -71
  747. meerk40t-0.9.3001/meerk40t/kernel/module.py +0 -49
  748. meerk40t-0.9.3001/meerk40t/kernel/service.py +0 -147
  749. meerk40t-0.9.3001/meerk40t/kernel/settings.py +0 -343
  750. meerk40t-0.9.3001/meerk40t/lihuiyu/controller.py +0 -876
  751. meerk40t-0.9.3001/meerk40t/lihuiyu/device.py +0 -1069
  752. meerk40t-0.9.3001/meerk40t/lihuiyu/driver.py +0 -1372
  753. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/gui.py +0 -106
  754. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/lhyaccelgui.py +0 -363
  755. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/lhycontrollergui.py +0 -651
  756. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/lhydrivergui.py +0 -446
  757. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/lhyoperationproperties.py +0 -237
  758. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/tcpcontroller.py +0 -190
  759. meerk40t-0.9.3001/meerk40t/lihuiyu/interpreter.py +0 -53
  760. meerk40t-0.9.3001/meerk40t/lihuiyu/laserspeed.py +0 -450
  761. meerk40t-0.9.3001/meerk40t/lihuiyu/loader.py +0 -90
  762. meerk40t-0.9.3001/meerk40t/lihuiyu/parser.py +0 -404
  763. meerk40t-0.9.3001/meerk40t/lihuiyu/plugin.py +0 -102
  764. meerk40t-0.9.3001/meerk40t/lihuiyu/tcp_connection.py +0 -109
  765. meerk40t-0.9.3001/meerk40t/main.py +0 -165
  766. meerk40t-0.9.3001/meerk40t/moshi/builder.py +0 -781
  767. meerk40t-0.9.3001/meerk40t/moshi/controller.py +0 -499
  768. meerk40t-0.9.3001/meerk40t/moshi/device.py +0 -442
  769. meerk40t-0.9.3001/meerk40t/moshi/driver.py +0 -696
  770. meerk40t-0.9.3001/meerk40t/moshi/gui/gui.py +0 -76
  771. meerk40t-0.9.3001/meerk40t/moshi/gui/moshicontrollergui.py +0 -522
  772. meerk40t-0.9.3001/meerk40t/moshi/gui/moshidrivergui.py +0 -75
  773. meerk40t-0.9.3001/meerk40t/moshi/plugin.py +0 -43
  774. meerk40t-0.9.3001/meerk40t/network/console_server.py +0 -57
  775. meerk40t-0.9.3001/meerk40t/network/kernelserver.py +0 -9
  776. meerk40t-0.9.3001/meerk40t/network/tcp_server.py +0 -140
  777. meerk40t-0.9.3001/meerk40t/network/udp_server.py +0 -77
  778. meerk40t-0.9.3001/meerk40t/newly/controller.py +0 -1144
  779. meerk40t-0.9.3001/meerk40t/newly/device.py +0 -732
  780. meerk40t-0.9.3001/meerk40t/newly/driver.py +0 -412
  781. meerk40t-0.9.3001/meerk40t/newly/gui/gui.py +0 -188
  782. meerk40t-0.9.3001/meerk40t/newly/gui/newlyconfig.py +0 -101
  783. meerk40t-0.9.3001/meerk40t/newly/gui/newlycontroller.py +0 -186
  784. meerk40t-0.9.3001/meerk40t/newly/gui/operationproperties.py +0 -51
  785. meerk40t-0.9.3001/meerk40t/newly/mock_connection.py +0 -82
  786. meerk40t-0.9.3001/meerk40t/newly/newly_params.py +0 -56
  787. meerk40t-0.9.3001/meerk40t/newly/plugin.py +0 -1246
  788. meerk40t-0.9.3001/meerk40t/newly/usb_connection.py +0 -322
  789. meerk40t-0.9.3001/meerk40t/rotary/gui/gui.py +0 -46
  790. meerk40t-0.9.3001/meerk40t/rotary/gui/rotarysettings.py +0 -232
  791. meerk40t-0.9.3001/meerk40t/rotary/rotary.py +0 -98
  792. meerk40t-0.9.3001/meerk40t/ruida/control.py +0 -91
  793. meerk40t-0.9.3001/meerk40t/ruida/controller.py +0 -1088
  794. meerk40t-0.9.3001/meerk40t/ruida/device.py +0 -231
  795. meerk40t-0.9.3001/meerk40t/ruida/driver.py +0 -472
  796. meerk40t-0.9.3001/meerk40t/ruida/emulator.py +0 -1491
  797. meerk40t-0.9.3001/meerk40t/ruida/exceptions.py +0 -4
  798. meerk40t-0.9.3001/meerk40t/ruida/gui/gui.py +0 -76
  799. meerk40t-0.9.3001/meerk40t/ruida/gui/ruidaconfig.py +0 -72
  800. meerk40t-0.9.3001/meerk40t/ruida/gui/ruidacontroller.py +0 -184
  801. meerk40t-0.9.3001/meerk40t/ruida/gui/ruidaoperationproperties.py +0 -47
  802. meerk40t-0.9.3001/meerk40t/ruida/loader.py +0 -52
  803. meerk40t-0.9.3001/meerk40t/ruida/mock_connection.py +0 -109
  804. meerk40t-0.9.3001/meerk40t/ruida/plugin.py +0 -87
  805. meerk40t-0.9.3001/meerk40t/ruida/rdjob.py +0 -945
  806. meerk40t-0.9.3001/meerk40t/svgelements.py +0 -9669
  807. meerk40t-0.9.3001/meerk40t/tools/driver_to_path.py +0 -579
  808. meerk40t-0.9.3001/meerk40t/tools/geomstr.py +0 -4680
  809. meerk40t-0.9.3001/meerk40t/tools/jhfparser.py +0 -292
  810. meerk40t-0.9.3001/meerk40t/tools/kerftest.py +0 -890
  811. meerk40t-0.9.3001/meerk40t/tools/livinghinges.py +0 -1033
  812. meerk40t-0.9.3001/meerk40t/tools/pathtools.py +0 -949
  813. meerk40t-0.9.3001/meerk40t/tools/pointfinder.py +0 -942
  814. meerk40t-0.9.3001/meerk40t/tools/polybool.py +0 -940
  815. meerk40t-0.9.3001/meerk40t/tools/rasterplotter.py +0 -547
  816. meerk40t-0.9.3001/meerk40t/tools/shxparser.py +0 -901
  817. meerk40t-0.9.3001/meerk40t/tools/ttfparser.py +0 -446
  818. meerk40t-0.9.3001/meerk40t/tools/zinglplotter.py +0 -593
  819. meerk40t-0.9.3001/meerk40t.egg-info/PKG-INFO +0 -139
  820. meerk40t-0.9.3001/meerk40t.egg-info/SOURCES.txt +0 -872
  821. meerk40t-0.9.3001/meerk40t.egg-info/top_level.txt +0 -2
  822. meerk40t-0.9.3001/meerk40t.egg-info/zip-safe +0 -1
  823. meerk40t-0.9.3001/pyproject.toml +0 -649
  824. meerk40t-0.9.3001/setup.cfg +0 -46
  825. meerk40t-0.9.3001/setup.py +0 -21
  826. meerk40t-0.9.3001/test/bootstrap.py +0 -63
  827. meerk40t-0.9.3001/test/test_cli.py +0 -12
  828. meerk40t-0.9.3001/test/test_core_cutcode.py +0 -418
  829. meerk40t-0.9.3001/test/test_core_elements.py +0 -144
  830. meerk40t-0.9.3001/test/test_core_plotplanner.py +0 -397
  831. meerk40t-0.9.3001/test/test_core_viewports.py +0 -312
  832. meerk40t-0.9.3001/test/test_drivers_grbl.py +0 -108
  833. meerk40t-0.9.3001/test/test_drivers_lihuiyu.py +0 -443
  834. meerk40t-0.9.3001/test/test_drivers_newly.py +0 -113
  835. meerk40t-0.9.3001/test/test_element_degenerate_points.py +0 -43
  836. meerk40t-0.9.3001/test/test_elements_classify.py +0 -97
  837. meerk40t-0.9.3001/test/test_elements_penbox.py +0 -22
  838. meerk40t-0.9.3001/test/test_file_svg.py +0 -176
  839. meerk40t-0.9.3001/test/test_fill.py +0 -155
  840. meerk40t-0.9.3001/test/test_geomstr.py +0 -1523
  841. meerk40t-0.9.3001/test/test_geomstr_nodes.py +0 -18
  842. meerk40t-0.9.3001/test/test_imagetools_actualize.py +0 -306
  843. meerk40t-0.9.3001/test/test_imagetools_wizard.py +0 -258
  844. meerk40t-0.9.3001/test/test_kernel.py +0 -200
  845. meerk40t-0.9.3001/test/test_laser_speeds.py +0 -3303
  846. meerk40t-0.9.3001/test/test_length.py +0 -57
  847. meerk40t-0.9.3001/test/test_lifecycle.py +0 -66
  848. meerk40t-0.9.3001/test/test_operations.py +0 -251
  849. meerk40t-0.9.3001/test/test_operations_hatch.py +0 -57
  850. meerk40t-0.9.3001/test/test_ruida.py +0 -19
  851. meerk40t-0.9.3001/test/test_spooler.py +0 -22
  852. meerk40t-0.9.3001/test/test_tools_rasterplotter.py +0 -29
  853. meerk40t-0.9.3001/test/test_wobble.py +0 -133
  854. meerk40t-0.9.3001/test/test_zingl.py +0 -124
  855. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t/balormk/__init__.py +0 -0
  856. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t/balormk/gui/__init__.py +0 -0
  857. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t/camera/gui/__init__.py +0 -0
  858. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t/core/cutcode/__init__.py +0 -0
  859. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t/core/elements/__init__.py +0 -0
  860. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t/core/node/__init__.py +0 -0
  861. {meerk40t-0.9.3001/meerk40t/device/gui → meerk40t-0.9.7010/meerk40t/cylinder}/__init__.py +0 -0
  862. {meerk40t-0.9.3001/meerk40t/extra → meerk40t-0.9.7010/meerk40t/cylinder/gui}/__init__.py +0 -0
  863. {meerk40t-0.9.3001/meerk40t/fill → meerk40t-0.9.7010/meerk40t/device/gui}/__init__.py +0 -0
  864. {meerk40t-0.9.3001/meerk40t/grbl → meerk40t-0.9.7010/meerk40t/extra}/__init__.py +0 -0
  865. {meerk40t-0.9.3001/meerk40t/grbl/gui → meerk40t-0.9.7010/meerk40t/fill}/__init__.py +0 -0
  866. {meerk40t-0.9.3001/meerk40t/gui/help_assets → meerk40t-0.9.7010/meerk40t/grbl}/__init__.py +0 -0
  867. {meerk40t-0.9.3001/meerk40t/gui/propertypanels → meerk40t-0.9.7010/meerk40t/grbl/gui}/__init__.py +0 -0
  868. {meerk40t-0.9.3001/meerk40t/gui/scene → meerk40t-0.9.7010/meerk40t/gui/help_assets}/__init__.py +0 -0
  869. {meerk40t-0.9.3001/meerk40t/gui/scenewidgets → meerk40t-0.9.7010/meerk40t/gui/propertypanels}/__init__.py +0 -0
  870. {meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets → meerk40t-0.9.7010/meerk40t/gui/scene}/__init__.py +0 -0
  871. {meerk40t-0.9.3001/meerk40t/gui/toolwidgets → meerk40t-0.9.7010/meerk40t/gui/scenewidgets}/__init__.py +0 -0
  872. {meerk40t-0.9.3001/meerk40t/gui/utilitywidgets → meerk40t-0.9.7010/meerk40t/gui/statusbarwidgets}/__init__.py +0 -0
  873. {meerk40t-0.9.3001/meerk40t/lihuiyu → meerk40t-0.9.7010/meerk40t/gui/toolwidgets}/__init__.py +0 -0
  874. {meerk40t-0.9.3001/meerk40t/lihuiyu/gui → meerk40t-0.9.7010/meerk40t/gui/utilitywidgets}/__init__.py +0 -0
  875. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t/kernel/states.py +0 -0
  876. {meerk40t-0.9.3001/meerk40t/moshi → meerk40t-0.9.7010/meerk40t/lihuiyu}/__init__.py +0 -0
  877. {meerk40t-0.9.3001/meerk40t/moshi → meerk40t-0.9.7010/meerk40t/lihuiyu}/gui/__init__.py +0 -0
  878. {meerk40t-0.9.3001/meerk40t/network → meerk40t-0.9.7010/meerk40t/moshi}/__init__.py +0 -0
  879. {meerk40t-0.9.3001/meerk40t/newly → meerk40t-0.9.7010/meerk40t/moshi/gui}/__init__.py +0 -0
  880. {meerk40t-0.9.3001/meerk40t/newly/gui → meerk40t-0.9.7010/meerk40t/network}/__init__.py +0 -0
  881. {meerk40t-0.9.3001/meerk40t/rotary → meerk40t-0.9.7010/meerk40t/newly}/__init__.py +0 -0
  882. {meerk40t-0.9.3001/meerk40t/rotary → meerk40t-0.9.7010/meerk40t/newly}/gui/__init__.py +0 -0
  883. {meerk40t-0.9.3001/meerk40t/ruida → meerk40t-0.9.7010/meerk40t/rotary}/__init__.py +0 -0
  884. {meerk40t-0.9.3001/meerk40t/ruida → meerk40t-0.9.7010/meerk40t/rotary}/gui/__init__.py +0 -0
  885. {meerk40t-0.9.3001/meerk40t/tools → meerk40t-0.9.7010/meerk40t/ruida}/__init__.py +0 -0
  886. {meerk40t-0.9.3001/test → meerk40t-0.9.7010/meerk40t/ruida/gui}/__init__.py +0 -0
  887. /meerk40t-0.9.3001/meerk40t/core/element_commands.py → /meerk40t-0.9.7010/meerk40t/tools/__init__.py +0 -0
  888. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t.egg-info/dependency_links.txt +0 -0
  889. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t.egg-info/entry_points.txt +0 -0
  890. {meerk40t-0.9.3001 → meerk40t-0.9.7010}/meerk40t.egg-info/requires.txt +0 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 meerk40t
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,150 @@
1
+ Metadata-Version: 2.1
2
+ Name: meerk40t
3
+ Version: 0.9.7010
4
+ Summary: MeerK40t LaserCutter Software
5
+ Home-page: https://github.com/meerk40t/meerk40t
6
+ Author: Tatarize
7
+ Author-email: tatarize@gmail.com
8
+ License: MIT
9
+ Keywords: lasercutter,laser,vector,parser
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python
14
+ Classifier: Programming Language :: Python :: 3.6
15
+ Classifier: Programming Language :: Python :: 3.7
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Topic :: Multimedia :: Graphics
20
+ Classifier: Topic :: Multimedia :: Graphics :: Editors :: Vector-Based
21
+ Classifier: Topic :: Utilities
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: pyusb>=1.0.0
25
+ Requires-Dist: pyserial
26
+ Requires-Dist: numpy
27
+ Provides-Extra: all
28
+ Requires-Dist: wxPython>=4.0.0; extra == "all"
29
+ Requires-Dist: Pillow>=7.0.0; extra == "all"
30
+ Requires-Dist: opencv-python-headless>=3.4.0.0; extra == "all"
31
+ Requires-Dist: ezdxf>=0.14.0; extra == "all"
32
+ Provides-Extra: gui
33
+ Requires-Dist: wxPython>=4.0.0; extra == "gui"
34
+ Requires-Dist: Pillow>=7.0.0; extra == "gui"
35
+ Provides-Extra: cam
36
+ Requires-Dist: opencv-python-headless>=3.4.0.0; extra == "cam"
37
+ Provides-Extra: dxf
38
+ Requires-Dist: ezdxf>=0.14.0; extra == "dxf"
39
+ Provides-Extra: camhead
40
+ Requires-Dist: opencv-python>=3.4.0.0; extra == "camhead"
41
+
42
+ # Welcome to MeerK40t!
43
+ MeerK40t (pronounced MeerKat) is a built-from-the-ground-up MIT licensed open-source laser cutting software.
44
+
45
+ The primary goals of this software is simple:
46
+
47
+
48
+ * Provide users with high quality laser control software.
49
+ * Provide developers with a highly extensible platform to help further their own ideas, and provide novel work to the laser community at large.
50
+
51
+ ## Getting started
52
+ To get up and running, simply download Meerk40t from [here](https://github.com/meerk40t/meerk40t/releases) for your specific platform. (Windows, Mac OSX, Linux, and by extension, Raspberry Pi).
53
+
54
+ <details>
55
+ <summary>Release Versions (Just use the latest)</summary>
56
+
57
+
58
+ > * 0.9 - Active - New features and some underlying architectural changes. Try the latest released version: [0.9.5.1](https://github.com/meerk40t/meerk40t/releases#latest)
59
+ > * 0.8 - Maintenance - may receive critical bugfixes but no more new features, latest version: [0.8.12](https://github.com/meerk40t/meerk40t/releases/tag/0.8.12000) (Oct 17, 2023)
60
+ > * 0.7 - Discontinued - K40 support only (including ruidacontrol emulator for 3rd party lasersoftware integration), latest version [0.7.10](https://github.com/meerk40t/meerk40t/releases/tag/0.7.10000) (June 13, 2023)
61
+ > * 0.6 - Discontinued - K40 support only, latest version: [0.6.24](https://github.com/meerk40t/meerk40t/releases/tag/0.6.24) (Oct 11, 2021)
62
+
63
+
64
+ </details>
65
+
66
+ ### Command Line Interface
67
+
68
+ Meerk40t has an advanced internal console system allowing access to most parts of the code with various commands. It also provides a command line interface which should allow you to automate any processes. To learn more, download a version of Meerk40t for your platform, and execute it in a terminal with the ``--help`` argument to get a list of options.
69
+
70
+ ## Compiling from source
71
+
72
+ Alternatively you can run MeerK40t directly from Python. `pip install meerk40t[all]` with python installed will usually be sufficient. Then merely run `meerk40t` at the command line.
73
+
74
+ See [Install: Source wiki page](https://github.com/meerk40t/meerk40t/wiki/Install:-Source)
75
+
76
+ The wxMeerK40t is the GUI and is written in wxPython. We use AUI to allow to have a very highly configurable UI. We can easily add panes and tools and there are quite a few available already.
77
+
78
+ ## Screenshots
79
+ ![grafik](https://github.com/user-attachments/assets/e56135a2-7b1f-44be-9761-b92931e300f6)
80
+
81
+ ## Drivers
82
+
83
+ Meerk40t provides a variety of drivers with an extensible framework to provide support for other new laser devices. The code was written with the myriad of possibilities for different software in mind. For example, it may be essential that GRBL be able to reset an alarm or notify the user of particular error codes. The configuration for GRBL is not the same for the configuration of other laser control drivers. With this in mind, Meerk40t can radically change how and when it works
84
+
85
+
86
+ ### Supported devices
87
+ * Lihuiyu M2/M3-Nano (aka K40 lasers)
88
+ * Any GRBL device (Atomstack, Creality, Longer, Ortur etc...)
89
+ * Ezcad2-compatible JCZ controllers galvo lasers
90
+ * Moshiboard
91
+ * NewlyDraw System 8.1 Lasers
92
+ * Ruida-Emulation (Middleman between Lightburn and K40)
93
+
94
+ <details>
95
+ <summary>More device support info</summary>
96
+
97
+ ### Lihuiyu M2-Nano/M3-Nano
98
+ For the Lihuiyu (stock driver), Meerk40t supports both the windows and libusb connection methods, making it compatible with Whisperer and with the original Chinese software. So MeerK40t can usually run alongside these other pieces of software interchangeably.
99
+
100
+ ### GRBL
101
+
102
+ GRBL is itself open source and the various interfaces with the board should be quite well understood.
103
+
104
+ ### EZCAD2-Compatible Galvo LMC
105
+
106
+ Meerk40t supports controlling galvo as well as gantry lasers with open source support.
107
+
108
+ ### Moshiboard
109
+
110
+ The support for old moshiboards makes meerk40t the only known opensource software that controls moshiboards.
111
+
112
+ ### System 8.1 Lasers (NewlyDraw)
113
+
114
+ HPGL-modified laser systems produced under many different company names
115
+
116
+ </details>
117
+
118
+ ## Support
119
+ The primary source for help and documentation is the [MeerK40t Wiki - please click here](https://github.com/meerk40t/meerk40t/wiki).
120
+
121
+ If you have a bug, feature request, or other issue raise it here. These are likely to be resolved. Squeaky wheels get the grease.
122
+ https://github.com/meerk40t/meerk40t/issues
123
+
124
+ If you need additional support, please research/ask on:
125
+
126
+ * [Facebook](https://www.facebook.com/groups/716000085655097/)
127
+ * [Maker Forums](https://forum.makerforums.info/t/about-the-meerk40t-category/79660)
128
+ * [YouTube - David Olsen's channel](https://www.youtube.com/channel/UCsAUV23O2FyKxC0HN7nkAQQ)
129
+ * [YouTube - Some instruction videos](https://www.youtube.com/channel/UCMN9gGvpacxZINPZCSOecaQ)
130
+ * [Discord](https://discord.gg/vkDD3HdQq6)
131
+
132
+ ## Assisting the Project
133
+
134
+ Open source projects live and die with their support. There are a lots of ways to help the project. There are also a lot of ways the project should help you.
135
+ * Code
136
+ * Provide Translations in other languages.
137
+ * Design ( Good design instincts, smooth out the rough edges)
138
+ * Compile/Testers
139
+ * Beta testers
140
+ * Make helpful support content
141
+ * Make guides ("How to set up cameras?", etc.)
142
+ * Bounce ideas around
143
+
144
+ If you want to get into contact and help, then the [Discord Channel](https://discord.gg/vkDD3HdQq6) is the easiest and fastest way to reach out to us - we are looking forward to hear from you.
145
+
146
+
147
+ ## Lightburn integration
148
+ Meerk40t allows to act as an intermediary between your K40 laser and software that supports Ruida-controlled laser equipment - [Lightburn](https://lightburnsoftware.com/) is a relevant example of such a software product. You just need to issue the command ``ruidacontrol`` in MeerK40ts console window, and you will then be able to add an emulated Ruida Laser inside Lightburn™. Laser jobs that are created inside Lightburn™ and sent to this laser will be picked up by MeerK40t and sent to your K40. See some more detailed instructions in this [video](https://www.youtube.com/watch?v=LUUfLf5Agu0). Please note `ruidacontrol` will require the DSP version of Lightburn™. (Present in all versions since 0.7)
149
+
150
+ With 0.9 another way of interacting with Lightburn was introduced, which will work as well with the standard version of LB: You just need to issue the command ``grblcontrol`` in MeerK40ts console window, and you will then be able to add an emulated remote GBRL-LPC laser inside Lightburn or any TCP GRBL control software.
@@ -0,0 +1,109 @@
1
+ # Welcome to MeerK40t!
2
+ MeerK40t (pronounced MeerKat) is a built-from-the-ground-up MIT licensed open-source laser cutting software.
3
+
4
+ The primary goals of this software is simple:
5
+
6
+
7
+ * Provide users with high quality laser control software.
8
+ * Provide developers with a highly extensible platform to help further their own ideas, and provide novel work to the laser community at large.
9
+
10
+ ## Getting started
11
+ To get up and running, simply download Meerk40t from [here](https://github.com/meerk40t/meerk40t/releases) for your specific platform. (Windows, Mac OSX, Linux, and by extension, Raspberry Pi).
12
+
13
+ <details>
14
+ <summary>Release Versions (Just use the latest)</summary>
15
+
16
+
17
+ > * 0.9 - Active - New features and some underlying architectural changes. Try the latest released version: [0.9.5.1](https://github.com/meerk40t/meerk40t/releases#latest)
18
+ > * 0.8 - Maintenance - may receive critical bugfixes but no more new features, latest version: [0.8.12](https://github.com/meerk40t/meerk40t/releases/tag/0.8.12000) (Oct 17, 2023)
19
+ > * 0.7 - Discontinued - K40 support only (including ruidacontrol emulator for 3rd party lasersoftware integration), latest version [0.7.10](https://github.com/meerk40t/meerk40t/releases/tag/0.7.10000) (June 13, 2023)
20
+ > * 0.6 - Discontinued - K40 support only, latest version: [0.6.24](https://github.com/meerk40t/meerk40t/releases/tag/0.6.24) (Oct 11, 2021)
21
+
22
+
23
+ </details>
24
+
25
+ ### Command Line Interface
26
+
27
+ Meerk40t has an advanced internal console system allowing access to most parts of the code with various commands. It also provides a command line interface which should allow you to automate any processes. To learn more, download a version of Meerk40t for your platform, and execute it in a terminal with the ``--help`` argument to get a list of options.
28
+
29
+ ## Compiling from source
30
+
31
+ Alternatively you can run MeerK40t directly from Python. `pip install meerk40t[all]` with python installed will usually be sufficient. Then merely run `meerk40t` at the command line.
32
+
33
+ See [Install: Source wiki page](https://github.com/meerk40t/meerk40t/wiki/Install:-Source)
34
+
35
+ The wxMeerK40t is the GUI and is written in wxPython. We use AUI to allow to have a very highly configurable UI. We can easily add panes and tools and there are quite a few available already.
36
+
37
+ ## Screenshots
38
+ ![grafik](https://github.com/user-attachments/assets/e56135a2-7b1f-44be-9761-b92931e300f6)
39
+
40
+ ## Drivers
41
+
42
+ Meerk40t provides a variety of drivers with an extensible framework to provide support for other new laser devices. The code was written with the myriad of possibilities for different software in mind. For example, it may be essential that GRBL be able to reset an alarm or notify the user of particular error codes. The configuration for GRBL is not the same for the configuration of other laser control drivers. With this in mind, Meerk40t can radically change how and when it works
43
+
44
+
45
+ ### Supported devices
46
+ * Lihuiyu M2/M3-Nano (aka K40 lasers)
47
+ * Any GRBL device (Atomstack, Creality, Longer, Ortur etc...)
48
+ * Ezcad2-compatible JCZ controllers galvo lasers
49
+ * Moshiboard
50
+ * NewlyDraw System 8.1 Lasers
51
+ * Ruida-Emulation (Middleman between Lightburn and K40)
52
+
53
+ <details>
54
+ <summary>More device support info</summary>
55
+
56
+ ### Lihuiyu M2-Nano/M3-Nano
57
+ For the Lihuiyu (stock driver), Meerk40t supports both the windows and libusb connection methods, making it compatible with Whisperer and with the original Chinese software. So MeerK40t can usually run alongside these other pieces of software interchangeably.
58
+
59
+ ### GRBL
60
+
61
+ GRBL is itself open source and the various interfaces with the board should be quite well understood.
62
+
63
+ ### EZCAD2-Compatible Galvo LMC
64
+
65
+ Meerk40t supports controlling galvo as well as gantry lasers with open source support.
66
+
67
+ ### Moshiboard
68
+
69
+ The support for old moshiboards makes meerk40t the only known opensource software that controls moshiboards.
70
+
71
+ ### System 8.1 Lasers (NewlyDraw)
72
+
73
+ HPGL-modified laser systems produced under many different company names
74
+
75
+ </details>
76
+
77
+ ## Support
78
+ The primary source for help and documentation is the [MeerK40t Wiki - please click here](https://github.com/meerk40t/meerk40t/wiki).
79
+
80
+ If you have a bug, feature request, or other issue raise it here. These are likely to be resolved. Squeaky wheels get the grease.
81
+ https://github.com/meerk40t/meerk40t/issues
82
+
83
+ If you need additional support, please research/ask on:
84
+
85
+ * [Facebook](https://www.facebook.com/groups/716000085655097/)
86
+ * [Maker Forums](https://forum.makerforums.info/t/about-the-meerk40t-category/79660)
87
+ * [YouTube - David Olsen's channel](https://www.youtube.com/channel/UCsAUV23O2FyKxC0HN7nkAQQ)
88
+ * [YouTube - Some instruction videos](https://www.youtube.com/channel/UCMN9gGvpacxZINPZCSOecaQ)
89
+ * [Discord](https://discord.gg/vkDD3HdQq6)
90
+
91
+ ## Assisting the Project
92
+
93
+ Open source projects live and die with their support. There are a lots of ways to help the project. There are also a lot of ways the project should help you.
94
+ * Code
95
+ * Provide Translations in other languages.
96
+ * Design ( Good design instincts, smooth out the rough edges)
97
+ * Compile/Testers
98
+ * Beta testers
99
+ * Make helpful support content
100
+ * Make guides ("How to set up cameras?", etc.)
101
+ * Bounce ideas around
102
+
103
+ If you want to get into contact and help, then the [Discord Channel](https://discord.gg/vkDD3HdQq6) is the easiest and fastest way to reach out to us - we are looking forward to hear from you.
104
+
105
+
106
+ ## Lightburn integration
107
+ Meerk40t allows to act as an intermediary between your K40 laser and software that supports Ruida-controlled laser equipment - [Lightburn](https://lightburnsoftware.com/) is a relevant example of such a software product. You just need to issue the command ``ruidacontrol`` in MeerK40ts console window, and you will then be able to add an emulated Ruida Laser inside Lightburn™. Laser jobs that are created inside Lightburn™ and sent to this laser will be picked up by MeerK40t and sent to your K40. See some more detailed instructions in this [video](https://www.youtube.com/watch?v=LUUfLf5Agu0). Please note `ruidacontrol` will require the DSP version of Lightburn™. (Present in all versions since 0.7)
108
+
109
+ With 0.9 another way of interacting with Lightburn was introduced, which will work as well with the standard version of LB: You just need to issue the command ``grblcontrol`` in MeerK40ts console window, and you will then be able to add an emulated remote GBRL-LPC laser inside Lightburn or any TCP GRBL control software.
@@ -0,0 +1 @@
1
+ name = "meerk40t"
@@ -0,0 +1,167 @@
1
+ """
2
+ Balor Parameters is a helper class which serves to treat a dict settings object as an attribute object. This differs
3
+ from the core parameters in the parameters it uses.
4
+ """
5
+
6
+ from typing import Dict
7
+
8
+ FLOAT_PARAMETERS = (
9
+ "speed",
10
+ "frequency",
11
+ "power",
12
+ "rapid_speed",
13
+ "delay_laser_on",
14
+ "delay_laser_off",
15
+ "delay_polygon",
16
+ )
17
+ INT_PARAMETERS = ("pulse_width",)
18
+
19
+ BOOL_PARAMETERS = (
20
+ "timing_enabled",
21
+ "rapid_enabled",
22
+ "pulse_width_enabled",
23
+ )
24
+
25
+
26
+ STRING_PARAMETERS = ()
27
+
28
+
29
+ class Parameters:
30
+ def __init__(self, settings: Dict = None, **kwargs):
31
+ if hasattr(self, "settings"):
32
+ # already initialized.
33
+ return
34
+ self.settings = settings
35
+ if self.settings is None:
36
+ self.settings = dict()
37
+ self.settings.update(kwargs)
38
+
39
+ def derive(self):
40
+ derived_dict = dict(self.settings)
41
+ for attr in dir(self):
42
+ if attr.startswith("_"):
43
+ continue
44
+ value = getattr(self, attr)
45
+ if value is None:
46
+ continue
47
+ derived_dict[attr] = value
48
+ return derived_dict
49
+
50
+ def validate(self):
51
+ settings = self.settings
52
+ for v in FLOAT_PARAMETERS:
53
+ if v in settings:
54
+ settings[v] = float(settings[v])
55
+ for v in INT_PARAMETERS:
56
+ if v in settings:
57
+ settings[v] = int(settings[v])
58
+ for v in BOOL_PARAMETERS:
59
+ if v in settings:
60
+ settings[v] = str(settings[v]).lower() == "true"
61
+ for v in STRING_PARAMETERS:
62
+ if v in settings:
63
+ settings[v] = str(settings[v])
64
+
65
+ @property
66
+ def rapid_enabled(self):
67
+ return self.settings.get("rapid_enabled", False)
68
+
69
+ @rapid_enabled.setter
70
+ def rapid_enabled(self, value):
71
+ self.settings["rapid_enabled"] = value
72
+
73
+ @property
74
+ def pulse_width_enabled(self):
75
+ return self.settings.get("pulse_width_enabled", False)
76
+
77
+ @pulse_width_enabled.setter
78
+ def pulse_width_enabled(self, value):
79
+ self.settings["pulse_width_enabled"] = value
80
+
81
+ @property
82
+ def pulse_width(self):
83
+ return self.settings.get("pulse_width", 4)
84
+
85
+ @pulse_width.setter
86
+ def pulse_width(self, value):
87
+ self.settings["pulse_width"] = value
88
+
89
+ @property
90
+ def timing_enabled(self):
91
+ return self.settings.get("timing_enabled", False)
92
+
93
+ @timing_enabled.setter
94
+ def timing_enabled(self, value):
95
+ self.settings["timing_enabled"] = value
96
+
97
+ @property
98
+ def speed(self):
99
+ return self.settings.get("speed", 100.0)
100
+
101
+ @speed.setter
102
+ def speed(self, value):
103
+ self.settings["speed"] = value
104
+
105
+ @property
106
+ def rapid_speed(self):
107
+ return self.settings.get("rapid_speed", 2000.0)
108
+
109
+ @rapid_speed.setter
110
+ def rapid_speed(self, value):
111
+ self.settings["rapid_speed"] = value
112
+
113
+ @property
114
+ def power(self):
115
+ return self.settings.get("power", 500)
116
+
117
+ @power.setter
118
+ def power(self, value):
119
+ self.settings["power"] = value
120
+
121
+ @property
122
+ def frequency(self):
123
+ return self.settings.get("frequency", 30.0)
124
+
125
+ @frequency.setter
126
+ def frequency(self, value):
127
+ self.settings["frequency"] = value
128
+
129
+ @property
130
+ def delay_laser_on(self):
131
+ return self.settings.get("delay_laser_on", 100.0)
132
+
133
+ @delay_laser_on.setter
134
+ def delay_laser_on(self, value):
135
+ self.settings["delay_laser_on"] = value
136
+
137
+ @property
138
+ def delay_laser_off(self):
139
+ return self.settings.get("delay_laser_off", 100.0)
140
+
141
+ @delay_laser_off.setter
142
+ def delay_laser_off(self, value):
143
+ self.settings["delay_laser_off"] = value
144
+
145
+ @property
146
+ def delay_polygon(self):
147
+ return self.settings.get("delay_polygon", 100.0)
148
+
149
+ @delay_polygon.setter
150
+ def delay_polygon(self, value):
151
+ self.settings["delay_polygon"] = value
152
+
153
+ @property
154
+ def delay_end(self):
155
+ return self.settings.get("delay_end", 800.0)
156
+
157
+ @delay_end.setter
158
+ def delay_end(self, value):
159
+ self.settings["delay_end"] = value
160
+
161
+ @property
162
+ def dwell_time(self):
163
+ return self.settings.get("dwell_time", 50.0)
164
+
165
+ @dwell_time.setter
166
+ def dwell_time(self, value):
167
+ self.settings["dwell_time"] = value