meerk40t 0.9.3001__py2.py3-none-any.whl → 0.9.7020__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- meerk40t/__init__.py +1 -1
- meerk40t/balormk/balor_params.py +167 -167
- meerk40t/balormk/clone_loader.py +457 -457
- meerk40t/balormk/controller.py +1566 -1512
- meerk40t/balormk/cylindermod.py +64 -0
- meerk40t/balormk/device.py +966 -1959
- meerk40t/balormk/driver.py +778 -591
- meerk40t/balormk/galvo_commands.py +1194 -0
- meerk40t/balormk/gui/balorconfig.py +237 -111
- meerk40t/balormk/gui/balorcontroller.py +191 -184
- meerk40t/balormk/gui/baloroperationproperties.py +116 -115
- meerk40t/balormk/gui/corscene.py +845 -0
- meerk40t/balormk/gui/gui.py +179 -147
- meerk40t/balormk/livelightjob.py +466 -382
- meerk40t/balormk/mock_connection.py +131 -109
- meerk40t/balormk/plugin.py +133 -135
- meerk40t/balormk/usb_connection.py +306 -301
- meerk40t/camera/__init__.py +1 -1
- meerk40t/camera/camera.py +514 -397
- meerk40t/camera/gui/camerapanel.py +1241 -1095
- meerk40t/camera/gui/gui.py +58 -58
- meerk40t/camera/plugin.py +441 -399
- meerk40t/ch341/__init__.py +27 -27
- meerk40t/ch341/ch341device.py +628 -628
- meerk40t/ch341/libusb.py +595 -589
- meerk40t/ch341/mock.py +171 -171
- meerk40t/ch341/windriver.py +157 -157
- meerk40t/constants.py +13 -0
- meerk40t/core/__init__.py +1 -1
- meerk40t/core/bindalias.py +550 -539
- meerk40t/core/core.py +47 -47
- meerk40t/core/cutcode/cubiccut.py +73 -73
- meerk40t/core/cutcode/cutcode.py +315 -312
- meerk40t/core/cutcode/cutgroup.py +141 -137
- meerk40t/core/cutcode/cutobject.py +192 -185
- meerk40t/core/cutcode/dwellcut.py +37 -37
- meerk40t/core/cutcode/gotocut.py +29 -29
- meerk40t/core/cutcode/homecut.py +29 -29
- meerk40t/core/cutcode/inputcut.py +34 -34
- meerk40t/core/cutcode/linecut.py +33 -33
- meerk40t/core/cutcode/outputcut.py +34 -34
- meerk40t/core/cutcode/plotcut.py +335 -335
- meerk40t/core/cutcode/quadcut.py +61 -61
- meerk40t/core/cutcode/rastercut.py +168 -148
- meerk40t/core/cutcode/waitcut.py +34 -34
- meerk40t/core/cutplan.py +1843 -1316
- meerk40t/core/drivers.py +330 -329
- meerk40t/core/elements/align.py +801 -669
- meerk40t/core/elements/branches.py +1858 -1507
- meerk40t/core/elements/clipboard.py +229 -219
- meerk40t/core/elements/element_treeops.py +4595 -2837
- meerk40t/core/elements/element_types.py +125 -105
- meerk40t/core/elements/elements.py +4315 -3617
- meerk40t/core/elements/files.py +117 -64
- meerk40t/core/elements/geometry.py +473 -224
- meerk40t/core/elements/grid.py +467 -316
- meerk40t/core/elements/materials.py +158 -94
- meerk40t/core/elements/notes.py +50 -38
- meerk40t/core/elements/offset_clpr.py +934 -912
- meerk40t/core/elements/offset_mk.py +963 -955
- meerk40t/core/elements/penbox.py +339 -267
- meerk40t/core/elements/placements.py +300 -83
- meerk40t/core/elements/render.py +785 -687
- meerk40t/core/elements/shapes.py +2618 -2092
- meerk40t/core/elements/testcases.py +105 -0
- meerk40t/core/elements/trace.py +651 -563
- meerk40t/core/elements/tree_commands.py +415 -409
- meerk40t/core/elements/undo_redo.py +116 -58
- meerk40t/core/elements/wordlist.py +319 -200
- meerk40t/core/exceptions.py +9 -9
- meerk40t/core/laserjob.py +220 -220
- meerk40t/core/logging.py +63 -63
- meerk40t/core/node/blobnode.py +83 -86
- meerk40t/core/node/bootstrap.py +105 -103
- meerk40t/core/node/branch_elems.py +40 -31
- meerk40t/core/node/branch_ops.py +45 -38
- meerk40t/core/node/branch_regmark.py +48 -41
- meerk40t/core/node/cutnode.py +29 -32
- meerk40t/core/node/effect_hatch.py +375 -257
- meerk40t/core/node/effect_warp.py +398 -0
- meerk40t/core/node/effect_wobble.py +441 -309
- meerk40t/core/node/elem_ellipse.py +404 -309
- meerk40t/core/node/elem_image.py +1082 -801
- meerk40t/core/node/elem_line.py +358 -292
- meerk40t/core/node/elem_path.py +259 -201
- meerk40t/core/node/elem_point.py +129 -102
- meerk40t/core/node/elem_polyline.py +310 -246
- meerk40t/core/node/elem_rect.py +376 -286
- meerk40t/core/node/elem_text.py +445 -418
- meerk40t/core/node/filenode.py +59 -40
- meerk40t/core/node/groupnode.py +138 -74
- meerk40t/core/node/image_processed.py +777 -766
- meerk40t/core/node/image_raster.py +156 -113
- meerk40t/core/node/layernode.py +31 -31
- meerk40t/core/node/mixins.py +135 -107
- meerk40t/core/node/node.py +1427 -1304
- meerk40t/core/node/nutils.py +117 -114
- meerk40t/core/node/op_cut.py +463 -335
- meerk40t/core/node/op_dots.py +296 -251
- meerk40t/core/node/op_engrave.py +414 -311
- meerk40t/core/node/op_image.py +755 -369
- meerk40t/core/node/op_raster.py +787 -522
- meerk40t/core/node/place_current.py +37 -40
- meerk40t/core/node/place_point.py +329 -126
- meerk40t/core/node/refnode.py +58 -47
- meerk40t/core/node/rootnode.py +225 -219
- meerk40t/core/node/util_console.py +48 -48
- meerk40t/core/node/util_goto.py +84 -65
- meerk40t/core/node/util_home.py +61 -61
- meerk40t/core/node/util_input.py +102 -102
- meerk40t/core/node/util_output.py +102 -102
- meerk40t/core/node/util_wait.py +65 -65
- meerk40t/core/parameters.py +709 -707
- meerk40t/core/planner.py +875 -785
- meerk40t/core/plotplanner.py +656 -652
- meerk40t/core/space.py +120 -113
- meerk40t/core/spoolers.py +706 -705
- meerk40t/core/svg_io.py +1836 -1549
- meerk40t/core/treeop.py +534 -445
- meerk40t/core/undos.py +278 -124
- meerk40t/core/units.py +784 -680
- meerk40t/core/view.py +393 -322
- meerk40t/core/webhelp.py +62 -62
- meerk40t/core/wordlist.py +513 -504
- meerk40t/cylinder/cylinder.py +247 -0
- meerk40t/cylinder/gui/cylindersettings.py +41 -0
- meerk40t/cylinder/gui/gui.py +24 -0
- meerk40t/device/__init__.py +1 -1
- meerk40t/device/basedevice.py +322 -123
- meerk40t/device/devicechoices.py +50 -0
- meerk40t/device/dummydevice.py +163 -128
- meerk40t/device/gui/defaultactions.py +618 -602
- meerk40t/device/gui/effectspanel.py +114 -0
- meerk40t/device/gui/formatterpanel.py +253 -290
- meerk40t/device/gui/warningpanel.py +337 -260
- meerk40t/device/mixins.py +13 -13
- meerk40t/dxf/__init__.py +1 -1
- meerk40t/dxf/dxf_io.py +766 -554
- meerk40t/dxf/plugin.py +47 -35
- meerk40t/external_plugins.py +79 -79
- meerk40t/external_plugins_build.py +28 -28
- meerk40t/extra/cag.py +112 -116
- meerk40t/extra/coolant.py +403 -0
- meerk40t/extra/encode_detect.py +204 -0
- meerk40t/extra/ezd.py +1165 -1165
- meerk40t/extra/hershey.py +834 -340
- meerk40t/extra/imageactions.py +322 -316
- meerk40t/extra/inkscape.py +628 -622
- meerk40t/extra/lbrn.py +424 -424
- meerk40t/extra/outerworld.py +283 -0
- meerk40t/extra/param_functions.py +1542 -1556
- meerk40t/extra/potrace.py +257 -253
- meerk40t/extra/serial_exchange.py +118 -0
- meerk40t/extra/updater.py +602 -453
- meerk40t/extra/vectrace.py +147 -146
- meerk40t/extra/winsleep.py +83 -83
- meerk40t/extra/xcs_reader.py +597 -0
- meerk40t/fill/fills.py +781 -335
- meerk40t/fill/patternfill.py +1061 -1061
- meerk40t/fill/patterns.py +614 -567
- meerk40t/grbl/control.py +87 -87
- meerk40t/grbl/controller.py +990 -903
- meerk40t/grbl/device.py +1084 -768
- meerk40t/grbl/driver.py +989 -771
- meerk40t/grbl/emulator.py +532 -497
- meerk40t/grbl/gcodejob.py +783 -767
- meerk40t/grbl/gui/grblconfiguration.py +373 -298
- meerk40t/grbl/gui/grblcontroller.py +485 -271
- meerk40t/grbl/gui/grblhardwareconfig.py +269 -153
- meerk40t/grbl/gui/grbloperationconfig.py +105 -0
- meerk40t/grbl/gui/gui.py +147 -116
- meerk40t/grbl/interpreter.py +44 -44
- meerk40t/grbl/loader.py +22 -22
- meerk40t/grbl/mock_connection.py +56 -56
- meerk40t/grbl/plugin.py +294 -264
- meerk40t/grbl/serial_connection.py +93 -88
- meerk40t/grbl/tcp_connection.py +81 -79
- meerk40t/grbl/ws_connection.py +112 -0
- meerk40t/gui/__init__.py +1 -1
- meerk40t/gui/about.py +2042 -296
- meerk40t/gui/alignment.py +1644 -1608
- meerk40t/gui/autoexec.py +199 -0
- meerk40t/gui/basicops.py +791 -670
- meerk40t/gui/bufferview.py +77 -71
- meerk40t/gui/busy.py +232 -133
- meerk40t/gui/choicepropertypanel.py +1662 -1469
- meerk40t/gui/consolepanel.py +706 -542
- meerk40t/gui/devicepanel.py +687 -581
- meerk40t/gui/dialogoptions.py +110 -107
- meerk40t/gui/executejob.py +316 -306
- meerk40t/gui/fonts.py +90 -90
- meerk40t/gui/functionwrapper.py +252 -0
- meerk40t/gui/gui_mixins.py +729 -0
- meerk40t/gui/guicolors.py +205 -182
- meerk40t/gui/help_assets/help_assets.py +218 -201
- meerk40t/gui/helper.py +154 -0
- meerk40t/gui/hersheymanager.py +1440 -846
- meerk40t/gui/icons.py +3422 -2747
- meerk40t/gui/imagesplitter.py +555 -508
- meerk40t/gui/keymap.py +354 -344
- meerk40t/gui/laserpanel.py +897 -806
- meerk40t/gui/laserrender.py +1470 -1232
- meerk40t/gui/lasertoolpanel.py +805 -793
- meerk40t/gui/magnetoptions.py +436 -0
- meerk40t/gui/materialmanager.py +2944 -0
- meerk40t/gui/materialtest.py +1722 -1694
- meerk40t/gui/mkdebug.py +646 -359
- meerk40t/gui/mwindow.py +163 -140
- meerk40t/gui/navigationpanels.py +2605 -2467
- meerk40t/gui/notes.py +143 -142
- meerk40t/gui/opassignment.py +414 -410
- meerk40t/gui/operation_info.py +310 -299
- meerk40t/gui/plugin.py +500 -328
- meerk40t/gui/position.py +714 -669
- meerk40t/gui/preferences.py +901 -650
- meerk40t/gui/propertypanels/attributes.py +1461 -1131
- meerk40t/gui/propertypanels/blobproperty.py +117 -114
- meerk40t/gui/propertypanels/consoleproperty.py +83 -80
- meerk40t/gui/propertypanels/gotoproperty.py +77 -0
- meerk40t/gui/propertypanels/groupproperties.py +223 -217
- meerk40t/gui/propertypanels/hatchproperty.py +489 -469
- meerk40t/gui/propertypanels/imageproperty.py +2244 -1384
- meerk40t/gui/propertypanels/inputproperty.py +59 -58
- meerk40t/gui/propertypanels/opbranchproperties.py +82 -80
- meerk40t/gui/propertypanels/operationpropertymain.py +1890 -1638
- meerk40t/gui/propertypanels/outputproperty.py +59 -58
- meerk40t/gui/propertypanels/pathproperty.py +389 -380
- meerk40t/gui/propertypanels/placementproperty.py +1214 -383
- meerk40t/gui/propertypanels/pointproperty.py +140 -136
- meerk40t/gui/propertypanels/propertywindow.py +313 -181
- meerk40t/gui/propertypanels/rasterwizardpanels.py +996 -912
- meerk40t/gui/propertypanels/regbranchproperties.py +76 -0
- meerk40t/gui/propertypanels/textproperty.py +770 -755
- meerk40t/gui/propertypanels/waitproperty.py +56 -55
- meerk40t/gui/propertypanels/warpproperty.py +121 -0
- meerk40t/gui/propertypanels/wobbleproperty.py +255 -204
- meerk40t/gui/ribbon.py +2471 -2210
- meerk40t/gui/scene/scene.py +1100 -1051
- meerk40t/gui/scene/sceneconst.py +22 -22
- meerk40t/gui/scene/scenepanel.py +439 -349
- meerk40t/gui/scene/scenespacewidget.py +365 -365
- meerk40t/gui/scene/widget.py +518 -505
- meerk40t/gui/scenewidgets/affinemover.py +215 -215
- meerk40t/gui/scenewidgets/attractionwidget.py +315 -309
- meerk40t/gui/scenewidgets/bedwidget.py +120 -97
- meerk40t/gui/scenewidgets/elementswidget.py +137 -107
- meerk40t/gui/scenewidgets/gridwidget.py +785 -745
- meerk40t/gui/scenewidgets/guidewidget.py +765 -765
- meerk40t/gui/scenewidgets/laserpathwidget.py +66 -66
- meerk40t/gui/scenewidgets/machineoriginwidget.py +86 -86
- meerk40t/gui/scenewidgets/nodeselector.py +28 -28
- meerk40t/gui/scenewidgets/rectselectwidget.py +592 -346
- meerk40t/gui/scenewidgets/relocatewidget.py +33 -33
- meerk40t/gui/scenewidgets/reticlewidget.py +83 -83
- meerk40t/gui/scenewidgets/selectionwidget.py +2958 -2756
- meerk40t/gui/simpleui.py +362 -333
- meerk40t/gui/simulation.py +2451 -2094
- meerk40t/gui/snapoptions.py +208 -203
- meerk40t/gui/spoolerpanel.py +1227 -1180
- meerk40t/gui/statusbarwidgets/defaultoperations.py +480 -353
- meerk40t/gui/statusbarwidgets/infowidget.py +520 -483
- meerk40t/gui/statusbarwidgets/opassignwidget.py +356 -355
- meerk40t/gui/statusbarwidgets/selectionwidget.py +172 -171
- meerk40t/gui/statusbarwidgets/shapepropwidget.py +754 -236
- meerk40t/gui/statusbarwidgets/statusbar.py +272 -260
- meerk40t/gui/statusbarwidgets/statusbarwidget.py +268 -270
- meerk40t/gui/statusbarwidgets/strokewidget.py +267 -251
- meerk40t/gui/themes.py +200 -78
- meerk40t/gui/tips.py +590 -0
- meerk40t/gui/toolwidgets/circlebrush.py +35 -35
- meerk40t/gui/toolwidgets/toolcircle.py +248 -242
- meerk40t/gui/toolwidgets/toolcontainer.py +82 -77
- meerk40t/gui/toolwidgets/tooldraw.py +97 -90
- meerk40t/gui/toolwidgets/toolellipse.py +219 -212
- meerk40t/gui/toolwidgets/toolimagecut.py +25 -132
- meerk40t/gui/toolwidgets/toolline.py +39 -144
- meerk40t/gui/toolwidgets/toollinetext.py +79 -236
- meerk40t/gui/toolwidgets/toollinetext_inline.py +296 -0
- meerk40t/gui/toolwidgets/toolmeasure.py +163 -216
- meerk40t/gui/toolwidgets/toolnodeedit.py +2088 -2074
- meerk40t/gui/toolwidgets/toolnodemove.py +92 -94
- meerk40t/gui/toolwidgets/toolparameter.py +754 -668
- meerk40t/gui/toolwidgets/toolplacement.py +108 -108
- meerk40t/gui/toolwidgets/toolpoint.py +68 -59
- meerk40t/gui/toolwidgets/toolpointlistbuilder.py +294 -0
- meerk40t/gui/toolwidgets/toolpointmove.py +183 -0
- meerk40t/gui/toolwidgets/toolpolygon.py +288 -403
- meerk40t/gui/toolwidgets/toolpolyline.py +38 -196
- meerk40t/gui/toolwidgets/toolrect.py +211 -207
- meerk40t/gui/toolwidgets/toolrelocate.py +72 -72
- meerk40t/gui/toolwidgets/toolribbon.py +598 -113
- meerk40t/gui/toolwidgets/tooltabedit.py +546 -0
- meerk40t/gui/toolwidgets/tooltext.py +98 -89
- meerk40t/gui/toolwidgets/toolvector.py +213 -204
- meerk40t/gui/toolwidgets/toolwidget.py +39 -39
- meerk40t/gui/usbconnect.py +98 -91
- meerk40t/gui/utilitywidgets/buttonwidget.py +18 -18
- meerk40t/gui/utilitywidgets/checkboxwidget.py +90 -90
- meerk40t/gui/utilitywidgets/controlwidget.py +14 -14
- meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +343 -340
- meerk40t/gui/utilitywidgets/debugwidgets.py +148 -0
- meerk40t/gui/utilitywidgets/handlewidget.py +27 -27
- meerk40t/gui/utilitywidgets/harmonograph.py +450 -447
- meerk40t/gui/utilitywidgets/openclosewidget.py +40 -40
- meerk40t/gui/utilitywidgets/rotationwidget.py +54 -54
- meerk40t/gui/utilitywidgets/scalewidget.py +75 -75
- meerk40t/gui/utilitywidgets/seekbarwidget.py +183 -183
- meerk40t/gui/utilitywidgets/togglewidget.py +142 -142
- meerk40t/gui/utilitywidgets/toolbarwidget.py +8 -8
- meerk40t/gui/wordlisteditor.py +985 -931
- meerk40t/gui/wxmeerk40t.py +1447 -1169
- meerk40t/gui/wxmmain.py +5644 -4112
- meerk40t/gui/wxmribbon.py +1591 -1076
- meerk40t/gui/wxmscene.py +1631 -1453
- meerk40t/gui/wxmtree.py +2416 -2089
- meerk40t/gui/wxutils.py +1769 -1099
- meerk40t/gui/zmatrix.py +102 -102
- meerk40t/image/__init__.py +1 -1
- meerk40t/image/dither.py +429 -0
- meerk40t/image/imagetools.py +2793 -2269
- meerk40t/internal_plugins.py +150 -130
- meerk40t/kernel/__init__.py +63 -12
- meerk40t/kernel/channel.py +259 -212
- meerk40t/kernel/context.py +538 -538
- meerk40t/kernel/exceptions.py +41 -41
- meerk40t/kernel/functions.py +463 -414
- meerk40t/kernel/jobs.py +100 -100
- meerk40t/kernel/kernel.py +3828 -3571
- meerk40t/kernel/lifecycles.py +71 -71
- meerk40t/kernel/module.py +49 -49
- meerk40t/kernel/service.py +147 -147
- meerk40t/kernel/settings.py +383 -343
- meerk40t/lihuiyu/controller.py +883 -876
- meerk40t/lihuiyu/device.py +1181 -1069
- meerk40t/lihuiyu/driver.py +1466 -1372
- meerk40t/lihuiyu/gui/gui.py +127 -106
- meerk40t/lihuiyu/gui/lhyaccelgui.py +377 -363
- meerk40t/lihuiyu/gui/lhycontrollergui.py +741 -651
- meerk40t/lihuiyu/gui/lhydrivergui.py +470 -446
- meerk40t/lihuiyu/gui/lhyoperationproperties.py +238 -237
- meerk40t/lihuiyu/gui/tcpcontroller.py +226 -190
- meerk40t/lihuiyu/interpreter.py +53 -53
- meerk40t/lihuiyu/laserspeed.py +450 -450
- meerk40t/lihuiyu/loader.py +90 -90
- meerk40t/lihuiyu/parser.py +404 -404
- meerk40t/lihuiyu/plugin.py +101 -102
- meerk40t/lihuiyu/tcp_connection.py +111 -109
- meerk40t/main.py +231 -165
- meerk40t/moshi/builder.py +788 -781
- meerk40t/moshi/controller.py +505 -499
- meerk40t/moshi/device.py +495 -442
- meerk40t/moshi/driver.py +862 -696
- meerk40t/moshi/gui/gui.py +78 -76
- meerk40t/moshi/gui/moshicontrollergui.py +538 -522
- meerk40t/moshi/gui/moshidrivergui.py +87 -75
- meerk40t/moshi/plugin.py +43 -43
- meerk40t/network/console_server.py +140 -57
- meerk40t/network/kernelserver.py +10 -9
- meerk40t/network/tcp_server.py +142 -140
- meerk40t/network/udp_server.py +103 -77
- meerk40t/network/web_server.py +404 -0
- meerk40t/newly/controller.py +1158 -1144
- meerk40t/newly/device.py +874 -732
- meerk40t/newly/driver.py +540 -412
- meerk40t/newly/gui/gui.py +219 -188
- meerk40t/newly/gui/newlyconfig.py +116 -101
- meerk40t/newly/gui/newlycontroller.py +193 -186
- meerk40t/newly/gui/operationproperties.py +51 -51
- meerk40t/newly/mock_connection.py +82 -82
- meerk40t/newly/newly_params.py +56 -56
- meerk40t/newly/plugin.py +1214 -1246
- meerk40t/newly/usb_connection.py +322 -322
- meerk40t/rotary/gui/gui.py +52 -46
- meerk40t/rotary/gui/rotarysettings.py +240 -232
- meerk40t/rotary/rotary.py +202 -98
- meerk40t/ruida/control.py +291 -91
- meerk40t/ruida/controller.py +138 -1088
- meerk40t/ruida/device.py +676 -231
- meerk40t/ruida/driver.py +534 -472
- meerk40t/ruida/emulator.py +1494 -1491
- meerk40t/ruida/exceptions.py +4 -4
- meerk40t/ruida/gui/gui.py +71 -76
- meerk40t/ruida/gui/ruidaconfig.py +239 -72
- meerk40t/ruida/gui/ruidacontroller.py +187 -184
- meerk40t/ruida/gui/ruidaoperationproperties.py +48 -47
- meerk40t/ruida/loader.py +54 -52
- meerk40t/ruida/mock_connection.py +57 -109
- meerk40t/ruida/plugin.py +124 -87
- meerk40t/ruida/rdjob.py +2084 -945
- meerk40t/ruida/serial_connection.py +116 -0
- meerk40t/ruida/tcp_connection.py +146 -0
- meerk40t/ruida/udp_connection.py +73 -0
- meerk40t/svgelements.py +9671 -9669
- meerk40t/tools/driver_to_path.py +584 -579
- meerk40t/tools/geomstr.py +5583 -4680
- meerk40t/tools/jhfparser.py +357 -292
- meerk40t/tools/kerftest.py +904 -890
- meerk40t/tools/livinghinges.py +1168 -1033
- meerk40t/tools/pathtools.py +987 -949
- meerk40t/tools/pmatrix.py +234 -0
- meerk40t/tools/pointfinder.py +942 -942
- meerk40t/tools/polybool.py +941 -940
- meerk40t/tools/rasterplotter.py +1660 -547
- meerk40t/tools/shxparser.py +1047 -901
- meerk40t/tools/ttfparser.py +726 -446
- meerk40t/tools/zinglplotter.py +595 -593
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7020.dist-info}/LICENSE +21 -21
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7020.dist-info}/METADATA +150 -139
- meerk40t-0.9.7020.dist-info/RECORD +446 -0
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7020.dist-info}/WHEEL +1 -1
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7020.dist-info}/top_level.txt +0 -1
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7020.dist-info}/zip-safe +1 -1
- meerk40t/balormk/elementlightjob.py +0 -159
- meerk40t-0.9.3001.dist-info/RECORD +0 -437
- test/bootstrap.py +0 -63
- test/test_cli.py +0 -12
- test/test_core_cutcode.py +0 -418
- test/test_core_elements.py +0 -144
- test/test_core_plotplanner.py +0 -397
- test/test_core_viewports.py +0 -312
- test/test_drivers_grbl.py +0 -108
- test/test_drivers_lihuiyu.py +0 -443
- test/test_drivers_newly.py +0 -113
- test/test_element_degenerate_points.py +0 -43
- test/test_elements_classify.py +0 -97
- test/test_elements_penbox.py +0 -22
- test/test_file_svg.py +0 -176
- test/test_fill.py +0 -155
- test/test_geomstr.py +0 -1523
- test/test_geomstr_nodes.py +0 -18
- test/test_imagetools_actualize.py +0 -306
- test/test_imagetools_wizard.py +0 -258
- test/test_kernel.py +0 -200
- test/test_laser_speeds.py +0 -3303
- test/test_length.py +0 -57
- test/test_lifecycle.py +0 -66
- test/test_operations.py +0 -251
- test/test_operations_hatch.py +0 -57
- test/test_ruida.py +0 -19
- test/test_spooler.py +0 -22
- test/test_tools_rasterplotter.py +0 -29
- test/test_wobble.py +0 -133
- test/test_zingl.py +0 -124
- {test → meerk40t/cylinder}/__init__.py +0 -0
- /meerk40t/{core/element_commands.py → cylinder/gui/__init__.py} +0 -0
- {meerk40t-0.9.3001.dist-info → meerk40t-0.9.7020.dist-info}/entry_points.txt +0 -0
@@ -1,66 +1,66 @@
|
|
1
|
-
"""
|
2
|
-
This widget draws laser position updates in blue lines to highlight the changes in the laser positions.
|
3
|
-
"""
|
4
|
-
|
5
|
-
import wx
|
6
|
-
|
7
|
-
from meerk40t.gui.laserrender import DRAW_MODE_LASERPATH
|
8
|
-
from meerk40t.gui.scene.widget import Widget
|
9
|
-
|
10
|
-
|
11
|
-
class LaserPathWidget(Widget):
|
12
|
-
"""
|
13
|
-
Scene Widget.
|
14
|
-
|
15
|
-
Draw the laserpath.
|
16
|
-
|
17
|
-
These are blue lines that track the previous position of the laser-head.
|
18
|
-
"""
|
19
|
-
|
20
|
-
def __init__(self, scene):
|
21
|
-
Widget.__init__(self, scene, all=False)
|
22
|
-
self.buffer_size = 1000
|
23
|
-
self.laserpath = [[0, 0] for _ in range(self.buffer_size)], [
|
24
|
-
[0, 0] for _ in range(self.buffer_size)
|
25
|
-
]
|
26
|
-
self.laserpath_index = 0
|
27
|
-
|
28
|
-
def init(self, context):
|
29
|
-
context.listen("driver;position", self.on_update)
|
30
|
-
context.listen("emulator;position", self.on_update)
|
31
|
-
|
32
|
-
def final(self, context):
|
33
|
-
context.unlisten("driver;position", self.on_update)
|
34
|
-
context.unlisten("emulator;position", self.on_update)
|
35
|
-
|
36
|
-
def on_update(self, origin, pos):
|
37
|
-
laserpath = self.laserpath
|
38
|
-
index = self.laserpath_index
|
39
|
-
laserpath[0][index][0] = pos[0]
|
40
|
-
laserpath[0][index][1] = pos[1]
|
41
|
-
laserpath[1][index][0] = pos[2]
|
42
|
-
laserpath[1][index][1] = pos[3]
|
43
|
-
index += 1
|
44
|
-
index %= len(laserpath[0])
|
45
|
-
self.laserpath_index = index
|
46
|
-
|
47
|
-
def clear_laserpath(self):
|
48
|
-
self.laserpath = [[0, 0] for _ in range(self.buffer_size)], [
|
49
|
-
[0, 0] for _ in range(self.buffer_size)
|
50
|
-
]
|
51
|
-
self.laserpath_index = 0
|
52
|
-
|
53
|
-
def process_draw(self, gc):
|
54
|
-
"""
|
55
|
-
Draw the blue lines of the LaserPath
|
56
|
-
"""
|
57
|
-
context = self.scene.context
|
58
|
-
if context.draw_mode & DRAW_MODE_LASERPATH == 0:
|
59
|
-
mycol = self.scene.colors.color_laserpath
|
60
|
-
pen = wx.Pen(mycol)
|
61
|
-
gc.SetPen(pen)
|
62
|
-
starts, ends = self.laserpath
|
63
|
-
try:
|
64
|
-
gc.StrokeLineSegments(starts, ends)
|
65
|
-
except OverflowError:
|
66
|
-
pass # I don't actually know why this would happen.
|
1
|
+
"""
|
2
|
+
This widget draws laser position updates in blue lines to highlight the changes in the laser positions.
|
3
|
+
"""
|
4
|
+
|
5
|
+
import wx
|
6
|
+
|
7
|
+
from meerk40t.gui.laserrender import DRAW_MODE_LASERPATH
|
8
|
+
from meerk40t.gui.scene.widget import Widget
|
9
|
+
|
10
|
+
|
11
|
+
class LaserPathWidget(Widget):
|
12
|
+
"""
|
13
|
+
Scene Widget.
|
14
|
+
|
15
|
+
Draw the laserpath.
|
16
|
+
|
17
|
+
These are blue lines that track the previous position of the laser-head.
|
18
|
+
"""
|
19
|
+
|
20
|
+
def __init__(self, scene):
|
21
|
+
Widget.__init__(self, scene, all=False)
|
22
|
+
self.buffer_size = 1000
|
23
|
+
self.laserpath = [[0, 0] for _ in range(self.buffer_size)], [
|
24
|
+
[0, 0] for _ in range(self.buffer_size)
|
25
|
+
]
|
26
|
+
self.laserpath_index = 0
|
27
|
+
|
28
|
+
def init(self, context):
|
29
|
+
context.listen("driver;position", self.on_update)
|
30
|
+
context.listen("emulator;position", self.on_update)
|
31
|
+
|
32
|
+
def final(self, context):
|
33
|
+
context.unlisten("driver;position", self.on_update)
|
34
|
+
context.unlisten("emulator;position", self.on_update)
|
35
|
+
|
36
|
+
def on_update(self, origin, pos):
|
37
|
+
laserpath = self.laserpath
|
38
|
+
index = self.laserpath_index
|
39
|
+
laserpath[0][index][0] = pos[0]
|
40
|
+
laserpath[0][index][1] = pos[1]
|
41
|
+
laserpath[1][index][0] = pos[2]
|
42
|
+
laserpath[1][index][1] = pos[3]
|
43
|
+
index += 1
|
44
|
+
index %= len(laserpath[0])
|
45
|
+
self.laserpath_index = index
|
46
|
+
|
47
|
+
def clear_laserpath(self):
|
48
|
+
self.laserpath = [[0, 0] for _ in range(self.buffer_size)], [
|
49
|
+
[0, 0] for _ in range(self.buffer_size)
|
50
|
+
]
|
51
|
+
self.laserpath_index = 0
|
52
|
+
|
53
|
+
def process_draw(self, gc):
|
54
|
+
"""
|
55
|
+
Draw the blue lines of the LaserPath
|
56
|
+
"""
|
57
|
+
context = self.scene.context
|
58
|
+
if context.draw_mode & DRAW_MODE_LASERPATH == 0:
|
59
|
+
mycol = self.scene.colors.color_laserpath
|
60
|
+
pen = wx.Pen(mycol)
|
61
|
+
gc.SetPen(pen)
|
62
|
+
starts, ends = self.laserpath
|
63
|
+
try:
|
64
|
+
gc.StrokeLineSegments(starts, ends)
|
65
|
+
except OverflowError:
|
66
|
+
pass # I don't actually know why this would happen.
|
@@ -1,86 +1,86 @@
|
|
1
|
-
"""
|
2
|
-
This widget draws the machine origin as well as the X and Y directions for the coordinate system being used.
|
3
|
-
|
4
|
-
The machine origin is actually the position of the 0,0 location for the device being used, whereas the coordinate
|
5
|
-
system is the user display space.
|
6
|
-
"""
|
7
|
-
|
8
|
-
import wx
|
9
|
-
|
10
|
-
from meerk40t.gui.laserrender import DRAW_MODE_ORIGIN
|
11
|
-
from meerk40t.gui.scene.sceneconst import HITCHAIN_HIT, RESPONSE_CHAIN
|
12
|
-
from meerk40t.gui.scene.widget import Widget
|
13
|
-
|
14
|
-
|
15
|
-
class MachineOriginWidget(Widget):
|
16
|
-
"""
|
17
|
-
Machine Origin Interface Widget
|
18
|
-
"""
|
19
|
-
|
20
|
-
def __init__(self, scene, name=None):
|
21
|
-
Widget.__init__(self, scene, all=True)
|
22
|
-
self.name = name
|
23
|
-
self.brush = wx.Brush(
|
24
|
-
colour=wx.Colour(255, 0, 0, alpha=127), style=wx.BRUSHSTYLE_SOLID
|
25
|
-
)
|
26
|
-
self.x_axis_pen = wx.Pen(colour=wx.Colour(255, 0, 0))
|
27
|
-
self.x_axis_pen.SetWidth(1000)
|
28
|
-
self.y_axis_pen = wx.Pen(colour=wx.Colour(0, 255, 0))
|
29
|
-
self.y_axis_pen.SetWidth(1000)
|
30
|
-
|
31
|
-
def hit(self):
|
32
|
-
return HITCHAIN_HIT
|
33
|
-
|
34
|
-
def event(self, window_pos=None, space_pos=None, event_type=None, **kwargs):
|
35
|
-
return RESPONSE_CHAIN
|
36
|
-
|
37
|
-
def process_draw(self, gc):
|
38
|
-
"""
|
39
|
-
Draws the background on the scene.
|
40
|
-
"""
|
41
|
-
if self.scene.context.draw_mode & DRAW_MODE_ORIGIN != 0:
|
42
|
-
return
|
43
|
-
gcmat = gc.GetTransform()
|
44
|
-
mat_param = gcmat.Get()
|
45
|
-
if mat_param[0] == 1 and mat_param[3] == 1:
|
46
|
-
# We were called without a matrix applied, that's plain wrong
|
47
|
-
return
|
48
|
-
margin = 5000
|
49
|
-
space = self.scene.context.space
|
50
|
-
x, y = space.display.iposition(0, 0)
|
51
|
-
x_dx, x_dy = space.display.iposition(50000, 0)
|
52
|
-
xa1_dx, xa1_dy = space.display.iposition(45000, 5000)
|
53
|
-
xa2_dx, xa2_dy = space.display.iposition(45000, -5000)
|
54
|
-
y_dx, y_dy = space.display.iposition(0, 50000)
|
55
|
-
ya1_dx, ya1_dy = space.display.iposition(5000, 45000)
|
56
|
-
ya2_dx, ya2_dy = space.display.iposition(-5000, 45000)
|
57
|
-
gc.SetBrush(self.brush)
|
58
|
-
try:
|
59
|
-
dev0x, dev0y = space.device.view.iposition(0, 0)
|
60
|
-
gc.DrawRectangle(dev0x - margin, dev0y - margin, margin * 2, margin * 2)
|
61
|
-
except AttributeError:
|
62
|
-
# device view does not exist, so we cannot draw the device machine origin widget
|
63
|
-
pass
|
64
|
-
|
65
|
-
gc.SetBrush(wx.NullBrush)
|
66
|
-
gc.SetPen(self.x_axis_pen)
|
67
|
-
# gc.DrawLines will draw a polygon according to the documentation!
|
68
|
-
# While the windows implementation of wxPython does not care
|
69
|
-
# and draws a polyline, the Linux implementation does and closes the
|
70
|
-
# polygon!
|
71
|
-
arrow1 = gc.CreatePath()
|
72
|
-
arrow1.MoveToPoint((x, y))
|
73
|
-
arrow1.AddLineToPoint((x_dx, x_dy))
|
74
|
-
arrow1.AddLineToPoint((xa1_dx, xa1_dy))
|
75
|
-
arrow1.MoveToPoint((x_dx, x_dy))
|
76
|
-
arrow1.AddLineToPoint((xa2_dx, xa2_dy))
|
77
|
-
gc.DrawPath(arrow1)
|
78
|
-
|
79
|
-
gc.SetPen(self.y_axis_pen)
|
80
|
-
arrow2 = gc.CreatePath()
|
81
|
-
arrow2.MoveToPoint((x, y))
|
82
|
-
arrow2.AddLineToPoint((y_dx, y_dy))
|
83
|
-
arrow2.AddLineToPoint((ya1_dx, ya1_dy))
|
84
|
-
arrow2.MoveToPoint((y_dx, y_dy))
|
85
|
-
arrow2.AddLineToPoint((ya2_dx, ya2_dy))
|
86
|
-
gc.DrawPath(arrow2)
|
1
|
+
"""
|
2
|
+
This widget draws the machine origin as well as the X and Y directions for the coordinate system being used.
|
3
|
+
|
4
|
+
The machine origin is actually the position of the 0,0 location for the device being used, whereas the coordinate
|
5
|
+
system is the user display space.
|
6
|
+
"""
|
7
|
+
|
8
|
+
import wx
|
9
|
+
|
10
|
+
from meerk40t.gui.laserrender import DRAW_MODE_ORIGIN
|
11
|
+
from meerk40t.gui.scene.sceneconst import HITCHAIN_HIT, RESPONSE_CHAIN
|
12
|
+
from meerk40t.gui.scene.widget import Widget
|
13
|
+
|
14
|
+
|
15
|
+
class MachineOriginWidget(Widget):
|
16
|
+
"""
|
17
|
+
Machine Origin Interface Widget
|
18
|
+
"""
|
19
|
+
|
20
|
+
def __init__(self, scene, name=None):
|
21
|
+
Widget.__init__(self, scene, all=True)
|
22
|
+
self.name = name
|
23
|
+
self.brush = wx.Brush(
|
24
|
+
colour=wx.Colour(255, 0, 0, alpha=127), style=wx.BRUSHSTYLE_SOLID
|
25
|
+
)
|
26
|
+
self.x_axis_pen = wx.Pen(colour=wx.Colour(255, 0, 0))
|
27
|
+
self.x_axis_pen.SetWidth(1000)
|
28
|
+
self.y_axis_pen = wx.Pen(colour=wx.Colour(0, 255, 0))
|
29
|
+
self.y_axis_pen.SetWidth(1000)
|
30
|
+
|
31
|
+
def hit(self):
|
32
|
+
return HITCHAIN_HIT
|
33
|
+
|
34
|
+
def event(self, window_pos=None, space_pos=None, event_type=None, **kwargs):
|
35
|
+
return RESPONSE_CHAIN
|
36
|
+
|
37
|
+
def process_draw(self, gc):
|
38
|
+
"""
|
39
|
+
Draws the background on the scene.
|
40
|
+
"""
|
41
|
+
if self.scene.context.draw_mode & DRAW_MODE_ORIGIN != 0:
|
42
|
+
return
|
43
|
+
gcmat = gc.GetTransform()
|
44
|
+
mat_param = gcmat.Get()
|
45
|
+
if mat_param[0] == 1 and mat_param[3] == 1:
|
46
|
+
# We were called without a matrix applied, that's plain wrong
|
47
|
+
return
|
48
|
+
margin = 5000
|
49
|
+
space = self.scene.context.space
|
50
|
+
x, y = space.display.iposition(0, 0)
|
51
|
+
x_dx, x_dy = space.display.iposition(50000, 0)
|
52
|
+
xa1_dx, xa1_dy = space.display.iposition(45000, 5000)
|
53
|
+
xa2_dx, xa2_dy = space.display.iposition(45000, -5000)
|
54
|
+
y_dx, y_dy = space.display.iposition(0, 50000)
|
55
|
+
ya1_dx, ya1_dy = space.display.iposition(5000, 45000)
|
56
|
+
ya2_dx, ya2_dy = space.display.iposition(-5000, 45000)
|
57
|
+
gc.SetBrush(self.brush)
|
58
|
+
try:
|
59
|
+
dev0x, dev0y = space.device.view.iposition(0, 0)
|
60
|
+
gc.DrawRectangle(dev0x - margin, dev0y - margin, margin * 2, margin * 2)
|
61
|
+
except AttributeError:
|
62
|
+
# device view does not exist, so we cannot draw the device machine origin widget
|
63
|
+
pass
|
64
|
+
|
65
|
+
gc.SetBrush(wx.NullBrush)
|
66
|
+
gc.SetPen(self.x_axis_pen)
|
67
|
+
# gc.DrawLines will draw a polygon according to the documentation!
|
68
|
+
# While the windows implementation of wxPython does not care
|
69
|
+
# and draws a polyline, the Linux implementation does and closes the
|
70
|
+
# polygon!
|
71
|
+
arrow1 = gc.CreatePath()
|
72
|
+
arrow1.MoveToPoint((x, y))
|
73
|
+
arrow1.AddLineToPoint((x_dx, x_dy))
|
74
|
+
arrow1.AddLineToPoint((xa1_dx, xa1_dy))
|
75
|
+
arrow1.MoveToPoint((x_dx, x_dy))
|
76
|
+
arrow1.AddLineToPoint((xa2_dx, xa2_dy))
|
77
|
+
gc.DrawPath(arrow1)
|
78
|
+
|
79
|
+
gc.SetPen(self.y_axis_pen)
|
80
|
+
arrow2 = gc.CreatePath()
|
81
|
+
arrow2.MoveToPoint((x, y))
|
82
|
+
arrow2.AddLineToPoint((y_dx, y_dy))
|
83
|
+
arrow2.AddLineToPoint((ya1_dx, ya1_dy))
|
84
|
+
arrow2.MoveToPoint((y_dx, y_dy))
|
85
|
+
arrow2.AddLineToPoint((ya2_dx, ya2_dy))
|
86
|
+
gc.DrawPath(arrow2)
|
@@ -1,28 +1,28 @@
|
|
1
|
-
"""
|
2
|
-
Node selector stub
|
3
|
-
"""
|
4
|
-
import wx
|
5
|
-
|
6
|
-
from meerk40t.gui.scene.widget import Widget
|
7
|
-
|
8
|
-
|
9
|
-
class NodeSelector(Widget):
|
10
|
-
def __init__(self, scene):
|
11
|
-
Widget.__init__(self, scene, all=True)
|
12
|
-
|
13
|
-
def process_draw(self, gc: wx.GraphicsContext):
|
14
|
-
"""
|
15
|
-
Widget-Routine to draw the different elements on the provided GraphicContext
|
16
|
-
"""
|
17
|
-
gc.PushState()
|
18
|
-
offset = 2500
|
19
|
-
gc.SetPen(wx.RED_PEN)
|
20
|
-
gc.SetBrush(wx.RED_BRUSH)
|
21
|
-
points = self.scene.context.elements.points
|
22
|
-
for data in points:
|
23
|
-
index_line, index_pos, geom_t, node = data
|
24
|
-
g = geom_t.segments[index_line][index_pos]
|
25
|
-
ptx = g.real
|
26
|
-
pty = g.imag
|
27
|
-
gc.DrawEllipse(ptx - offset, pty - offset, offset * 2, offset * 2)
|
28
|
-
gc.PopState()
|
1
|
+
"""
|
2
|
+
Node selector stub
|
3
|
+
"""
|
4
|
+
import wx
|
5
|
+
|
6
|
+
from meerk40t.gui.scene.widget import Widget
|
7
|
+
|
8
|
+
|
9
|
+
class NodeSelector(Widget):
|
10
|
+
def __init__(self, scene):
|
11
|
+
Widget.__init__(self, scene, all=True)
|
12
|
+
|
13
|
+
def process_draw(self, gc: wx.GraphicsContext):
|
14
|
+
"""
|
15
|
+
Widget-Routine to draw the different elements on the provided GraphicContext
|
16
|
+
"""
|
17
|
+
gc.PushState()
|
18
|
+
offset = 2500
|
19
|
+
gc.SetPen(wx.RED_PEN)
|
20
|
+
gc.SetBrush(wx.RED_BRUSH)
|
21
|
+
points = self.scene.context.elements.points
|
22
|
+
for data in points:
|
23
|
+
index_line, index_pos, geom_t, node = data
|
24
|
+
g = geom_t.segments[index_line][index_pos]
|
25
|
+
ptx = g.real
|
26
|
+
pty = g.imag
|
27
|
+
gc.DrawEllipse(ptx - offset, pty - offset, offset * 2, offset * 2)
|
28
|
+
gc.PopState()
|