diff --git a/scripting/plugins/OutputGeneration/AsyOutputs.py b/scripting/plugins/OutputGeneration/AsyOutputs.py deleted file mode 100644 index 87db33a..0000000 --- a/scripting/plugins/OutputGeneration/AsyOutputs.py +++ /dev/null @@ -1,16 +0,0 @@ -import pcbnew - -__all__ = ["AsyOutputs"] - -class AsyOutputs(pcbnew.ActionPlugin): - def defaults(self): - self.name = "Generate Assembly Outputs" - self.category = "Output Generation" - self.description = "Generate CSV BOM, Drawings, and add to pdf" - - self.pcbnew_icon_support = hasattr(self, "show_toolbar_button") - self.show_toolbar_button = True - - def Run(self): - # The entry function of the plugin that is executed on user action - print("Hello World - AsyOutputs") \ No newline at end of file diff --git a/scripting/plugins/OutputGeneration/FabOutputs.py b/scripting/plugins/OutputGeneration/FabOutputs.py index 9ce02c5..4dd9aeb 100644 --- a/scripting/plugins/OutputGeneration/FabOutputs.py +++ b/scripting/plugins/OutputGeneration/FabOutputs.py @@ -13,8 +13,8 @@ class FabOutputs(pcbnew.ActionPlugin): self.category = "Output Generation" self.description = "Generate Gerbers, BOM, Drawings, etc and add to pdf/zip" - self.pcbnew_icon_support = hasattr(self, "show_toolbar_button") self.show_toolbar_button = True + self.icon_file_name = os.path.join(os.path.dirname(__file__), "icon.png") def Run(self): # ================ @@ -84,38 +84,45 @@ class FabOutputs(pcbnew.ActionPlugin): "soldermask defined": None, # TODO: how do I want to determine this? } + dir_fab.mkdir(parents=True, exist_ok=True) + dir_asy.mkdir(parents=True, exist_ok=True) + files_fab = [] files_asy = [] # ================ # Gerbers # ================ + #### SETTINGS + tent_vias = True + trim_silkscreen = False plot_controller = pcbnew.PLOT_CONTROLLER(pcb) plot_options = plot_controller.GetPlotOptions() # Set General Options: + # plot_options.Format() plot_options.SetOutputDirectory(dir_fab) plot_options.SetPlotFrameRef(False) plot_options.SetPlotValue(False) plot_options.SetPlotReference(True) plot_options.SetPlotInvisibleText(False) - plot_options.SetPlotViaOnMaskLayer(False) + plot_options.SetPlotViaOnMaskLayer(not tent_vias) plot_options.SetExcludeEdgeLayer(True) plot_options.SetUseAuxOrigin(False) plot_options.SetMirror(False) plot_options.SetNegative(False) - #plot_options.SetDrillMarksType(PLOT_DRILL_MARKS_TYPE) - #plot_options.SetScale(PLOT_SCALE) - plot_options.SetAutoScale(True) + plot_options.SetScale(1) + # plot_options.SetAutoScale(True) #plot_options.SetPlotMode(PLOT_MODE) #plot_options.SetLineWidth(pcbnew.FromMM(PLOT_LINE_WIDTH)) plot_options.SetUseGerberAttributes(True) plot_options.SetUseGerberProtelExtensions(False) plot_options.SetCreateGerberJobFile(False) - plot_options.SetSubtractMaskFromSilk(True) plot_options.SetIncludeGerberNetlistInfo(False) - + plot_options.SetUseGerberX2format(True) + # plot_options.SetDrillMarksType() + plot_options.SetSubtractMaskFromSilk(trim_silkscreen) plot_plan = [ # ( layer ID, file extension, description) @@ -169,32 +176,39 @@ class FabOutputs(pcbnew.ActionPlugin): files_fab.append(fname) # ================ - # Pick and Place - # ================s - + # Drawing + # ================ # TODO # ================ - # Fab Drawing + # BOM + # ================ + # TODO + + # ================ + # Pick and Place + # ================ + # TODO + + # ================ + # Fab Notes # ================ - fname = f"README_FABRICATION{suffix}.TXT" - with open(dir_fab / fname, "w") as f: - f.write(f"{project_name}-REV{rev}\n") - f.write(f"Layer Order\n") - # for layer in plot_plan: - - files_fab.append(fname) + # fname = f"README_FABRICATION{suffix}.TXT" + # with open(dir_fab / fname, "w") as f: + # f.write(f"{project_name}-REV{rev}\n") + # f.write(f"Layer Order\n") + # # for layer in plot_plan: + # files_fab.append(fname) # ================ - # Assembly Drawing + # Assembly Notes # ================ - with open(dir_asy / f"README_ASSEMBLY{suffix}.TXT", "w") as f: - f.write(f"{project_name}-REV{rev}\n") - - files_asy.append(fname) - + # fname = f"README_ASSEMBLY{suffix}.TXT" + # with open(dir_asy / fname, "w") as f: + # f.write(f"{project_name}-REV{rev}\n") + # files_asy.append(fname) # ================ # Zip diff --git a/scripting/plugins/OutputGeneration/__init__.py b/scripting/plugins/OutputGeneration/__init__.py index e4058a9..1c2bf0a 100644 --- a/scripting/plugins/OutputGeneration/__init__.py +++ b/scripting/plugins/OutputGeneration/__init__.py @@ -1,5 +1,2 @@ from .FabOutputs import FabOutputs -from .AsyOutputs import AsyOutputs - -FabOutputs().register() # Instantiate and register to Pcbnew -AsyOutputs().register() # Instantiate and register to Pcbnew \ No newline at end of file +FabOutputs().register() # Instantiate and register to Pcbnew \ No newline at end of file diff --git a/scripting/plugins/OutputGeneration/__pycache__/AsyOutputs.cpython-36.pyc b/scripting/plugins/OutputGeneration/__pycache__/AsyOutputs.cpython-36.pyc new file mode 100644 index 0000000..1642aad Binary files /dev/null and b/scripting/plugins/OutputGeneration/__pycache__/AsyOutputs.cpython-36.pyc differ diff --git a/scripting/plugins/OutputGeneration/__pycache__/FabOutputs.cpython-36.pyc b/scripting/plugins/OutputGeneration/__pycache__/FabOutputs.cpython-36.pyc new file mode 100644 index 0000000..72490bf Binary files /dev/null and b/scripting/plugins/OutputGeneration/__pycache__/FabOutputs.cpython-36.pyc differ diff --git a/scripting/plugins/OutputGeneration/__pycache__/FabOutputs.cpython-38.pyc b/scripting/plugins/OutputGeneration/__pycache__/FabOutputs.cpython-38.pyc index c569440..7a89f46 100644 Binary files a/scripting/plugins/OutputGeneration/__pycache__/FabOutputs.cpython-38.pyc and b/scripting/plugins/OutputGeneration/__pycache__/FabOutputs.cpython-38.pyc differ diff --git a/scripting/plugins/OutputGeneration/__pycache__/__init__.cpython-36.pyc b/scripting/plugins/OutputGeneration/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..337f522 Binary files /dev/null and b/scripting/plugins/OutputGeneration/__pycache__/__init__.cpython-36.pyc differ diff --git a/scripting/plugins/OutputGeneration/icon.jpeg b/scripting/plugins/OutputGeneration/icon.jpeg new file mode 100644 index 0000000..ac1b5b0 Binary files /dev/null and b/scripting/plugins/OutputGeneration/icon.jpeg differ diff --git a/scripting/plugins/OutputGeneration/icon.png b/scripting/plugins/OutputGeneration/icon.png new file mode 100644 index 0000000..a32d00c Binary files /dev/null and b/scripting/plugins/OutputGeneration/icon.png differ diff --git a/scripting/plugins/TestPlugin/TestPlugin/TestPlugin_action.py b/scripting/plugins/TestPlugin/TestPlugin/TestPlugin_action.py deleted file mode 100644 index 2a7e038..0000000 --- a/scripting/plugins/TestPlugin/TestPlugin/TestPlugin_action.py +++ /dev/null @@ -1,17 +0,0 @@ -import pcbnew -import os - -class TestPlugin(pcbnew.ActionPlugin): - def defaults(self): - self.name = "TestPlugin" - self.category = "A descriptive category name" - self.description = "A description of the plugin and what it does" - - # self.pcbnew_icon_support = hasattr(self, "show_toolbar_button") - # self.show_toolbar_button = True - # icon_dir = os.path.dirname(os.path.dirname(__file__)) - # self.icon_file_name = os.path.join(icon_dir, 'icon.png') - - def Run(self): - # The entry function of the plugin that is executed on user action - print("Hello World - testplugin") \ No newline at end of file diff --git a/scripting/plugins/TestPlugin/TestPlugin/__init__.py b/scripting/plugins/TestPlugin/TestPlugin/__init__.py deleted file mode 100644 index abf8753..0000000 --- a/scripting/plugins/TestPlugin/TestPlugin/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .TestPlugin_action import TestPlugin -plugin = TestPlugin() -plugin.register() \ No newline at end of file diff --git a/scripting/plugins/TestPlugin/TestPlugin/__pycache__/TestPlugin_action.cpython-38.pyc b/scripting/plugins/TestPlugin/TestPlugin/__pycache__/TestPlugin_action.cpython-38.pyc deleted file mode 100644 index 1fb5e18..0000000 Binary files a/scripting/plugins/TestPlugin/TestPlugin/__pycache__/TestPlugin_action.cpython-38.pyc and /dev/null differ diff --git a/scripting/plugins/TestPlugin/TestPlugin/__pycache__/__init__.cpython-38.pyc b/scripting/plugins/TestPlugin/TestPlugin/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index faf4ed7..0000000 Binary files a/scripting/plugins/TestPlugin/TestPlugin/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/scripting/plugins/TestPlugin/TestPlugin/icon.png b/scripting/plugins/TestPlugin/TestPlugin/icon.png deleted file mode 100644 index 37907aa..0000000 Binary files a/scripting/plugins/TestPlugin/TestPlugin/icon.png and /dev/null differ diff --git a/scripting/plugins/TestPlugin/__init__.py b/scripting/plugins/TestPlugin/__init__.py deleted file mode 100644 index 019288b..0000000 --- a/scripting/plugins/TestPlugin/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .TestPlugin import plugin \ No newline at end of file diff --git a/scripting/plugins/TestPlugin/__pycache__/__init__.cpython-38.pyc b/scripting/plugins/TestPlugin/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 5d7af29..0000000 Binary files a/scripting/plugins/TestPlugin/__pycache__/__init__.cpython-38.pyc and /dev/null differ