|
36 | 36 | import re |
37 | 37 | import os |
38 | 38 | import importlib |
39 | | -from pcbnew import B_Cu, B_Mask, F_Cu, F_Mask, FromMM, IsCopperLayer, LSET, PLOT_CONTROLLER, PLOT_FORMAT_SVG |
| 39 | +from pcbnew import B_Cu, B_Mask, F_Cu, F_Mask, FromMM, IsCopperLayer, LSET, PLOT_CONTROLLER, PLOT_FORMAT_SVG, VECTOR2I |
40 | 40 | from shutil import rmtree, copy2 |
41 | 41 | from subprocess import CalledProcessError |
42 | 42 | import sys |
@@ -836,9 +836,14 @@ def plot_vias(self, la, pc, p, filelist, via_t, via_c): |
836 | 836 | for pad in m.Pads(): |
837 | 837 | layers = pad.GetLayerSet() |
838 | 838 | if GS.layers_contains(layers, id): |
839 | | - layers.removeLayer(id) |
840 | | - pad.SetLayerSet(layers) |
841 | | - removed.append(pad) |
| 839 | + if GS.ki9: |
| 840 | + old_size = pad.GetSize() |
| 841 | + pad.SetSize(VECTOR2I(0, 0)) |
| 842 | + removed.append((pad, old_size)) |
| 843 | + else: |
| 844 | + layers.removeLayer(id) |
| 845 | + pad.SetLayerSet(layers) |
| 846 | + removed.append(pad) |
842 | 847 | for e in GS.board.GetDrawings(): |
843 | 848 | if e.GetLayer() == id: |
844 | 849 | e.SetLayer(tmp_layer) |
@@ -885,10 +890,14 @@ def plot_vias(self, la, pc, p, filelist, via_t, via_c): |
885 | 890 | # Restore everything |
886 | 891 | for e in moved: |
887 | 892 | e.SetLayer(id) |
888 | | - for pad in removed: |
889 | | - layers = pad.GetLayerSet() |
890 | | - layers.addLayer(id) |
891 | | - pad.SetLayerSet(layers) |
| 893 | + if GS.ki9: |
| 894 | + for pad, size in removed: |
| 895 | + pad.SetSize(size) |
| 896 | + else: |
| 897 | + for pad in removed: |
| 898 | + layers = pad.GetLayerSet() |
| 899 | + layers.addLayer(id) |
| 900 | + pad.SetLayerSet(layers) |
892 | 901 | for (via, drill, width, top, bottom) in vias: |
893 | 902 | via.SetDrill(drill) |
894 | 903 | GS.set_via_width(via, width) |
|
0 commit comments