[PcbDraw] Added support to set the V-CUTS layer
This commit is contained in:
parent
ad2b4e48d1
commit
5887b29bf2
|
|
@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- Image margin
|
||||
- Outline width
|
||||
- Solder paste removal
|
||||
- V-CUTS layer
|
||||
|
||||
### Changed
|
||||
- Diff:
|
||||
|
|
|
|||
|
|
@ -2591,7 +2591,8 @@ Notes:
|
|||
- `remap`: [dict|None] Replacements for PCB references using components (lib:component).
|
||||
- `show_solderpaste`: [boolean=true] Show the solder paste layers.
|
||||
- `variant`: [string=''] Board variant to apply.
|
||||
- `vcuts`: [boolean=false] Render V-CUTS on the Cmts.User layer.
|
||||
- `vcuts`: [boolean=false] Render V-CUTS on the `vcuts_layer` layer.
|
||||
- `vcuts_layer`: [string='Cmts.User'] Layer to render the V-CUTS, only used when `vcuts` is enabled.
|
||||
- `warnings`: [string='visible'] [visible,all,none] Using visible only the warnings about components in the visible side are generated.
|
||||
- `category`: [string|list(string)=''] The category for this output. If not specified an internally defined category is used.
|
||||
Categories looks like file system paths, i.e. PCB/fabrication/gerber.
|
||||
|
|
|
|||
|
|
@ -1409,8 +1409,10 @@ outputs:
|
|||
vcut: '#bf2600'
|
||||
# [string=''] Board variant to apply
|
||||
variant: ''
|
||||
# [boolean=false] Render V-CUTS on the Cmts.User layer
|
||||
# [boolean=false] Render V-CUTS on the `vcuts_layer` layer
|
||||
vcuts: false
|
||||
# [string='Cmts.User'] Layer to render the V-CUTS, only used when `vcuts` is enabled
|
||||
vcuts_layer: 'Cmts.User'
|
||||
# [string='visible'] [visible,all,none] Using visible only the warnings about components in the visible side are generated
|
||||
warnings: 'visible'
|
||||
# PDF (Portable Document Format):
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ from .error import KiPlotConfigurationError
|
|||
from .misc import (PCBDRAW_ERR, W_AMBLIST, PCB_MAT_COLORS, PCB_FINISH_COLORS, SOLDER_COLORS, SILK_COLORS,
|
||||
W_PCBDRAW)
|
||||
from .gs import GS
|
||||
from .layer import Layer
|
||||
from .optionable import Optionable
|
||||
from .out_base import VariantOptions
|
||||
from .macros import macros, document, output_class # noqa: F401
|
||||
|
|
@ -152,7 +153,9 @@ class PcbDrawOptions(VariantOptions):
|
|||
""" *[list(string)|string=none] [none,all] List of components to draw, can be also a string for none or all.
|
||||
The default is none. IMPORTANT! This option is relevant only when no filters or variants are applied """
|
||||
self.vcuts = False
|
||||
""" Render V-CUTS on the Cmts.User layer """
|
||||
""" Render V-CUTS on the `vcuts_layer` layer """
|
||||
self.vcuts_layer = 'Cmts.User'
|
||||
""" Layer to render the V-CUTS, only used when `vcuts` is enabled """
|
||||
self.warnings = 'visible'
|
||||
""" [visible,all,none] Using visible only the warnings about components in the visible side are generated """
|
||||
self.dpi = 300
|
||||
|
|
@ -182,6 +185,8 @@ class PcbDrawOptions(VariantOptions):
|
|||
self.libs = ['KiCAD-base']
|
||||
else:
|
||||
self.libs = ','.join(self.libs)
|
||||
# V-CUTS layer
|
||||
self._vcuts_layer = Layer.solve(self.vcuts_layer)[0]._id
|
||||
# Highlight
|
||||
if isinstance(self.highlight, type):
|
||||
self.highlight = None
|
||||
|
|
@ -327,8 +332,7 @@ class PcbDrawOptions(VariantOptions):
|
|||
if self.show_solderpaste:
|
||||
plotter.plot_plan.append(PlotPaste())
|
||||
if self.vcuts:
|
||||
# TODO: Make layer configurable
|
||||
plotter.plot_plan.append(PlotVCuts(layer=41))
|
||||
plotter.plot_plan.append(PlotVCuts(layer=self._vcuts_layer))
|
||||
# Two filtering mechanism: 1) Specified list and 2) KiBot filters and variants
|
||||
if self.show_components is not None or self._comps:
|
||||
plotter.plot_plan.append(self.build_plot_components())
|
||||
|
|
|
|||
Loading…
Reference in New Issue