From 093b2c2df43c5242fb43b2e9bde565fac01f5a5c Mon Sep 17 00:00:00 2001 From: jaseg Date: Tue, 29 Dec 2020 19:50:28 +0100 Subject: Update README --- kimesh/mesh_plugin.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 kimesh/mesh_plugin.py (limited to 'kimesh/mesh_plugin.py') diff --git a/kimesh/mesh_plugin.py b/kimesh/mesh_plugin.py new file mode 100644 index 0000000..1951875 --- /dev/null +++ b/kimesh/mesh_plugin.py @@ -0,0 +1,38 @@ +from os import path +import subprocess +import sys + +import wx + +import pcbnew + +def check_requirements(*packages): + missing = [] + for pkg in packages: + try: + __import__(pkg) + except ImportError: + missing.append(pkg) + + if missing: + wx.MessageDialog(None, "Error: Missing python dependencies:\n\n{}".format('\n'.join(missing)), + "Missing Dependencies").ShowModal() + return False + + else: + return True + +class MeshPlugin(pcbnew.ActionPlugin): + def defaults(self): + self.name = 'Mesh generator' + self.category = 'Modify PCB' + self.description = 'Creates security mesh traces on a PCB' + self.icon_file_name = path.join(path.dirname(__file__), 'mesh_plugin_icon.png') + self.show_toolbar_button = True + + def Run(self): + if not check_requirements('shapely'): + return + + from .mesh_dialog import show_dialog + show_dialog(pcbnew.GetBoard()) -- cgit