Added an option to remove the PCB edge on PCB print

- Only for KiCad 6 and only if printing to one page
- A tradition of discarding user options ...
This commit is contained in:
Diego Capusotto 2021-12-18 18:39:24 -03:00
parent 95f9b7914e
commit 4fe6379b49
3 changed files with 13 additions and 0 deletions

View File

@ -1495,6 +1495,9 @@ Next time you need this list just use an alias, like this:
- `dnf_filter`: [string|list(string)='_none'] Name of the filter to mark components as not fitted.
A short-cut to use for simple cases where a variant is an overkill.
- `drill_marks`: [string='full'] What to use to indicate the drill places, can be none, small or full (for real scale).
- `force_edge_cuts`: [boolean=true] Only useful for KiCad 6 when printing in one page, you can disable the edge here.
KiCad 5 forces it by default, and you can't control it from config files.
Same for KiCad 6 when printing to separated pages.
- `hide_excluded`: [boolean=false] Hide components in the Fab layer that are marked as excluded by a variant.
- `mirror`: [boolean=false] Print mirrored (X axis inverted). ONLY for KiCad 6.
- `monochrome`: [boolean=false] Print in black and white.

View File

@ -945,6 +945,10 @@ outputs:
dnf_filter: '_none'
# [string='full'] What to use to indicate the drill places, can be none, small or full (for real scale)
drill_marks: 'full'
# [boolean=true] Only useful for KiCad 6 when printing in one page, you can disable the edge here.
# KiCad 5 forces it by default, and you can't control it from config files.
# Same for KiCad 6 when printing to separated pages
force_edge_cuts: true
# [boolean=false] Hide components in the Fab layer that are marked as excluded by a variant
hide_excluded: false
# [boolean=false] Print mirrored (X axis inverted). ONLY for KiCad 6

View File

@ -46,6 +46,10 @@ class PDF_Pcb_PrintOptions(VariantOptions):
self.title = ''
""" Text used to replace the sheet title. %VALUE expansions are allowed.
If it starts with `+` the text is concatenated """
self.force_edge_cuts = True
""" Only useful for KiCad 6 when printing in one page, you can disable the edge here.
KiCad 5 forces it by default, and you can't control it from config files.
Same for KiCad 6 when printing to separated pages """
super().__init__()
self._expand_ext = 'pdf'
@ -119,6 +123,8 @@ class PDF_Pcb_PrintOptions(VariantOptions):
cmd, video_remove = add_extra_options(cmd)
# Add the layers
cmd.extend([la.layer for la in self._layers])
if GS.ki6() and self.force_edge_cuts and not self.separated:
cmd.append('Edge.Cuts')
# Execute it
ret = exec_with_retry(cmd)
self.restore_title()