diff --git a/CHANGELOG.md b/CHANGELOG.md index 81c64cb9..dee86f39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -122,6 +122,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Diff - `current`: didn't apply global variants - `current`: didn't honor KiCad native DNP flags, they need a filter +- PCB Print: + - Issues when forcing the board edge and using scaling (#532) ## [1.6.3] - 2023-06-26 diff --git a/kibot/out_pcb_print.py b/kibot/out_pcb_print.py index caff6c54..824d5061 100644 --- a/kibot/out_pcb_print.py +++ b/kibot/out_pcb_print.py @@ -1090,6 +1090,17 @@ class PCB_PrintOptions(VariantOptions): edge_layer.color = layer_id2color[edge_id] else: edge_layer.color = "#000000" + # Make visible only the layers we need + # This is very important when scaling, otherwise the results are controlled by the .kicad_prl (See #407) + if not self.individual_page_scaling: + # Make all the layers in all the pages visible + vis_layers = LSET() + for p in self.pages: + for la in p.layers: + vis_layers.addLayer(la._id) + if self.force_edge_cuts: + vis_layers.addLayer(edge_id) + GS.board.SetVisibleLayers(vis_layers) # Generate the output, page by page pages = [] for n, p in enumerate(self.pages):