From 1202351fed1841b3366572777e3ff8274ed8acb3 Mon Sep 17 00:00:00 2001 From: "Salvador E. Tropea" Date: Thu, 5 Jan 2023 08:36:17 -0300 Subject: [PATCH] [Templates] Moved JLCPCB+stencil to a separated import - So now the compress target includes the stencil --- README.md | 13 ++++- docs/README.in | 13 ++++- .../config_templates/JLCPCB.kibot.yaml | 10 ---- .../JLCPCB_stencil.kibot.yaml | 53 +++++++++++++++++++ ...mport_test_internal_jlc_stencil.kibot.yaml | 6 +++ 5 files changed, 81 insertions(+), 14 deletions(-) create mode 100644 kibot/resources/config_templates/JLCPCB_stencil.kibot.yaml create mode 100644 tests/yaml_samples/import_test_internal_jlc_stencil.kibot.yaml diff --git a/README.md b/README.md index 97364d69..2f280b37 100644 --- a/README.md +++ b/README.md @@ -4690,8 +4690,7 @@ They include support for: - _FusionPCB_compress: Gerbers and drill files compressed in a ZIP - _FusionPCB: _FusionPCB_gerbers+_FusionPCB_drill - [JLCPCB](https://jlcpcb.com/): contain fabrication outputs compatible with JLC PCB - - _JLCPCB_gerbers: Gerbers. You need to define the layers for more than 8. - - _JLCPCB_gerbers_stencil: Gerbers for the solder paste stencils. Disabled by default. + - _JLCPCB_gerbers: Gerbers. - _JLCPCB_drill: Drill files - _JLCPCB_position: Pick and place, applies the `_rot_footprint` filter. You can change this filter. - _JLCPCB_bom: List of LCSC parts, assumes a field named `LCSC#` contains the LCSC codes. You can change this filter. @@ -4699,6 +4698,16 @@ They include support for: - _JLCPCB_fab: _JLCPCB_gerbers+_JLCPCB_drill - _JLCPCB_assembly: _JLCPCB_position+_JLCPCB_bom - _JLCPCB: _JLCPCB_fab+_JLCPCB_assembly +- [JLCPCB_stencil](https://jlcpcb.com/): Derived from JLCPCB, adds solder paste gerbers for stencils + - _JLCPCB_gerbers: Gerbers. + - _JLCPCB_gerbers_stencil: Gerbers for the solder paste stencils. Disabled by default. + - _JLCPCB_drill: Drill files + - _JLCPCB_position: Pick and place, applies the `_rot_footprint` filter. You can change this filter. + - _JLCPCB_bom: List of LCSC parts, assumes a field named `LCSC#` contains the LCSC codes. You can change this filter. + - _JLCPCB_compress: Gerbers, drill, position and BoM files compressed in a ZIP + - _JLCPCB_fab: _JLCPCB_gerbers+_JLCPCB_gerbers_stencil+_JLCPCB_drill + - _JLCPCB_assembly: _JLCPCB_position+_JLCPCB_bom + - _JLCPCB: _JLCPCB_fab+_JLCPCB_assembly - [P-Ban](https://www.p-ban.com/): contain fabrication outputs compatible with P-Ban - _P-Ban_gerbers: Gerbers. You need to define the layers for more than 8. - _P-Ban_drill: Drill files diff --git a/docs/README.in b/docs/README.in index 61a5e114..d3da06ba 100644 --- a/docs/README.in +++ b/docs/README.in @@ -1273,8 +1273,7 @@ They include support for: - _FusionPCB_compress: Gerbers and drill files compressed in a ZIP - _FusionPCB: _FusionPCB_gerbers+_FusionPCB_drill - [JLCPCB](https://jlcpcb.com/): contain fabrication outputs compatible with JLC PCB - - _JLCPCB_gerbers: Gerbers. You need to define the layers for more than 8. - - _JLCPCB_gerbers_stencil: Gerbers for the solder paste stencils. Disabled by default. + - _JLCPCB_gerbers: Gerbers. - _JLCPCB_drill: Drill files - _JLCPCB_position: Pick and place, applies the `_rot_footprint` filter. You can change this filter. - _JLCPCB_bom: List of LCSC parts, assumes a field named `LCSC#` contains the LCSC codes. You can change this filter. @@ -1282,6 +1281,16 @@ They include support for: - _JLCPCB_fab: _JLCPCB_gerbers+_JLCPCB_drill - _JLCPCB_assembly: _JLCPCB_position+_JLCPCB_bom - _JLCPCB: _JLCPCB_fab+_JLCPCB_assembly +- [JLCPCB_stencil](https://jlcpcb.com/): Derived from JLCPCB, adds solder paste gerbers for stencils + - _JLCPCB_gerbers: Gerbers. + - _JLCPCB_gerbers_stencil: Gerbers for the solder paste stencils. Disabled by default. + - _JLCPCB_drill: Drill files + - _JLCPCB_position: Pick and place, applies the `_rot_footprint` filter. You can change this filter. + - _JLCPCB_bom: List of LCSC parts, assumes a field named `LCSC#` contains the LCSC codes. You can change this filter. + - _JLCPCB_compress: Gerbers, drill, position and BoM files compressed in a ZIP + - _JLCPCB_fab: _JLCPCB_gerbers+_JLCPCB_gerbers_stencil+_JLCPCB_drill + - _JLCPCB_assembly: _JLCPCB_position+_JLCPCB_bom + - _JLCPCB: _JLCPCB_fab+_JLCPCB_assembly - [P-Ban](https://www.p-ban.com/): contain fabrication outputs compatible with P-Ban - _P-Ban_gerbers: Gerbers. You need to define the layers for more than 8. - _P-Ban_drill: Drill files diff --git a/kibot/resources/config_templates/JLCPCB.kibot.yaml b/kibot/resources/config_templates/JLCPCB.kibot.yaml index 16887616..7feb2047 100644 --- a/kibot/resources/config_templates/JLCPCB.kibot.yaml +++ b/kibot/resources/config_templates/JLCPCB.kibot.yaml @@ -56,16 +56,6 @@ outputs: - B.Mask - Edge.Cuts - - name: _JLCPCB_gerbers_stencil - comment: Gerbers for the stencils compatible with JLCPCB - type: gerber - dir: JLCPCB - run_by_default: false - options: *gerber_options - layers: - - F.Paste - - B.Paste - - name: _JLCPCB_drill comment: Drill files compatible with JLCPCB type: excellon diff --git a/kibot/resources/config_templates/JLCPCB_stencil.kibot.yaml b/kibot/resources/config_templates/JLCPCB_stencil.kibot.yaml new file mode 100644 index 00000000..5a8088e4 --- /dev/null +++ b/kibot/resources/config_templates/JLCPCB_stencil.kibot.yaml @@ -0,0 +1,53 @@ +# Gerber and drill files for JLCPCB, without stencil +# URL: https://jlcpcb.com/ +# Based on setting used by Gerber Zipper (https://github.com/g200kg/kicad-gerberzipper) +kibot: + version: 1 + +import: + - file: JLCPCB + is_internal: true + outputs: + # We exclude the _JLCPCB_compress + - _JLCPCB_gerbers + - _JLCPCB_drill + - _JLCPCB_position + - _JLCPCB_bom + groups: + # We exlclude the _JLCPCB_fab + - _JLCPCB_assembly + - _JLCPCB + +groups: + - name: _JLCPCB_fab + outputs: + - _JLCPCB_gerbers + - _JLCPCB_gerbers_stencil + - _JLCPCB_drill + +outputs: + - name: _JLCPCB_gerbers_stencil + comment: Gerbers for the stencils compatible with JLCPCB + type: gerber + dir: JLCPCB + extends: _JLCPCB_gerbers + layers: + - F.Paste + - B.Paste + + - name: _JLCPCB_compress + comment: ZIP file for JLCPCB + type: compress + dir: JLCPCB + options: + files: + - from_output: _JLCPCB_gerbers + dest: / + - from_output: _JLCPCB_gerbers_stencil + dest: / + - from_output: _JLCPCB_drill + dest: / + - from_output: _JLCPCB_position + dest: / + - from_output: _JLCPCB_bom + dest: / diff --git a/tests/yaml_samples/import_test_internal_jlc_stencil.kibot.yaml b/tests/yaml_samples/import_test_internal_jlc_stencil.kibot.yaml new file mode 100644 index 00000000..a1ae7e6e --- /dev/null +++ b/tests/yaml_samples/import_test_internal_jlc_stencil.kibot.yaml @@ -0,0 +1,6 @@ +kibot: + version: 1 + +import: + - file: JLCPCB_stencil + is_internal: true