meerk40t 0.9.3001__tar.gz → 0.9.7020__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 (891) hide show
  1. meerk40t-0.9.7020/LICENSE +21 -0
  2. meerk40t-0.9.7020/PKG-INFO +150 -0
  3. meerk40t-0.9.7020/README.md +109 -0
  4. meerk40t-0.9.7020/meerk40t/__init__.py +1 -0
  5. meerk40t-0.9.7020/meerk40t/balormk/balor_params.py +167 -0
  6. meerk40t-0.9.7020/meerk40t/balormk/clone_loader.py +457 -0
  7. meerk40t-0.9.7020/meerk40t/balormk/controller.py +1566 -0
  8. meerk40t-0.9.7020/meerk40t/balormk/cylindermod.py +64 -0
  9. meerk40t-0.9.7020/meerk40t/balormk/device.py +966 -0
  10. meerk40t-0.9.7020/meerk40t/balormk/driver.py +778 -0
  11. meerk40t-0.9.7020/meerk40t/balormk/galvo_commands.py +1194 -0
  12. meerk40t-0.9.7020/meerk40t/balormk/gui/balorconfig.py +237 -0
  13. meerk40t-0.9.7020/meerk40t/balormk/gui/balorcontroller.py +191 -0
  14. meerk40t-0.9.7020/meerk40t/balormk/gui/baloroperationproperties.py +116 -0
  15. meerk40t-0.9.7020/meerk40t/balormk/gui/corscene.py +845 -0
  16. meerk40t-0.9.7020/meerk40t/balormk/gui/gui.py +179 -0
  17. meerk40t-0.9.7020/meerk40t/balormk/livelightjob.py +466 -0
  18. meerk40t-0.9.7020/meerk40t/balormk/mock_connection.py +131 -0
  19. meerk40t-0.9.7020/meerk40t/balormk/plugin.py +133 -0
  20. meerk40t-0.9.7020/meerk40t/balormk/usb_connection.py +306 -0
  21. meerk40t-0.9.7020/meerk40t/camera/__init__.py +1 -0
  22. meerk40t-0.9.7020/meerk40t/camera/camera.py +514 -0
  23. meerk40t-0.9.7020/meerk40t/camera/gui/camerapanel.py +1241 -0
  24. meerk40t-0.9.7020/meerk40t/camera/gui/gui.py +58 -0
  25. meerk40t-0.9.7020/meerk40t/camera/plugin.py +441 -0
  26. meerk40t-0.9.7020/meerk40t/ch341/__init__.py +27 -0
  27. meerk40t-0.9.7020/meerk40t/ch341/ch341device.py +628 -0
  28. meerk40t-0.9.7020/meerk40t/ch341/libusb.py +595 -0
  29. meerk40t-0.9.7020/meerk40t/ch341/mock.py +171 -0
  30. meerk40t-0.9.7020/meerk40t/ch341/windriver.py +157 -0
  31. meerk40t-0.9.7020/meerk40t/constants.py +13 -0
  32. meerk40t-0.9.7020/meerk40t/core/__init__.py +1 -0
  33. meerk40t-0.9.7020/meerk40t/core/bindalias.py +550 -0
  34. meerk40t-0.9.7020/meerk40t/core/core.py +47 -0
  35. meerk40t-0.9.7020/meerk40t/core/cutcode/cubiccut.py +73 -0
  36. meerk40t-0.9.7020/meerk40t/core/cutcode/cutcode.py +315 -0
  37. meerk40t-0.9.7020/meerk40t/core/cutcode/cutgroup.py +141 -0
  38. meerk40t-0.9.7020/meerk40t/core/cutcode/cutobject.py +192 -0
  39. meerk40t-0.9.7020/meerk40t/core/cutcode/dwellcut.py +37 -0
  40. meerk40t-0.9.7020/meerk40t/core/cutcode/gotocut.py +29 -0
  41. meerk40t-0.9.7020/meerk40t/core/cutcode/homecut.py +29 -0
  42. meerk40t-0.9.7020/meerk40t/core/cutcode/inputcut.py +34 -0
  43. meerk40t-0.9.7020/meerk40t/core/cutcode/linecut.py +33 -0
  44. meerk40t-0.9.7020/meerk40t/core/cutcode/outputcut.py +34 -0
  45. meerk40t-0.9.7020/meerk40t/core/cutcode/plotcut.py +335 -0
  46. meerk40t-0.9.7020/meerk40t/core/cutcode/quadcut.py +61 -0
  47. meerk40t-0.9.7020/meerk40t/core/cutcode/rastercut.py +168 -0
  48. meerk40t-0.9.7020/meerk40t/core/cutcode/waitcut.py +34 -0
  49. meerk40t-0.9.7020/meerk40t/core/cutplan.py +1843 -0
  50. meerk40t-0.9.7020/meerk40t/core/drivers.py +330 -0
  51. meerk40t-0.9.7020/meerk40t/core/elements/align.py +801 -0
  52. meerk40t-0.9.7020/meerk40t/core/elements/branches.py +1858 -0
  53. meerk40t-0.9.7020/meerk40t/core/elements/clipboard.py +229 -0
  54. meerk40t-0.9.7020/meerk40t/core/elements/element_treeops.py +4595 -0
  55. meerk40t-0.9.7020/meerk40t/core/elements/element_types.py +125 -0
  56. meerk40t-0.9.7020/meerk40t/core/elements/elements.py +4315 -0
  57. meerk40t-0.9.7020/meerk40t/core/elements/files.py +117 -0
  58. meerk40t-0.9.7020/meerk40t/core/elements/geometry.py +473 -0
  59. meerk40t-0.9.7020/meerk40t/core/elements/grid.py +467 -0
  60. meerk40t-0.9.7020/meerk40t/core/elements/materials.py +158 -0
  61. meerk40t-0.9.7020/meerk40t/core/elements/notes.py +50 -0
  62. meerk40t-0.9.7020/meerk40t/core/elements/offset_clpr.py +934 -0
  63. meerk40t-0.9.7020/meerk40t/core/elements/offset_mk.py +963 -0
  64. meerk40t-0.9.7020/meerk40t/core/elements/penbox.py +339 -0
  65. meerk40t-0.9.7020/meerk40t/core/elements/placements.py +300 -0
  66. meerk40t-0.9.7020/meerk40t/core/elements/render.py +785 -0
  67. meerk40t-0.9.7020/meerk40t/core/elements/shapes.py +2618 -0
  68. meerk40t-0.9.7020/meerk40t/core/elements/testcases.py +105 -0
  69. meerk40t-0.9.7020/meerk40t/core/elements/trace.py +651 -0
  70. meerk40t-0.9.7020/meerk40t/core/elements/tree_commands.py +415 -0
  71. meerk40t-0.9.7020/meerk40t/core/elements/undo_redo.py +116 -0
  72. meerk40t-0.9.7020/meerk40t/core/elements/wordlist.py +319 -0
  73. meerk40t-0.9.7020/meerk40t/core/exceptions.py +9 -0
  74. meerk40t-0.9.7020/meerk40t/core/laserjob.py +220 -0
  75. meerk40t-0.9.7020/meerk40t/core/logging.py +63 -0
  76. meerk40t-0.9.7020/meerk40t/core/node/blobnode.py +83 -0
  77. meerk40t-0.9.7020/meerk40t/core/node/bootstrap.py +105 -0
  78. meerk40t-0.9.7020/meerk40t/core/node/branch_elems.py +40 -0
  79. meerk40t-0.9.7020/meerk40t/core/node/branch_ops.py +45 -0
  80. meerk40t-0.9.7020/meerk40t/core/node/branch_regmark.py +48 -0
  81. meerk40t-0.9.7020/meerk40t/core/node/cutnode.py +29 -0
  82. meerk40t-0.9.7020/meerk40t/core/node/effect_hatch.py +375 -0
  83. meerk40t-0.9.7020/meerk40t/core/node/effect_warp.py +398 -0
  84. meerk40t-0.9.7020/meerk40t/core/node/effect_wobble.py +441 -0
  85. meerk40t-0.9.7020/meerk40t/core/node/elem_ellipse.py +404 -0
  86. meerk40t-0.9.7020/meerk40t/core/node/elem_image.py +1082 -0
  87. meerk40t-0.9.7020/meerk40t/core/node/elem_line.py +358 -0
  88. meerk40t-0.9.7020/meerk40t/core/node/elem_path.py +259 -0
  89. meerk40t-0.9.7020/meerk40t/core/node/elem_point.py +129 -0
  90. meerk40t-0.9.7020/meerk40t/core/node/elem_polyline.py +310 -0
  91. meerk40t-0.9.7020/meerk40t/core/node/elem_rect.py +376 -0
  92. meerk40t-0.9.7020/meerk40t/core/node/elem_text.py +445 -0
  93. meerk40t-0.9.7020/meerk40t/core/node/filenode.py +59 -0
  94. meerk40t-0.9.7020/meerk40t/core/node/groupnode.py +138 -0
  95. meerk40t-0.9.7020/meerk40t/core/node/image_processed.py +777 -0
  96. meerk40t-0.9.7020/meerk40t/core/node/image_raster.py +156 -0
  97. meerk40t-0.9.7020/meerk40t/core/node/layernode.py +31 -0
  98. meerk40t-0.9.7020/meerk40t/core/node/mixins.py +135 -0
  99. meerk40t-0.9.7020/meerk40t/core/node/node.py +1427 -0
  100. meerk40t-0.9.7020/meerk40t/core/node/nutils.py +117 -0
  101. meerk40t-0.9.7020/meerk40t/core/node/op_cut.py +463 -0
  102. meerk40t-0.9.7020/meerk40t/core/node/op_dots.py +296 -0
  103. meerk40t-0.9.7020/meerk40t/core/node/op_engrave.py +414 -0
  104. meerk40t-0.9.7020/meerk40t/core/node/op_image.py +755 -0
  105. meerk40t-0.9.7020/meerk40t/core/node/op_raster.py +787 -0
  106. meerk40t-0.9.7020/meerk40t/core/node/place_current.py +37 -0
  107. meerk40t-0.9.7020/meerk40t/core/node/place_point.py +329 -0
  108. meerk40t-0.9.7020/meerk40t/core/node/refnode.py +58 -0
  109. meerk40t-0.9.7020/meerk40t/core/node/rootnode.py +225 -0
  110. meerk40t-0.9.7020/meerk40t/core/node/util_console.py +48 -0
  111. meerk40t-0.9.7020/meerk40t/core/node/util_goto.py +84 -0
  112. meerk40t-0.9.7020/meerk40t/core/node/util_home.py +61 -0
  113. meerk40t-0.9.7020/meerk40t/core/node/util_input.py +102 -0
  114. meerk40t-0.9.7020/meerk40t/core/node/util_output.py +102 -0
  115. meerk40t-0.9.7020/meerk40t/core/node/util_wait.py +65 -0
  116. meerk40t-0.9.7020/meerk40t/core/parameters.py +709 -0
  117. meerk40t-0.9.7020/meerk40t/core/planner.py +875 -0
  118. meerk40t-0.9.7020/meerk40t/core/plotplanner.py +656 -0
  119. meerk40t-0.9.7020/meerk40t/core/space.py +120 -0
  120. meerk40t-0.9.7020/meerk40t/core/spoolers.py +706 -0
  121. meerk40t-0.9.7020/meerk40t/core/svg_io.py +1836 -0
  122. meerk40t-0.9.7020/meerk40t/core/treeop.py +534 -0
  123. meerk40t-0.9.7020/meerk40t/core/undos.py +278 -0
  124. meerk40t-0.9.7020/meerk40t/core/units.py +784 -0
  125. meerk40t-0.9.7020/meerk40t/core/view.py +393 -0
  126. meerk40t-0.9.7020/meerk40t/core/webhelp.py +62 -0
  127. meerk40t-0.9.7020/meerk40t/core/wordlist.py +513 -0
  128. meerk40t-0.9.7020/meerk40t/cylinder/cylinder.py +247 -0
  129. meerk40t-0.9.7020/meerk40t/cylinder/gui/cylindersettings.py +41 -0
  130. meerk40t-0.9.7020/meerk40t/cylinder/gui/gui.py +24 -0
  131. meerk40t-0.9.7020/meerk40t/device/__init__.py +1 -0
  132. meerk40t-0.9.7020/meerk40t/device/basedevice.py +322 -0
  133. meerk40t-0.9.7020/meerk40t/device/devicechoices.py +50 -0
  134. meerk40t-0.9.7020/meerk40t/device/dummydevice.py +163 -0
  135. meerk40t-0.9.7020/meerk40t/device/gui/defaultactions.py +618 -0
  136. meerk40t-0.9.7020/meerk40t/device/gui/effectspanel.py +114 -0
  137. meerk40t-0.9.7020/meerk40t/device/gui/formatterpanel.py +253 -0
  138. meerk40t-0.9.7020/meerk40t/device/gui/warningpanel.py +337 -0
  139. meerk40t-0.9.7020/meerk40t/device/mixins.py +13 -0
  140. meerk40t-0.9.7020/meerk40t/dxf/__init__.py +1 -0
  141. meerk40t-0.9.7020/meerk40t/dxf/dxf_io.py +766 -0
  142. meerk40t-0.9.7020/meerk40t/dxf/plugin.py +47 -0
  143. meerk40t-0.9.7020/meerk40t/external_plugins.py +79 -0
  144. meerk40t-0.9.7020/meerk40t/external_plugins_build.py +28 -0
  145. meerk40t-0.9.7020/meerk40t/extra/cag.py +112 -0
  146. meerk40t-0.9.7020/meerk40t/extra/coolant.py +403 -0
  147. meerk40t-0.9.7020/meerk40t/extra/encode_detect.py +204 -0
  148. meerk40t-0.9.7020/meerk40t/extra/ezd.py +1165 -0
  149. meerk40t-0.9.7020/meerk40t/extra/hershey.py +834 -0
  150. meerk40t-0.9.7020/meerk40t/extra/imageactions.py +322 -0
  151. meerk40t-0.9.7020/meerk40t/extra/inkscape.py +628 -0
  152. meerk40t-0.9.7020/meerk40t/extra/lbrn.py +424 -0
  153. meerk40t-0.9.7020/meerk40t/extra/outerworld.py +283 -0
  154. meerk40t-0.9.7020/meerk40t/extra/param_functions.py +1542 -0
  155. meerk40t-0.9.7020/meerk40t/extra/potrace.py +257 -0
  156. meerk40t-0.9.7020/meerk40t/extra/serial_exchange.py +118 -0
  157. meerk40t-0.9.7020/meerk40t/extra/updater.py +602 -0
  158. meerk40t-0.9.7020/meerk40t/extra/vectrace.py +147 -0
  159. meerk40t-0.9.7020/meerk40t/extra/winsleep.py +83 -0
  160. meerk40t-0.9.7020/meerk40t/extra/xcs_reader.py +597 -0
  161. meerk40t-0.9.7020/meerk40t/fill/fills.py +781 -0
  162. meerk40t-0.9.7020/meerk40t/fill/patternfill.py +1061 -0
  163. meerk40t-0.9.7020/meerk40t/fill/patterns.py +614 -0
  164. meerk40t-0.9.7020/meerk40t/grbl/control.py +87 -0
  165. meerk40t-0.9.7020/meerk40t/grbl/controller.py +990 -0
  166. meerk40t-0.9.7020/meerk40t/grbl/device.py +1084 -0
  167. meerk40t-0.9.7020/meerk40t/grbl/driver.py +989 -0
  168. meerk40t-0.9.7020/meerk40t/grbl/emulator.py +532 -0
  169. meerk40t-0.9.7020/meerk40t/grbl/gcodejob.py +783 -0
  170. meerk40t-0.9.7020/meerk40t/grbl/gui/grblconfiguration.py +373 -0
  171. meerk40t-0.9.7020/meerk40t/grbl/gui/grblcontroller.py +485 -0
  172. meerk40t-0.9.7020/meerk40t/grbl/gui/grblhardwareconfig.py +269 -0
  173. meerk40t-0.9.7020/meerk40t/grbl/gui/grbloperationconfig.py +105 -0
  174. meerk40t-0.9.7020/meerk40t/grbl/gui/gui.py +147 -0
  175. meerk40t-0.9.7020/meerk40t/grbl/interpreter.py +44 -0
  176. meerk40t-0.9.7020/meerk40t/grbl/loader.py +22 -0
  177. meerk40t-0.9.7020/meerk40t/grbl/mock_connection.py +56 -0
  178. meerk40t-0.9.7020/meerk40t/grbl/plugin.py +294 -0
  179. meerk40t-0.9.7020/meerk40t/grbl/serial_connection.py +93 -0
  180. meerk40t-0.9.7020/meerk40t/grbl/tcp_connection.py +81 -0
  181. meerk40t-0.9.7020/meerk40t/grbl/ws_connection.py +112 -0
  182. meerk40t-0.9.7020/meerk40t/gui/__init__.py +1 -0
  183. meerk40t-0.9.7020/meerk40t/gui/about.py +2042 -0
  184. meerk40t-0.9.7020/meerk40t/gui/alignment.py +1644 -0
  185. meerk40t-0.9.7020/meerk40t/gui/autoexec.py +199 -0
  186. meerk40t-0.9.7020/meerk40t/gui/basicops.py +791 -0
  187. meerk40t-0.9.7020/meerk40t/gui/bufferview.py +77 -0
  188. meerk40t-0.9.7020/meerk40t/gui/busy.py +232 -0
  189. meerk40t-0.9.7020/meerk40t/gui/choicepropertypanel.py +1662 -0
  190. meerk40t-0.9.7020/meerk40t/gui/consolepanel.py +706 -0
  191. meerk40t-0.9.7020/meerk40t/gui/devicepanel.py +687 -0
  192. meerk40t-0.9.7020/meerk40t/gui/dialogoptions.py +110 -0
  193. meerk40t-0.9.7020/meerk40t/gui/executejob.py +316 -0
  194. meerk40t-0.9.7020/meerk40t/gui/fonts.py +90 -0
  195. meerk40t-0.9.7020/meerk40t/gui/functionwrapper.py +252 -0
  196. meerk40t-0.9.7020/meerk40t/gui/gui_mixins.py +729 -0
  197. meerk40t-0.9.7020/meerk40t/gui/guicolors.py +205 -0
  198. meerk40t-0.9.7020/meerk40t/gui/help_assets/help_assets.py +218 -0
  199. meerk40t-0.9.7020/meerk40t/gui/helper.py +154 -0
  200. meerk40t-0.9.7020/meerk40t/gui/hersheymanager.py +1440 -0
  201. meerk40t-0.9.7020/meerk40t/gui/icons.py +3422 -0
  202. meerk40t-0.9.7020/meerk40t/gui/imagesplitter.py +555 -0
  203. meerk40t-0.9.7020/meerk40t/gui/keymap.py +354 -0
  204. meerk40t-0.9.7020/meerk40t/gui/laserpanel.py +897 -0
  205. meerk40t-0.9.7020/meerk40t/gui/laserrender.py +1470 -0
  206. meerk40t-0.9.7020/meerk40t/gui/lasertoolpanel.py +805 -0
  207. meerk40t-0.9.7020/meerk40t/gui/magnetoptions.py +436 -0
  208. meerk40t-0.9.7020/meerk40t/gui/materialmanager.py +2944 -0
  209. meerk40t-0.9.7020/meerk40t/gui/materialtest.py +1722 -0
  210. meerk40t-0.9.7020/meerk40t/gui/mkdebug.py +646 -0
  211. meerk40t-0.9.7020/meerk40t/gui/mwindow.py +163 -0
  212. meerk40t-0.9.7020/meerk40t/gui/navigationpanels.py +2605 -0
  213. meerk40t-0.9.7020/meerk40t/gui/notes.py +143 -0
  214. meerk40t-0.9.7020/meerk40t/gui/opassignment.py +414 -0
  215. meerk40t-0.9.7020/meerk40t/gui/operation_info.py +310 -0
  216. meerk40t-0.9.7020/meerk40t/gui/plugin.py +500 -0
  217. meerk40t-0.9.7020/meerk40t/gui/position.py +714 -0
  218. meerk40t-0.9.7020/meerk40t/gui/preferences.py +901 -0
  219. meerk40t-0.9.7020/meerk40t/gui/propertypanels/attributes.py +1461 -0
  220. meerk40t-0.9.7020/meerk40t/gui/propertypanels/blobproperty.py +117 -0
  221. meerk40t-0.9.7020/meerk40t/gui/propertypanels/consoleproperty.py +83 -0
  222. meerk40t-0.9.7020/meerk40t/gui/propertypanels/gotoproperty.py +77 -0
  223. meerk40t-0.9.7020/meerk40t/gui/propertypanels/groupproperties.py +223 -0
  224. meerk40t-0.9.7020/meerk40t/gui/propertypanels/hatchproperty.py +489 -0
  225. meerk40t-0.9.7020/meerk40t/gui/propertypanels/imageproperty.py +2244 -0
  226. meerk40t-0.9.7020/meerk40t/gui/propertypanels/inputproperty.py +59 -0
  227. meerk40t-0.9.7020/meerk40t/gui/propertypanels/opbranchproperties.py +82 -0
  228. meerk40t-0.9.7020/meerk40t/gui/propertypanels/operationpropertymain.py +1890 -0
  229. meerk40t-0.9.7020/meerk40t/gui/propertypanels/outputproperty.py +59 -0
  230. meerk40t-0.9.7020/meerk40t/gui/propertypanels/pathproperty.py +389 -0
  231. meerk40t-0.9.7020/meerk40t/gui/propertypanels/placementproperty.py +1214 -0
  232. meerk40t-0.9.7020/meerk40t/gui/propertypanels/pointproperty.py +140 -0
  233. meerk40t-0.9.7020/meerk40t/gui/propertypanels/propertywindow.py +313 -0
  234. meerk40t-0.9.7020/meerk40t/gui/propertypanels/rasterwizardpanels.py +996 -0
  235. meerk40t-0.9.7020/meerk40t/gui/propertypanels/regbranchproperties.py +76 -0
  236. meerk40t-0.9.7020/meerk40t/gui/propertypanels/textproperty.py +770 -0
  237. meerk40t-0.9.7020/meerk40t/gui/propertypanels/waitproperty.py +56 -0
  238. meerk40t-0.9.7020/meerk40t/gui/propertypanels/warpproperty.py +121 -0
  239. meerk40t-0.9.7020/meerk40t/gui/propertypanels/wobbleproperty.py +255 -0
  240. meerk40t-0.9.7020/meerk40t/gui/ribbon.py +2471 -0
  241. meerk40t-0.9.7020/meerk40t/gui/scene/scene.py +1100 -0
  242. meerk40t-0.9.7020/meerk40t/gui/scene/sceneconst.py +22 -0
  243. meerk40t-0.9.7020/meerk40t/gui/scene/scenepanel.py +439 -0
  244. meerk40t-0.9.7020/meerk40t/gui/scene/scenespacewidget.py +365 -0
  245. meerk40t-0.9.7020/meerk40t/gui/scene/widget.py +518 -0
  246. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/affinemover.py +215 -0
  247. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/attractionwidget.py +315 -0
  248. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/bedwidget.py +120 -0
  249. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/elementswidget.py +137 -0
  250. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/gridwidget.py +785 -0
  251. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/guidewidget.py +765 -0
  252. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/laserpathwidget.py +66 -0
  253. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/machineoriginwidget.py +86 -0
  254. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/nodeselector.py +28 -0
  255. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/rectselectwidget.py +592 -0
  256. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/relocatewidget.py +33 -0
  257. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/reticlewidget.py +83 -0
  258. meerk40t-0.9.7020/meerk40t/gui/scenewidgets/selectionwidget.py +2958 -0
  259. meerk40t-0.9.7020/meerk40t/gui/simpleui.py +362 -0
  260. meerk40t-0.9.7020/meerk40t/gui/simulation.py +2451 -0
  261. meerk40t-0.9.7020/meerk40t/gui/snapoptions.py +208 -0
  262. meerk40t-0.9.7020/meerk40t/gui/spoolerpanel.py +1227 -0
  263. meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets/defaultoperations.py +480 -0
  264. meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets/infowidget.py +520 -0
  265. meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets/opassignwidget.py +356 -0
  266. meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets/selectionwidget.py +172 -0
  267. meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets/shapepropwidget.py +754 -0
  268. meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets/statusbar.py +272 -0
  269. meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets/statusbarwidget.py +268 -0
  270. meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets/strokewidget.py +267 -0
  271. meerk40t-0.9.7020/meerk40t/gui/themes.py +200 -0
  272. meerk40t-0.9.7020/meerk40t/gui/tips.py +590 -0
  273. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/circlebrush.py +35 -0
  274. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolcircle.py +248 -0
  275. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolcontainer.py +82 -0
  276. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/tooldraw.py +97 -0
  277. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolellipse.py +219 -0
  278. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolimagecut.py +25 -0
  279. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolline.py +39 -0
  280. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toollinetext.py +79 -0
  281. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toollinetext_inline.py +296 -0
  282. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolmeasure.py +163 -0
  283. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolnodeedit.py +2088 -0
  284. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolnodemove.py +92 -0
  285. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolparameter.py +754 -0
  286. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolplacement.py +108 -0
  287. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolpoint.py +68 -0
  288. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolpointlistbuilder.py +294 -0
  289. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolpointmove.py +183 -0
  290. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolpolygon.py +288 -0
  291. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolpolyline.py +38 -0
  292. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolrect.py +211 -0
  293. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolrelocate.py +72 -0
  294. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolribbon.py +598 -0
  295. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/tooltabedit.py +546 -0
  296. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/tooltext.py +98 -0
  297. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolvector.py +213 -0
  298. meerk40t-0.9.7020/meerk40t/gui/toolwidgets/toolwidget.py +39 -0
  299. meerk40t-0.9.7020/meerk40t/gui/usbconnect.py +98 -0
  300. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/buttonwidget.py +18 -0
  301. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/checkboxwidget.py +90 -0
  302. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/controlwidget.py +14 -0
  303. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +343 -0
  304. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/debugwidgets.py +148 -0
  305. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/handlewidget.py +27 -0
  306. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/harmonograph.py +450 -0
  307. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/openclosewidget.py +40 -0
  308. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/rotationwidget.py +54 -0
  309. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/scalewidget.py +75 -0
  310. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/seekbarwidget.py +183 -0
  311. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/togglewidget.py +142 -0
  312. meerk40t-0.9.7020/meerk40t/gui/utilitywidgets/toolbarwidget.py +8 -0
  313. meerk40t-0.9.7020/meerk40t/gui/wordlisteditor.py +985 -0
  314. meerk40t-0.9.7020/meerk40t/gui/wxmeerk40t.py +1447 -0
  315. meerk40t-0.9.7020/meerk40t/gui/wxmmain.py +5644 -0
  316. meerk40t-0.9.7020/meerk40t/gui/wxmribbon.py +1591 -0
  317. meerk40t-0.9.7020/meerk40t/gui/wxmscene.py +1631 -0
  318. meerk40t-0.9.7020/meerk40t/gui/wxmtree.py +2416 -0
  319. meerk40t-0.9.7020/meerk40t/gui/wxutils.py +1769 -0
  320. meerk40t-0.9.7020/meerk40t/gui/zmatrix.py +102 -0
  321. meerk40t-0.9.7020/meerk40t/image/__init__.py +1 -0
  322. meerk40t-0.9.7020/meerk40t/image/dither.py +429 -0
  323. meerk40t-0.9.7020/meerk40t/image/imagetools.py +2793 -0
  324. meerk40t-0.9.7020/meerk40t/internal_plugins.py +150 -0
  325. meerk40t-0.9.7020/meerk40t/kernel/__init__.py +63 -0
  326. meerk40t-0.9.7020/meerk40t/kernel/channel.py +259 -0
  327. meerk40t-0.9.7020/meerk40t/kernel/context.py +538 -0
  328. meerk40t-0.9.7020/meerk40t/kernel/exceptions.py +41 -0
  329. meerk40t-0.9.7020/meerk40t/kernel/functions.py +463 -0
  330. meerk40t-0.9.7020/meerk40t/kernel/jobs.py +100 -0
  331. meerk40t-0.9.7020/meerk40t/kernel/kernel.py +3828 -0
  332. meerk40t-0.9.7020/meerk40t/kernel/lifecycles.py +71 -0
  333. meerk40t-0.9.7020/meerk40t/kernel/module.py +49 -0
  334. meerk40t-0.9.7020/meerk40t/kernel/service.py +147 -0
  335. meerk40t-0.9.7020/meerk40t/kernel/settings.py +383 -0
  336. meerk40t-0.9.7020/meerk40t/lihuiyu/controller.py +883 -0
  337. meerk40t-0.9.7020/meerk40t/lihuiyu/device.py +1181 -0
  338. meerk40t-0.9.7020/meerk40t/lihuiyu/driver.py +1466 -0
  339. meerk40t-0.9.7020/meerk40t/lihuiyu/gui/gui.py +127 -0
  340. meerk40t-0.9.7020/meerk40t/lihuiyu/gui/lhyaccelgui.py +377 -0
  341. meerk40t-0.9.7020/meerk40t/lihuiyu/gui/lhycontrollergui.py +741 -0
  342. meerk40t-0.9.7020/meerk40t/lihuiyu/gui/lhydrivergui.py +470 -0
  343. meerk40t-0.9.7020/meerk40t/lihuiyu/gui/lhyoperationproperties.py +238 -0
  344. meerk40t-0.9.7020/meerk40t/lihuiyu/gui/tcpcontroller.py +226 -0
  345. meerk40t-0.9.7020/meerk40t/lihuiyu/interpreter.py +53 -0
  346. meerk40t-0.9.7020/meerk40t/lihuiyu/laserspeed.py +450 -0
  347. meerk40t-0.9.7020/meerk40t/lihuiyu/loader.py +90 -0
  348. meerk40t-0.9.7020/meerk40t/lihuiyu/parser.py +404 -0
  349. meerk40t-0.9.7020/meerk40t/lihuiyu/plugin.py +101 -0
  350. meerk40t-0.9.7020/meerk40t/lihuiyu/tcp_connection.py +111 -0
  351. meerk40t-0.9.7020/meerk40t/main.py +231 -0
  352. meerk40t-0.9.7020/meerk40t/moshi/builder.py +788 -0
  353. meerk40t-0.9.7020/meerk40t/moshi/controller.py +505 -0
  354. meerk40t-0.9.7020/meerk40t/moshi/device.py +495 -0
  355. meerk40t-0.9.7020/meerk40t/moshi/driver.py +862 -0
  356. meerk40t-0.9.7020/meerk40t/moshi/gui/gui.py +78 -0
  357. meerk40t-0.9.7020/meerk40t/moshi/gui/moshicontrollergui.py +538 -0
  358. meerk40t-0.9.7020/meerk40t/moshi/gui/moshidrivergui.py +87 -0
  359. meerk40t-0.9.7020/meerk40t/moshi/plugin.py +43 -0
  360. meerk40t-0.9.7020/meerk40t/network/console_server.py +140 -0
  361. meerk40t-0.9.7020/meerk40t/network/kernelserver.py +10 -0
  362. meerk40t-0.9.7020/meerk40t/network/tcp_server.py +142 -0
  363. meerk40t-0.9.7020/meerk40t/network/udp_server.py +103 -0
  364. meerk40t-0.9.7020/meerk40t/network/web_server.py +404 -0
  365. meerk40t-0.9.7020/meerk40t/newly/controller.py +1158 -0
  366. meerk40t-0.9.7020/meerk40t/newly/device.py +874 -0
  367. meerk40t-0.9.7020/meerk40t/newly/driver.py +540 -0
  368. meerk40t-0.9.7020/meerk40t/newly/gui/gui.py +219 -0
  369. meerk40t-0.9.7020/meerk40t/newly/gui/newlyconfig.py +116 -0
  370. meerk40t-0.9.7020/meerk40t/newly/gui/newlycontroller.py +193 -0
  371. meerk40t-0.9.7020/meerk40t/newly/gui/operationproperties.py +51 -0
  372. meerk40t-0.9.7020/meerk40t/newly/mock_connection.py +82 -0
  373. meerk40t-0.9.7020/meerk40t/newly/newly_params.py +56 -0
  374. meerk40t-0.9.7020/meerk40t/newly/plugin.py +1214 -0
  375. meerk40t-0.9.7020/meerk40t/newly/usb_connection.py +322 -0
  376. meerk40t-0.9.7020/meerk40t/rotary/gui/gui.py +52 -0
  377. meerk40t-0.9.7020/meerk40t/rotary/gui/rotarysettings.py +240 -0
  378. meerk40t-0.9.7020/meerk40t/rotary/rotary.py +202 -0
  379. meerk40t-0.9.7020/meerk40t/ruida/control.py +291 -0
  380. meerk40t-0.9.7020/meerk40t/ruida/controller.py +138 -0
  381. meerk40t-0.9.7020/meerk40t/ruida/device.py +676 -0
  382. meerk40t-0.9.7020/meerk40t/ruida/driver.py +534 -0
  383. meerk40t-0.9.7020/meerk40t/ruida/emulator.py +1494 -0
  384. meerk40t-0.9.7020/meerk40t/ruida/exceptions.py +4 -0
  385. meerk40t-0.9.7020/meerk40t/ruida/gui/gui.py +71 -0
  386. meerk40t-0.9.7020/meerk40t/ruida/gui/ruidaconfig.py +239 -0
  387. meerk40t-0.9.7020/meerk40t/ruida/gui/ruidacontroller.py +187 -0
  388. meerk40t-0.9.7020/meerk40t/ruida/gui/ruidaoperationproperties.py +48 -0
  389. meerk40t-0.9.7020/meerk40t/ruida/loader.py +54 -0
  390. meerk40t-0.9.7020/meerk40t/ruida/mock_connection.py +57 -0
  391. meerk40t-0.9.7020/meerk40t/ruida/plugin.py +124 -0
  392. meerk40t-0.9.7020/meerk40t/ruida/rdjob.py +2084 -0
  393. meerk40t-0.9.7020/meerk40t/ruida/serial_connection.py +116 -0
  394. meerk40t-0.9.7020/meerk40t/ruida/tcp_connection.py +146 -0
  395. meerk40t-0.9.7020/meerk40t/ruida/udp_connection.py +73 -0
  396. meerk40t-0.9.7020/meerk40t/svgelements.py +9671 -0
  397. meerk40t-0.9.7020/meerk40t/tools/driver_to_path.py +584 -0
  398. meerk40t-0.9.7020/meerk40t/tools/geomstr.py +5583 -0
  399. meerk40t-0.9.7020/meerk40t/tools/jhfparser.py +357 -0
  400. meerk40t-0.9.7020/meerk40t/tools/kerftest.py +904 -0
  401. meerk40t-0.9.7020/meerk40t/tools/livinghinges.py +1168 -0
  402. meerk40t-0.9.7020/meerk40t/tools/pathtools.py +987 -0
  403. meerk40t-0.9.7020/meerk40t/tools/pmatrix.py +234 -0
  404. meerk40t-0.9.7020/meerk40t/tools/pointfinder.py +942 -0
  405. meerk40t-0.9.7020/meerk40t/tools/polybool.py +941 -0
  406. meerk40t-0.9.7020/meerk40t/tools/rasterplotter.py +1660 -0
  407. meerk40t-0.9.7020/meerk40t/tools/shxparser.py +1047 -0
  408. meerk40t-0.9.7020/meerk40t/tools/ttfparser.py +726 -0
  409. meerk40t-0.9.7020/meerk40t/tools/zinglplotter.py +595 -0
  410. meerk40t-0.9.7020/meerk40t.egg-info/PKG-INFO +150 -0
  411. meerk40t-0.9.7020/meerk40t.egg-info/SOURCES.txt +922 -0
  412. meerk40t-0.9.7020/meerk40t.egg-info/top_level.txt +1 -0
  413. meerk40t-0.9.7020/meerk40t.egg-info/zip-safe +1 -0
  414. meerk40t-0.9.7020/pyproject.toml +649 -0
  415. meerk40t-0.9.7020/setup.cfg +49 -0
  416. meerk40t-0.9.7020/setup.py +21 -0
  417. meerk40t-0.9.7020/test/test_cli.py +12 -0
  418. meerk40t-0.9.7020/test/test_core_cutcode.py +410 -0
  419. meerk40t-0.9.7020/test/test_core_elements.py +145 -0
  420. meerk40t-0.9.7020/test/test_core_plotplanner.py +397 -0
  421. meerk40t-0.9.7020/test/test_core_viewports.py +312 -0
  422. meerk40t-0.9.7020/test/test_drivers_galvo.py +166 -0
  423. meerk40t-0.9.7020/test/test_drivers_grbl.py +151 -0
  424. meerk40t-0.9.7020/test/test_drivers_lihuiyu.py +483 -0
  425. meerk40t-0.9.7020/test/test_drivers_moshi.py +200 -0
  426. meerk40t-0.9.7020/test/test_drivers_newly.py +181 -0
  427. meerk40t-0.9.7020/test/test_element_degenerate_points.py +43 -0
  428. meerk40t-0.9.7020/test/test_elements_classify.py +97 -0
  429. meerk40t-0.9.7020/test/test_elements_penbox.py +23 -0
  430. meerk40t-0.9.7020/test/test_file_svg.py +176 -0
  431. meerk40t-0.9.7020/test/test_fill.py +153 -0
  432. meerk40t-0.9.7020/test/test_geomstr.py +2700 -0
  433. meerk40t-0.9.7020/test/test_geomstr_nodes.py +18 -0
  434. meerk40t-0.9.7020/test/test_imagetools_actualize.py +306 -0
  435. meerk40t-0.9.7020/test/test_imagetools_wizard.py +259 -0
  436. meerk40t-0.9.7020/test/test_kernel.py +249 -0
  437. meerk40t-0.9.7020/test/test_laser_speeds.py +3303 -0
  438. meerk40t-0.9.7020/test/test_length.py +57 -0
  439. meerk40t-0.9.7020/test/test_lifecycle.py +125 -0
  440. meerk40t-0.9.7020/test/test_operations.py +250 -0
  441. meerk40t-0.9.7020/test/test_operations_hatch.py +57 -0
  442. meerk40t-0.9.7020/test/test_pmatrix.py +121 -0
  443. meerk40t-0.9.7020/test/test_ruida.py +18 -0
  444. meerk40t-0.9.7020/test/test_spooler.py +22 -0
  445. meerk40t-0.9.7020/test/test_tools_rasterplotter.py +29 -0
  446. meerk40t-0.9.7020/test/test_units_angle.py +67 -0
  447. meerk40t-0.9.7020/test/test_wobble.py +133 -0
  448. meerk40t-0.9.7020/test/test_zingl.py +124 -0
  449. meerk40t-0.9.3001/LICENSE +0 -21
  450. meerk40t-0.9.3001/PKG-INFO +0 -139
  451. meerk40t-0.9.3001/README.md +0 -98
  452. meerk40t-0.9.3001/meerk40t/__init__.py +0 -1
  453. meerk40t-0.9.3001/meerk40t/balormk/balor_params.py +0 -167
  454. meerk40t-0.9.3001/meerk40t/balormk/clone_loader.py +0 -457
  455. meerk40t-0.9.3001/meerk40t/balormk/controller.py +0 -1512
  456. meerk40t-0.9.3001/meerk40t/balormk/device.py +0 -1959
  457. meerk40t-0.9.3001/meerk40t/balormk/driver.py +0 -591
  458. meerk40t-0.9.3001/meerk40t/balormk/elementlightjob.py +0 -159
  459. meerk40t-0.9.3001/meerk40t/balormk/gui/balorconfig.py +0 -111
  460. meerk40t-0.9.3001/meerk40t/balormk/gui/balorcontroller.py +0 -184
  461. meerk40t-0.9.3001/meerk40t/balormk/gui/baloroperationproperties.py +0 -115
  462. meerk40t-0.9.3001/meerk40t/balormk/gui/gui.py +0 -147
  463. meerk40t-0.9.3001/meerk40t/balormk/livelightjob.py +0 -382
  464. meerk40t-0.9.3001/meerk40t/balormk/mock_connection.py +0 -109
  465. meerk40t-0.9.3001/meerk40t/balormk/plugin.py +0 -135
  466. meerk40t-0.9.3001/meerk40t/balormk/usb_connection.py +0 -301
  467. meerk40t-0.9.3001/meerk40t/camera/__init__.py +0 -1
  468. meerk40t-0.9.3001/meerk40t/camera/camera.py +0 -397
  469. meerk40t-0.9.3001/meerk40t/camera/gui/camerapanel.py +0 -1095
  470. meerk40t-0.9.3001/meerk40t/camera/gui/gui.py +0 -58
  471. meerk40t-0.9.3001/meerk40t/camera/plugin.py +0 -399
  472. meerk40t-0.9.3001/meerk40t/ch341/__init__.py +0 -27
  473. meerk40t-0.9.3001/meerk40t/ch341/ch341device.py +0 -628
  474. meerk40t-0.9.3001/meerk40t/ch341/libusb.py +0 -589
  475. meerk40t-0.9.3001/meerk40t/ch341/mock.py +0 -171
  476. meerk40t-0.9.3001/meerk40t/ch341/windriver.py +0 -157
  477. meerk40t-0.9.3001/meerk40t/core/__init__.py +0 -1
  478. meerk40t-0.9.3001/meerk40t/core/bindalias.py +0 -539
  479. meerk40t-0.9.3001/meerk40t/core/core.py +0 -47
  480. meerk40t-0.9.3001/meerk40t/core/cutcode/cubiccut.py +0 -73
  481. meerk40t-0.9.3001/meerk40t/core/cutcode/cutcode.py +0 -312
  482. meerk40t-0.9.3001/meerk40t/core/cutcode/cutgroup.py +0 -137
  483. meerk40t-0.9.3001/meerk40t/core/cutcode/cutobject.py +0 -185
  484. meerk40t-0.9.3001/meerk40t/core/cutcode/dwellcut.py +0 -37
  485. meerk40t-0.9.3001/meerk40t/core/cutcode/gotocut.py +0 -29
  486. meerk40t-0.9.3001/meerk40t/core/cutcode/homecut.py +0 -29
  487. meerk40t-0.9.3001/meerk40t/core/cutcode/inputcut.py +0 -34
  488. meerk40t-0.9.3001/meerk40t/core/cutcode/linecut.py +0 -33
  489. meerk40t-0.9.3001/meerk40t/core/cutcode/outputcut.py +0 -34
  490. meerk40t-0.9.3001/meerk40t/core/cutcode/plotcut.py +0 -335
  491. meerk40t-0.9.3001/meerk40t/core/cutcode/quadcut.py +0 -61
  492. meerk40t-0.9.3001/meerk40t/core/cutcode/rastercut.py +0 -148
  493. meerk40t-0.9.3001/meerk40t/core/cutcode/waitcut.py +0 -34
  494. meerk40t-0.9.3001/meerk40t/core/cutplan.py +0 -1316
  495. meerk40t-0.9.3001/meerk40t/core/drivers.py +0 -329
  496. meerk40t-0.9.3001/meerk40t/core/elements/align.py +0 -669
  497. meerk40t-0.9.3001/meerk40t/core/elements/branches.py +0 -1507
  498. meerk40t-0.9.3001/meerk40t/core/elements/clipboard.py +0 -219
  499. meerk40t-0.9.3001/meerk40t/core/elements/element_treeops.py +0 -2837
  500. meerk40t-0.9.3001/meerk40t/core/elements/element_types.py +0 -105
  501. meerk40t-0.9.3001/meerk40t/core/elements/elements.py +0 -3617
  502. meerk40t-0.9.3001/meerk40t/core/elements/files.py +0 -64
  503. meerk40t-0.9.3001/meerk40t/core/elements/geometry.py +0 -224
  504. meerk40t-0.9.3001/meerk40t/core/elements/grid.py +0 -316
  505. meerk40t-0.9.3001/meerk40t/core/elements/materials.py +0 -94
  506. meerk40t-0.9.3001/meerk40t/core/elements/notes.py +0 -38
  507. meerk40t-0.9.3001/meerk40t/core/elements/offset_clpr.py +0 -912
  508. meerk40t-0.9.3001/meerk40t/core/elements/offset_mk.py +0 -955
  509. meerk40t-0.9.3001/meerk40t/core/elements/penbox.py +0 -267
  510. meerk40t-0.9.3001/meerk40t/core/elements/placements.py +0 -83
  511. meerk40t-0.9.3001/meerk40t/core/elements/render.py +0 -687
  512. meerk40t-0.9.3001/meerk40t/core/elements/shapes.py +0 -2092
  513. meerk40t-0.9.3001/meerk40t/core/elements/trace.py +0 -563
  514. meerk40t-0.9.3001/meerk40t/core/elements/tree_commands.py +0 -409
  515. meerk40t-0.9.3001/meerk40t/core/elements/undo_redo.py +0 -58
  516. meerk40t-0.9.3001/meerk40t/core/elements/wordlist.py +0 -200
  517. meerk40t-0.9.3001/meerk40t/core/exceptions.py +0 -9
  518. meerk40t-0.9.3001/meerk40t/core/laserjob.py +0 -220
  519. meerk40t-0.9.3001/meerk40t/core/logging.py +0 -63
  520. meerk40t-0.9.3001/meerk40t/core/node/blobnode.py +0 -86
  521. meerk40t-0.9.3001/meerk40t/core/node/bootstrap.py +0 -103
  522. meerk40t-0.9.3001/meerk40t/core/node/branch_elems.py +0 -31
  523. meerk40t-0.9.3001/meerk40t/core/node/branch_ops.py +0 -38
  524. meerk40t-0.9.3001/meerk40t/core/node/branch_regmark.py +0 -41
  525. meerk40t-0.9.3001/meerk40t/core/node/cutnode.py +0 -32
  526. meerk40t-0.9.3001/meerk40t/core/node/effect_hatch.py +0 -257
  527. meerk40t-0.9.3001/meerk40t/core/node/effect_wobble.py +0 -309
  528. meerk40t-0.9.3001/meerk40t/core/node/elem_ellipse.py +0 -309
  529. meerk40t-0.9.3001/meerk40t/core/node/elem_image.py +0 -801
  530. meerk40t-0.9.3001/meerk40t/core/node/elem_line.py +0 -292
  531. meerk40t-0.9.3001/meerk40t/core/node/elem_path.py +0 -201
  532. meerk40t-0.9.3001/meerk40t/core/node/elem_point.py +0 -102
  533. meerk40t-0.9.3001/meerk40t/core/node/elem_polyline.py +0 -246
  534. meerk40t-0.9.3001/meerk40t/core/node/elem_rect.py +0 -286
  535. meerk40t-0.9.3001/meerk40t/core/node/elem_text.py +0 -418
  536. meerk40t-0.9.3001/meerk40t/core/node/filenode.py +0 -40
  537. meerk40t-0.9.3001/meerk40t/core/node/groupnode.py +0 -74
  538. meerk40t-0.9.3001/meerk40t/core/node/image_processed.py +0 -766
  539. meerk40t-0.9.3001/meerk40t/core/node/image_raster.py +0 -113
  540. meerk40t-0.9.3001/meerk40t/core/node/layernode.py +0 -31
  541. meerk40t-0.9.3001/meerk40t/core/node/mixins.py +0 -107
  542. meerk40t-0.9.3001/meerk40t/core/node/node.py +0 -1304
  543. meerk40t-0.9.3001/meerk40t/core/node/nutils.py +0 -114
  544. meerk40t-0.9.3001/meerk40t/core/node/op_cut.py +0 -335
  545. meerk40t-0.9.3001/meerk40t/core/node/op_dots.py +0 -251
  546. meerk40t-0.9.3001/meerk40t/core/node/op_engrave.py +0 -311
  547. meerk40t-0.9.3001/meerk40t/core/node/op_image.py +0 -369
  548. meerk40t-0.9.3001/meerk40t/core/node/op_raster.py +0 -522
  549. meerk40t-0.9.3001/meerk40t/core/node/place_current.py +0 -40
  550. meerk40t-0.9.3001/meerk40t/core/node/place_point.py +0 -126
  551. meerk40t-0.9.3001/meerk40t/core/node/refnode.py +0 -47
  552. meerk40t-0.9.3001/meerk40t/core/node/rootnode.py +0 -219
  553. meerk40t-0.9.3001/meerk40t/core/node/util_console.py +0 -48
  554. meerk40t-0.9.3001/meerk40t/core/node/util_goto.py +0 -65
  555. meerk40t-0.9.3001/meerk40t/core/node/util_home.py +0 -61
  556. meerk40t-0.9.3001/meerk40t/core/node/util_input.py +0 -102
  557. meerk40t-0.9.3001/meerk40t/core/node/util_output.py +0 -102
  558. meerk40t-0.9.3001/meerk40t/core/node/util_wait.py +0 -65
  559. meerk40t-0.9.3001/meerk40t/core/parameters.py +0 -707
  560. meerk40t-0.9.3001/meerk40t/core/planner.py +0 -785
  561. meerk40t-0.9.3001/meerk40t/core/plotplanner.py +0 -652
  562. meerk40t-0.9.3001/meerk40t/core/space.py +0 -113
  563. meerk40t-0.9.3001/meerk40t/core/spoolers.py +0 -705
  564. meerk40t-0.9.3001/meerk40t/core/svg_io.py +0 -1549
  565. meerk40t-0.9.3001/meerk40t/core/treeop.py +0 -445
  566. meerk40t-0.9.3001/meerk40t/core/undos.py +0 -124
  567. meerk40t-0.9.3001/meerk40t/core/units.py +0 -680
  568. meerk40t-0.9.3001/meerk40t/core/view.py +0 -322
  569. meerk40t-0.9.3001/meerk40t/core/webhelp.py +0 -62
  570. meerk40t-0.9.3001/meerk40t/core/wordlist.py +0 -504
  571. meerk40t-0.9.3001/meerk40t/device/__init__.py +0 -1
  572. meerk40t-0.9.3001/meerk40t/device/basedevice.py +0 -123
  573. meerk40t-0.9.3001/meerk40t/device/dummydevice.py +0 -128
  574. meerk40t-0.9.3001/meerk40t/device/gui/defaultactions.py +0 -602
  575. meerk40t-0.9.3001/meerk40t/device/gui/formatterpanel.py +0 -290
  576. meerk40t-0.9.3001/meerk40t/device/gui/warningpanel.py +0 -260
  577. meerk40t-0.9.3001/meerk40t/device/mixins.py +0 -13
  578. meerk40t-0.9.3001/meerk40t/dxf/__init__.py +0 -1
  579. meerk40t-0.9.3001/meerk40t/dxf/dxf_io.py +0 -554
  580. meerk40t-0.9.3001/meerk40t/dxf/plugin.py +0 -35
  581. meerk40t-0.9.3001/meerk40t/external_plugins.py +0 -79
  582. meerk40t-0.9.3001/meerk40t/external_plugins_build.py +0 -28
  583. meerk40t-0.9.3001/meerk40t/extra/cag.py +0 -116
  584. meerk40t-0.9.3001/meerk40t/extra/ezd.py +0 -1165
  585. meerk40t-0.9.3001/meerk40t/extra/hershey.py +0 -340
  586. meerk40t-0.9.3001/meerk40t/extra/imageactions.py +0 -316
  587. meerk40t-0.9.3001/meerk40t/extra/inkscape.py +0 -622
  588. meerk40t-0.9.3001/meerk40t/extra/lbrn.py +0 -424
  589. meerk40t-0.9.3001/meerk40t/extra/param_functions.py +0 -1556
  590. meerk40t-0.9.3001/meerk40t/extra/potrace.py +0 -253
  591. meerk40t-0.9.3001/meerk40t/extra/updater.py +0 -453
  592. meerk40t-0.9.3001/meerk40t/extra/vectrace.py +0 -146
  593. meerk40t-0.9.3001/meerk40t/extra/winsleep.py +0 -83
  594. meerk40t-0.9.3001/meerk40t/fill/fills.py +0 -335
  595. meerk40t-0.9.3001/meerk40t/fill/patternfill.py +0 -1061
  596. meerk40t-0.9.3001/meerk40t/fill/patterns.py +0 -567
  597. meerk40t-0.9.3001/meerk40t/grbl/control.py +0 -87
  598. meerk40t-0.9.3001/meerk40t/grbl/controller.py +0 -903
  599. meerk40t-0.9.3001/meerk40t/grbl/device.py +0 -768
  600. meerk40t-0.9.3001/meerk40t/grbl/driver.py +0 -771
  601. meerk40t-0.9.3001/meerk40t/grbl/emulator.py +0 -497
  602. meerk40t-0.9.3001/meerk40t/grbl/gcodejob.py +0 -767
  603. meerk40t-0.9.3001/meerk40t/grbl/gui/grblconfiguration.py +0 -298
  604. meerk40t-0.9.3001/meerk40t/grbl/gui/grblcontroller.py +0 -271
  605. meerk40t-0.9.3001/meerk40t/grbl/gui/grblhardwareconfig.py +0 -153
  606. meerk40t-0.9.3001/meerk40t/grbl/gui/gui.py +0 -116
  607. meerk40t-0.9.3001/meerk40t/grbl/interpreter.py +0 -44
  608. meerk40t-0.9.3001/meerk40t/grbl/loader.py +0 -22
  609. meerk40t-0.9.3001/meerk40t/grbl/mock_connection.py +0 -56
  610. meerk40t-0.9.3001/meerk40t/grbl/plugin.py +0 -264
  611. meerk40t-0.9.3001/meerk40t/grbl/serial_connection.py +0 -88
  612. meerk40t-0.9.3001/meerk40t/grbl/tcp_connection.py +0 -79
  613. meerk40t-0.9.3001/meerk40t/gui/__init__.py +0 -1
  614. meerk40t-0.9.3001/meerk40t/gui/about.py +0 -296
  615. meerk40t-0.9.3001/meerk40t/gui/alignment.py +0 -1608
  616. meerk40t-0.9.3001/meerk40t/gui/basicops.py +0 -670
  617. meerk40t-0.9.3001/meerk40t/gui/bufferview.py +0 -71
  618. meerk40t-0.9.3001/meerk40t/gui/busy.py +0 -133
  619. meerk40t-0.9.3001/meerk40t/gui/choicepropertypanel.py +0 -1469
  620. meerk40t-0.9.3001/meerk40t/gui/consolepanel.py +0 -542
  621. meerk40t-0.9.3001/meerk40t/gui/devicepanel.py +0 -581
  622. meerk40t-0.9.3001/meerk40t/gui/dialogoptions.py +0 -107
  623. meerk40t-0.9.3001/meerk40t/gui/executejob.py +0 -306
  624. meerk40t-0.9.3001/meerk40t/gui/fonts.py +0 -90
  625. meerk40t-0.9.3001/meerk40t/gui/guicolors.py +0 -182
  626. meerk40t-0.9.3001/meerk40t/gui/help_assets/help_assets.py +0 -201
  627. meerk40t-0.9.3001/meerk40t/gui/hersheymanager.py +0 -846
  628. meerk40t-0.9.3001/meerk40t/gui/icons.py +0 -2747
  629. meerk40t-0.9.3001/meerk40t/gui/imagesplitter.py +0 -508
  630. meerk40t-0.9.3001/meerk40t/gui/keymap.py +0 -344
  631. meerk40t-0.9.3001/meerk40t/gui/laserpanel.py +0 -806
  632. meerk40t-0.9.3001/meerk40t/gui/laserrender.py +0 -1232
  633. meerk40t-0.9.3001/meerk40t/gui/lasertoolpanel.py +0 -793
  634. meerk40t-0.9.3001/meerk40t/gui/materialtest.py +0 -1694
  635. meerk40t-0.9.3001/meerk40t/gui/mkdebug.py +0 -359
  636. meerk40t-0.9.3001/meerk40t/gui/mwindow.py +0 -140
  637. meerk40t-0.9.3001/meerk40t/gui/navigationpanels.py +0 -2467
  638. meerk40t-0.9.3001/meerk40t/gui/notes.py +0 -142
  639. meerk40t-0.9.3001/meerk40t/gui/opassignment.py +0 -410
  640. meerk40t-0.9.3001/meerk40t/gui/operation_info.py +0 -299
  641. meerk40t-0.9.3001/meerk40t/gui/plugin.py +0 -328
  642. meerk40t-0.9.3001/meerk40t/gui/position.py +0 -669
  643. meerk40t-0.9.3001/meerk40t/gui/preferences.py +0 -650
  644. meerk40t-0.9.3001/meerk40t/gui/propertypanels/attributes.py +0 -1131
  645. meerk40t-0.9.3001/meerk40t/gui/propertypanels/blobproperty.py +0 -114
  646. meerk40t-0.9.3001/meerk40t/gui/propertypanels/consoleproperty.py +0 -80
  647. meerk40t-0.9.3001/meerk40t/gui/propertypanels/groupproperties.py +0 -217
  648. meerk40t-0.9.3001/meerk40t/gui/propertypanels/hatchproperty.py +0 -469
  649. meerk40t-0.9.3001/meerk40t/gui/propertypanels/imageproperty.py +0 -1384
  650. meerk40t-0.9.3001/meerk40t/gui/propertypanels/inputproperty.py +0 -58
  651. meerk40t-0.9.3001/meerk40t/gui/propertypanels/opbranchproperties.py +0 -80
  652. meerk40t-0.9.3001/meerk40t/gui/propertypanels/operationpropertymain.py +0 -1638
  653. meerk40t-0.9.3001/meerk40t/gui/propertypanels/outputproperty.py +0 -58
  654. meerk40t-0.9.3001/meerk40t/gui/propertypanels/pathproperty.py +0 -380
  655. meerk40t-0.9.3001/meerk40t/gui/propertypanels/placementproperty.py +0 -383
  656. meerk40t-0.9.3001/meerk40t/gui/propertypanels/pointproperty.py +0 -136
  657. meerk40t-0.9.3001/meerk40t/gui/propertypanels/propertywindow.py +0 -181
  658. meerk40t-0.9.3001/meerk40t/gui/propertypanels/rasterwizardpanels.py +0 -912
  659. meerk40t-0.9.3001/meerk40t/gui/propertypanels/textproperty.py +0 -755
  660. meerk40t-0.9.3001/meerk40t/gui/propertypanels/waitproperty.py +0 -55
  661. meerk40t-0.9.3001/meerk40t/gui/propertypanels/wobbleproperty.py +0 -204
  662. meerk40t-0.9.3001/meerk40t/gui/ribbon.py +0 -2210
  663. meerk40t-0.9.3001/meerk40t/gui/scene/scene.py +0 -1051
  664. meerk40t-0.9.3001/meerk40t/gui/scene/sceneconst.py +0 -22
  665. meerk40t-0.9.3001/meerk40t/gui/scene/scenepanel.py +0 -349
  666. meerk40t-0.9.3001/meerk40t/gui/scene/scenespacewidget.py +0 -365
  667. meerk40t-0.9.3001/meerk40t/gui/scene/widget.py +0 -505
  668. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/affinemover.py +0 -215
  669. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/attractionwidget.py +0 -309
  670. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/bedwidget.py +0 -97
  671. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/elementswidget.py +0 -107
  672. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/gridwidget.py +0 -745
  673. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/guidewidget.py +0 -765
  674. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/laserpathwidget.py +0 -66
  675. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/machineoriginwidget.py +0 -86
  676. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/nodeselector.py +0 -28
  677. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/rectselectwidget.py +0 -346
  678. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/relocatewidget.py +0 -33
  679. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/reticlewidget.py +0 -83
  680. meerk40t-0.9.3001/meerk40t/gui/scenewidgets/selectionwidget.py +0 -2756
  681. meerk40t-0.9.3001/meerk40t/gui/simpleui.py +0 -333
  682. meerk40t-0.9.3001/meerk40t/gui/simulation.py +0 -2094
  683. meerk40t-0.9.3001/meerk40t/gui/snapoptions.py +0 -203
  684. meerk40t-0.9.3001/meerk40t/gui/spoolerpanel.py +0 -1180
  685. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/defaultoperations.py +0 -353
  686. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/infowidget.py +0 -483
  687. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/opassignwidget.py +0 -355
  688. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/selectionwidget.py +0 -171
  689. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/shapepropwidget.py +0 -236
  690. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/statusbar.py +0 -260
  691. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/statusbarwidget.py +0 -270
  692. meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets/strokewidget.py +0 -251
  693. meerk40t-0.9.3001/meerk40t/gui/themes.py +0 -78
  694. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/circlebrush.py +0 -35
  695. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolcircle.py +0 -242
  696. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolcontainer.py +0 -77
  697. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/tooldraw.py +0 -90
  698. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolellipse.py +0 -212
  699. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolimagecut.py +0 -132
  700. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolline.py +0 -144
  701. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toollinetext.py +0 -236
  702. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolmeasure.py +0 -216
  703. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolnodeedit.py +0 -2074
  704. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolnodemove.py +0 -94
  705. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolparameter.py +0 -668
  706. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolplacement.py +0 -108
  707. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolpoint.py +0 -59
  708. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolpolygon.py +0 -403
  709. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolpolyline.py +0 -196
  710. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolrect.py +0 -207
  711. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolrelocate.py +0 -72
  712. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolribbon.py +0 -113
  713. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/tooltext.py +0 -89
  714. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolvector.py +0 -204
  715. meerk40t-0.9.3001/meerk40t/gui/toolwidgets/toolwidget.py +0 -39
  716. meerk40t-0.9.3001/meerk40t/gui/usbconnect.py +0 -91
  717. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/buttonwidget.py +0 -18
  718. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/checkboxwidget.py +0 -90
  719. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/controlwidget.py +0 -14
  720. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +0 -340
  721. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/handlewidget.py +0 -27
  722. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/harmonograph.py +0 -447
  723. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/openclosewidget.py +0 -40
  724. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/rotationwidget.py +0 -54
  725. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/scalewidget.py +0 -75
  726. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/seekbarwidget.py +0 -183
  727. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/togglewidget.py +0 -142
  728. meerk40t-0.9.3001/meerk40t/gui/utilitywidgets/toolbarwidget.py +0 -8
  729. meerk40t-0.9.3001/meerk40t/gui/wordlisteditor.py +0 -931
  730. meerk40t-0.9.3001/meerk40t/gui/wxmeerk40t.py +0 -1169
  731. meerk40t-0.9.3001/meerk40t/gui/wxmmain.py +0 -4112
  732. meerk40t-0.9.3001/meerk40t/gui/wxmribbon.py +0 -1076
  733. meerk40t-0.9.3001/meerk40t/gui/wxmscene.py +0 -1453
  734. meerk40t-0.9.3001/meerk40t/gui/wxmtree.py +0 -2089
  735. meerk40t-0.9.3001/meerk40t/gui/wxutils.py +0 -1099
  736. meerk40t-0.9.3001/meerk40t/gui/zmatrix.py +0 -102
  737. meerk40t-0.9.3001/meerk40t/image/__init__.py +0 -1
  738. meerk40t-0.9.3001/meerk40t/image/imagetools.py +0 -2269
  739. meerk40t-0.9.3001/meerk40t/internal_plugins.py +0 -130
  740. meerk40t-0.9.3001/meerk40t/kernel/__init__.py +0 -12
  741. meerk40t-0.9.3001/meerk40t/kernel/channel.py +0 -212
  742. meerk40t-0.9.3001/meerk40t/kernel/context.py +0 -538
  743. meerk40t-0.9.3001/meerk40t/kernel/exceptions.py +0 -41
  744. meerk40t-0.9.3001/meerk40t/kernel/functions.py +0 -414
  745. meerk40t-0.9.3001/meerk40t/kernel/jobs.py +0 -100
  746. meerk40t-0.9.3001/meerk40t/kernel/kernel.py +0 -3571
  747. meerk40t-0.9.3001/meerk40t/kernel/lifecycles.py +0 -71
  748. meerk40t-0.9.3001/meerk40t/kernel/module.py +0 -49
  749. meerk40t-0.9.3001/meerk40t/kernel/service.py +0 -147
  750. meerk40t-0.9.3001/meerk40t/kernel/settings.py +0 -343
  751. meerk40t-0.9.3001/meerk40t/lihuiyu/controller.py +0 -876
  752. meerk40t-0.9.3001/meerk40t/lihuiyu/device.py +0 -1069
  753. meerk40t-0.9.3001/meerk40t/lihuiyu/driver.py +0 -1372
  754. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/gui.py +0 -106
  755. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/lhyaccelgui.py +0 -363
  756. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/lhycontrollergui.py +0 -651
  757. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/lhydrivergui.py +0 -446
  758. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/lhyoperationproperties.py +0 -237
  759. meerk40t-0.9.3001/meerk40t/lihuiyu/gui/tcpcontroller.py +0 -190
  760. meerk40t-0.9.3001/meerk40t/lihuiyu/interpreter.py +0 -53
  761. meerk40t-0.9.3001/meerk40t/lihuiyu/laserspeed.py +0 -450
  762. meerk40t-0.9.3001/meerk40t/lihuiyu/loader.py +0 -90
  763. meerk40t-0.9.3001/meerk40t/lihuiyu/parser.py +0 -404
  764. meerk40t-0.9.3001/meerk40t/lihuiyu/plugin.py +0 -102
  765. meerk40t-0.9.3001/meerk40t/lihuiyu/tcp_connection.py +0 -109
  766. meerk40t-0.9.3001/meerk40t/main.py +0 -165
  767. meerk40t-0.9.3001/meerk40t/moshi/builder.py +0 -781
  768. meerk40t-0.9.3001/meerk40t/moshi/controller.py +0 -499
  769. meerk40t-0.9.3001/meerk40t/moshi/device.py +0 -442
  770. meerk40t-0.9.3001/meerk40t/moshi/driver.py +0 -696
  771. meerk40t-0.9.3001/meerk40t/moshi/gui/gui.py +0 -76
  772. meerk40t-0.9.3001/meerk40t/moshi/gui/moshicontrollergui.py +0 -522
  773. meerk40t-0.9.3001/meerk40t/moshi/gui/moshidrivergui.py +0 -75
  774. meerk40t-0.9.3001/meerk40t/moshi/plugin.py +0 -43
  775. meerk40t-0.9.3001/meerk40t/network/console_server.py +0 -57
  776. meerk40t-0.9.3001/meerk40t/network/kernelserver.py +0 -9
  777. meerk40t-0.9.3001/meerk40t/network/tcp_server.py +0 -140
  778. meerk40t-0.9.3001/meerk40t/network/udp_server.py +0 -77
  779. meerk40t-0.9.3001/meerk40t/newly/controller.py +0 -1144
  780. meerk40t-0.9.3001/meerk40t/newly/device.py +0 -732
  781. meerk40t-0.9.3001/meerk40t/newly/driver.py +0 -412
  782. meerk40t-0.9.3001/meerk40t/newly/gui/gui.py +0 -188
  783. meerk40t-0.9.3001/meerk40t/newly/gui/newlyconfig.py +0 -101
  784. meerk40t-0.9.3001/meerk40t/newly/gui/newlycontroller.py +0 -186
  785. meerk40t-0.9.3001/meerk40t/newly/gui/operationproperties.py +0 -51
  786. meerk40t-0.9.3001/meerk40t/newly/mock_connection.py +0 -82
  787. meerk40t-0.9.3001/meerk40t/newly/newly_params.py +0 -56
  788. meerk40t-0.9.3001/meerk40t/newly/plugin.py +0 -1246
  789. meerk40t-0.9.3001/meerk40t/newly/usb_connection.py +0 -322
  790. meerk40t-0.9.3001/meerk40t/rotary/gui/gui.py +0 -46
  791. meerk40t-0.9.3001/meerk40t/rotary/gui/rotarysettings.py +0 -232
  792. meerk40t-0.9.3001/meerk40t/rotary/rotary.py +0 -98
  793. meerk40t-0.9.3001/meerk40t/ruida/control.py +0 -91
  794. meerk40t-0.9.3001/meerk40t/ruida/controller.py +0 -1088
  795. meerk40t-0.9.3001/meerk40t/ruida/device.py +0 -231
  796. meerk40t-0.9.3001/meerk40t/ruida/driver.py +0 -472
  797. meerk40t-0.9.3001/meerk40t/ruida/emulator.py +0 -1491
  798. meerk40t-0.9.3001/meerk40t/ruida/exceptions.py +0 -4
  799. meerk40t-0.9.3001/meerk40t/ruida/gui/gui.py +0 -76
  800. meerk40t-0.9.3001/meerk40t/ruida/gui/ruidaconfig.py +0 -72
  801. meerk40t-0.9.3001/meerk40t/ruida/gui/ruidacontroller.py +0 -184
  802. meerk40t-0.9.3001/meerk40t/ruida/gui/ruidaoperationproperties.py +0 -47
  803. meerk40t-0.9.3001/meerk40t/ruida/loader.py +0 -52
  804. meerk40t-0.9.3001/meerk40t/ruida/mock_connection.py +0 -109
  805. meerk40t-0.9.3001/meerk40t/ruida/plugin.py +0 -87
  806. meerk40t-0.9.3001/meerk40t/ruida/rdjob.py +0 -945
  807. meerk40t-0.9.3001/meerk40t/svgelements.py +0 -9669
  808. meerk40t-0.9.3001/meerk40t/tools/driver_to_path.py +0 -579
  809. meerk40t-0.9.3001/meerk40t/tools/geomstr.py +0 -4680
  810. meerk40t-0.9.3001/meerk40t/tools/jhfparser.py +0 -292
  811. meerk40t-0.9.3001/meerk40t/tools/kerftest.py +0 -890
  812. meerk40t-0.9.3001/meerk40t/tools/livinghinges.py +0 -1033
  813. meerk40t-0.9.3001/meerk40t/tools/pathtools.py +0 -949
  814. meerk40t-0.9.3001/meerk40t/tools/pointfinder.py +0 -942
  815. meerk40t-0.9.3001/meerk40t/tools/polybool.py +0 -940
  816. meerk40t-0.9.3001/meerk40t/tools/rasterplotter.py +0 -547
  817. meerk40t-0.9.3001/meerk40t/tools/shxparser.py +0 -901
  818. meerk40t-0.9.3001/meerk40t/tools/ttfparser.py +0 -446
  819. meerk40t-0.9.3001/meerk40t/tools/zinglplotter.py +0 -593
  820. meerk40t-0.9.3001/meerk40t.egg-info/PKG-INFO +0 -139
  821. meerk40t-0.9.3001/meerk40t.egg-info/SOURCES.txt +0 -872
  822. meerk40t-0.9.3001/meerk40t.egg-info/top_level.txt +0 -2
  823. meerk40t-0.9.3001/meerk40t.egg-info/zip-safe +0 -1
  824. meerk40t-0.9.3001/pyproject.toml +0 -649
  825. meerk40t-0.9.3001/setup.cfg +0 -46
  826. meerk40t-0.9.3001/setup.py +0 -21
  827. meerk40t-0.9.3001/test/bootstrap.py +0 -63
  828. meerk40t-0.9.3001/test/test_cli.py +0 -12
  829. meerk40t-0.9.3001/test/test_core_cutcode.py +0 -418
  830. meerk40t-0.9.3001/test/test_core_elements.py +0 -144
  831. meerk40t-0.9.3001/test/test_core_plotplanner.py +0 -397
  832. meerk40t-0.9.3001/test/test_core_viewports.py +0 -312
  833. meerk40t-0.9.3001/test/test_drivers_grbl.py +0 -108
  834. meerk40t-0.9.3001/test/test_drivers_lihuiyu.py +0 -443
  835. meerk40t-0.9.3001/test/test_drivers_newly.py +0 -113
  836. meerk40t-0.9.3001/test/test_element_degenerate_points.py +0 -43
  837. meerk40t-0.9.3001/test/test_elements_classify.py +0 -97
  838. meerk40t-0.9.3001/test/test_elements_penbox.py +0 -22
  839. meerk40t-0.9.3001/test/test_file_svg.py +0 -176
  840. meerk40t-0.9.3001/test/test_fill.py +0 -155
  841. meerk40t-0.9.3001/test/test_geomstr.py +0 -1523
  842. meerk40t-0.9.3001/test/test_geomstr_nodes.py +0 -18
  843. meerk40t-0.9.3001/test/test_imagetools_actualize.py +0 -306
  844. meerk40t-0.9.3001/test/test_imagetools_wizard.py +0 -258
  845. meerk40t-0.9.3001/test/test_kernel.py +0 -200
  846. meerk40t-0.9.3001/test/test_laser_speeds.py +0 -3303
  847. meerk40t-0.9.3001/test/test_length.py +0 -57
  848. meerk40t-0.9.3001/test/test_lifecycle.py +0 -66
  849. meerk40t-0.9.3001/test/test_operations.py +0 -251
  850. meerk40t-0.9.3001/test/test_operations_hatch.py +0 -57
  851. meerk40t-0.9.3001/test/test_ruida.py +0 -19
  852. meerk40t-0.9.3001/test/test_spooler.py +0 -22
  853. meerk40t-0.9.3001/test/test_tools_rasterplotter.py +0 -29
  854. meerk40t-0.9.3001/test/test_wobble.py +0 -133
  855. meerk40t-0.9.3001/test/test_zingl.py +0 -124
  856. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t/balormk/__init__.py +0 -0
  857. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t/balormk/gui/__init__.py +0 -0
  858. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t/camera/gui/__init__.py +0 -0
  859. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t/core/cutcode/__init__.py +0 -0
  860. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t/core/elements/__init__.py +0 -0
  861. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t/core/node/__init__.py +0 -0
  862. {meerk40t-0.9.3001/meerk40t/device/gui → meerk40t-0.9.7020/meerk40t/cylinder}/__init__.py +0 -0
  863. {meerk40t-0.9.3001/meerk40t/extra → meerk40t-0.9.7020/meerk40t/cylinder/gui}/__init__.py +0 -0
  864. {meerk40t-0.9.3001/meerk40t/fill → meerk40t-0.9.7020/meerk40t/device/gui}/__init__.py +0 -0
  865. {meerk40t-0.9.3001/meerk40t/grbl → meerk40t-0.9.7020/meerk40t/extra}/__init__.py +0 -0
  866. {meerk40t-0.9.3001/meerk40t/grbl/gui → meerk40t-0.9.7020/meerk40t/fill}/__init__.py +0 -0
  867. {meerk40t-0.9.3001/meerk40t/gui/help_assets → meerk40t-0.9.7020/meerk40t/grbl}/__init__.py +0 -0
  868. {meerk40t-0.9.3001/meerk40t/gui/propertypanels → meerk40t-0.9.7020/meerk40t/grbl/gui}/__init__.py +0 -0
  869. {meerk40t-0.9.3001/meerk40t/gui/scene → meerk40t-0.9.7020/meerk40t/gui/help_assets}/__init__.py +0 -0
  870. {meerk40t-0.9.3001/meerk40t/gui/scenewidgets → meerk40t-0.9.7020/meerk40t/gui/propertypanels}/__init__.py +0 -0
  871. {meerk40t-0.9.3001/meerk40t/gui/statusbarwidgets → meerk40t-0.9.7020/meerk40t/gui/scene}/__init__.py +0 -0
  872. {meerk40t-0.9.3001/meerk40t/gui/toolwidgets → meerk40t-0.9.7020/meerk40t/gui/scenewidgets}/__init__.py +0 -0
  873. {meerk40t-0.9.3001/meerk40t/gui/utilitywidgets → meerk40t-0.9.7020/meerk40t/gui/statusbarwidgets}/__init__.py +0 -0
  874. {meerk40t-0.9.3001/meerk40t/lihuiyu → meerk40t-0.9.7020/meerk40t/gui/toolwidgets}/__init__.py +0 -0
  875. {meerk40t-0.9.3001/meerk40t/lihuiyu/gui → meerk40t-0.9.7020/meerk40t/gui/utilitywidgets}/__init__.py +0 -0
  876. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t/kernel/states.py +0 -0
  877. {meerk40t-0.9.3001/meerk40t/moshi → meerk40t-0.9.7020/meerk40t/lihuiyu}/__init__.py +0 -0
  878. {meerk40t-0.9.3001/meerk40t/moshi → meerk40t-0.9.7020/meerk40t/lihuiyu}/gui/__init__.py +0 -0
  879. {meerk40t-0.9.3001/meerk40t/network → meerk40t-0.9.7020/meerk40t/moshi}/__init__.py +0 -0
  880. {meerk40t-0.9.3001/meerk40t/newly → meerk40t-0.9.7020/meerk40t/moshi/gui}/__init__.py +0 -0
  881. {meerk40t-0.9.3001/meerk40t/newly/gui → meerk40t-0.9.7020/meerk40t/network}/__init__.py +0 -0
  882. {meerk40t-0.9.3001/meerk40t/rotary → meerk40t-0.9.7020/meerk40t/newly}/__init__.py +0 -0
  883. {meerk40t-0.9.3001/meerk40t/rotary → meerk40t-0.9.7020/meerk40t/newly}/gui/__init__.py +0 -0
  884. {meerk40t-0.9.3001/meerk40t/ruida → meerk40t-0.9.7020/meerk40t/rotary}/__init__.py +0 -0
  885. {meerk40t-0.9.3001/meerk40t/ruida → meerk40t-0.9.7020/meerk40t/rotary}/gui/__init__.py +0 -0
  886. {meerk40t-0.9.3001/meerk40t/tools → meerk40t-0.9.7020/meerk40t/ruida}/__init__.py +0 -0
  887. {meerk40t-0.9.3001/test → meerk40t-0.9.7020/meerk40t/ruida/gui}/__init__.py +0 -0
  888. /meerk40t-0.9.3001/meerk40t/core/element_commands.py → /meerk40t-0.9.7020/meerk40t/tools/__init__.py +0 -0
  889. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t.egg-info/dependency_links.txt +0 -0
  890. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/meerk40t.egg-info/entry_points.txt +0 -0
  891. {meerk40t-0.9.3001 → meerk40t-0.9.7020}/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.7020
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