3612 lines
198 KiB
YAML
3612 lines
198 KiB
YAML
# ATTENTION! THIS ISN'T A FULLY FUNCTIONAL EXAMPLE.
|
|
# You should take portions of this example and edit the options to make
|
|
# them suitable for your use.
|
|
# This file is useful to know all the available options.
|
|
kibot:
|
|
version: 1
|
|
|
|
preflight:
|
|
# [dict] Annotates the PCB according to physical coordinates.
|
|
# This preflight modifies the PCB and schematic, use it only in revision control environments.
|
|
# Used to assign references according to footprint coordinates.
|
|
# The project must be fully annotated first.
|
|
annotate_pcb:
|
|
top_main_axis: y
|
|
top_main_ascending: true
|
|
top_secondary_ascending: true
|
|
top_start: 1
|
|
bottom_main_axis: y
|
|
bottom_main_ascending: true
|
|
bottom_secondary_ascending: true
|
|
bottom_start: 101
|
|
use_position_of: 'footprint'
|
|
grid: 1.0
|
|
# [boolean=false] Annotates all power components.
|
|
# This preflight modifies the schematic, use it only in revision control environments.
|
|
# Used to solve ERC problems when using filters that remove power reference numbers.
|
|
annotate_power: true
|
|
# [boolean=false] Zones are filled before doing any operation involving PCB layers.
|
|
# The original PCB remains unchanged. If you need to abort when the zone fill
|
|
# creates significant changes to a layer use the CheckZoneFill internal template.
|
|
check_zone_fills: true
|
|
# [boolean=false] **Deprecated**, use the `warnings_as_errors` option from `run_erc`.
|
|
# Option for `run_erc`. ERC warnings are considered errors.
|
|
erc_warnings: false
|
|
# [boolean=false] Fill all zones again and save the PCB.
|
|
fill_zones: true
|
|
# [list(dict)] A list of entries to filter out ERC/DRC messages.
|
|
# Note that ignored errors will become KiBot warnings (i.e. `(W058) ...`).
|
|
# To farther ignore these warnings use the `filters` option in the `global` section.
|
|
filters:
|
|
- filter: 'Filter description'
|
|
error: '10'
|
|
regex: 'Regular expression to match'
|
|
# [boolean=false] **Deprecated**, use the `ignore_unconnected` option from `run_drc`.
|
|
# Option for `run_drc`. Ignores the unconnected nets. Useful if you didn't finish the routing.
|
|
# It will also ignore KiCad 6 warnings.
|
|
ignore_unconnected: false
|
|
# [dict] Replaces tags in the PCB. I.e. to insert the git hash or last revision date.
|
|
# This is useful for KiCad 5, use `set_text_variables` when using KiCad 6.
|
|
# This preflight modifies the PCB. Even when a back-up is done use it carefully.
|
|
pcb_replace:
|
|
date_command: 'git log -1 --format="%as" -- "$KIBOT_PCB_NAME"'
|
|
replace_tags:
|
|
- tag: '@git_hash@'
|
|
command: 'git log -1 --format="%h" "$KIBOT_PCB_NAME"'
|
|
before: 'Git hash: <'
|
|
after: '>'
|
|
# [boolean=false|dict] Runs the DRC (Distance Rules Check). To ensure we have a valid PCB.
|
|
# The report file name is controlled by the global output pattern (%i=drc %x=txt).
|
|
# Note that the KiCad 6+ *Test for parity between PCB and schematic* option is not supported.
|
|
# If you need to check the parity use the `update_xml` preflight.
|
|
# KiCad 6 introduced `warnings` they are currently counted be the `unconnected` counter of KiBot.
|
|
# This will change in the future.
|
|
# If you use DRC exclusions please consult the `drc_exclusions_workaround` global option.
|
|
run_drc: true
|
|
# [boolean=false|dict] Runs the ERC (Electrical Rules Check). To ensure the schematic is electrically correct.
|
|
# The report file name is controlled by the global output pattern (%i=erc %x=txt).
|
|
run_erc: true
|
|
# [dict] Replaces tags in the schematic. I.e. to insert the git hash or last revision date.
|
|
# This is useful for KiCad 5, use `set_text_variables` when using KiCad 6.
|
|
# This preflight modifies the schematics. Even when a back-up is done use it carefully.
|
|
sch_replace:
|
|
date_command: 'git log -1 --format="%as" -- "$KIBOT_SCH_NAME"'
|
|
replace_tags:
|
|
- tag: '@git_hash@'
|
|
command: 'git log -1 --format="%h" "$KIBOT_SCH_NAME"'
|
|
before: 'Git hash: <'
|
|
after: '>'
|
|
# [dict|list(dict)] Defines KiCad 6+ variables.
|
|
# They are expanded using `${VARIABLE}`, and stored in the project file.
|
|
# This preflight replaces `pcb_replace` and `sch_replace` when using KiCad 6.
|
|
# The KiCad project file is modified.
|
|
# Warning: don't use `-s all` or this preflight will be skipped.
|
|
set_text_variables:
|
|
- name: 'git_hash'
|
|
command: 'git log -1 --format="%h" "$KIBOT_PCB_NAME"'
|
|
before: 'Git hash: <'
|
|
after: '>'
|
|
# [boolean=false] Update the QR codes.
|
|
# Complements the `qr_lib` output.
|
|
# The KiCad 6 files and the KiCad 5 PCB needs manual update, generating a new library isn't enough.
|
|
update_qr: true
|
|
# [boolean=false|dict] Update the XML version of the BoM (Bill of Materials).
|
|
# To ensure our generated BoM is up to date.
|
|
# Note that this isn't needed when using the internal BoM generator (`bom`).
|
|
# You can compare the PCB and schematic netlists using it.
|
|
update_xml: true
|
|
|
|
outputs:
|
|
# Blender Export:
|
|
# Also renders the PCB with high-quality.
|
|
# Needs KiCad 6 or newer.
|
|
# This output is complex to setup and needs very big dependencies.
|
|
# Please be patient when using it.
|
|
# You need Blender with the pcb2blender plug-in installed.
|
|
# Visit: [pcb2blender](https://github.com/30350n/pcb2blender).
|
|
# You can just generate the exported PCB if no output is specified.
|
|
# You can also export the PCB and render it at the same time
|
|
- name: 'blender_export_example'
|
|
comment: 'Exports the PCB in various 3D file formats.'
|
|
type: 'blender_export'
|
|
dir: 'Example/blender_export_dir'
|
|
options:
|
|
# [boolean=true] Add a default light when none specified.
|
|
# The default light is located at (-size*3.33, size*3.33, size*5) where size is max(width, height) of the PCB
|
|
add_default_light: true
|
|
# [number=1.1] Value to multiply the Z axis coordinate after computing the automatically generated camera.
|
|
# Used to avoid collision of the camera and the object
|
|
auto_camera_z_axis_factor: 1.1
|
|
# [dict] Options for the camera.
|
|
# If none specified KiBot will create a suitable camera.
|
|
# If no position is specified for the camera KiBot will look for a suitable position
|
|
camera:
|
|
# [number=-1] Minimum distance for objects to the camera. Any object closer than this distance won't be visible.
|
|
# Only positive values have effect. A negative value has a special meaning.
|
|
# For a camera with defined position, a negative value means to use Blender defaults (i.e. 0.1 m).
|
|
# For cameras without position KiBot will ask Blender to compute its position and the use a clip
|
|
# distance that is 1/10th of the Z distance
|
|
clip_start: -1
|
|
# [string=''] Name for the camera
|
|
name: ''
|
|
# [number|string] X position [m]. You can use `width`, `height` and `size` for PCB dimensions
|
|
pos_x: 0
|
|
# [number|string] Y position [m]. You can use `width`, `height` and `size` for PCB dimensions
|
|
pos_y: 0
|
|
# [number|string] Z position [m]. You can use `width`, `height` and `size` for PCB dimensions
|
|
pos_z: 0
|
|
# [string='perspective'] [perspective,orthographic,panoramic] Type of camera
|
|
type: 'perspective'
|
|
# [string=''] Default value for the `file_id` in the `point_of_view` options.
|
|
# Use something like '_%03d' for animations
|
|
default_file_id: ''
|
|
# [boolean=false] When using the automatically generated camera and multiple points of view this option computes the camera
|
|
# position just once. Suitable for videos
|
|
fixed_auto_camera: false
|
|
# [dict|list(dict)] Options for the light/s
|
|
light:
|
|
# [number=0] How powerful is the light. Using 0 for POINT and SUN KiBot will try to use something useful
|
|
- energy: 0
|
|
# [string=''] Name for the light
|
|
name: ''
|
|
# [number|string] X position [m]. You can use `width`, `height` and `size` for PCB dimensions
|
|
pos_x: 0
|
|
# [number|string] Y position [m]. You can use `width`, `height` and `size` for PCB dimensions
|
|
pos_y: 0
|
|
# [number|string] Z position [m]. You can use `width`, `height` and `size` for PCB dimensions
|
|
pos_z: 0
|
|
# [string='POINT'] [POINT,SUN,SPOT,HEMI,AREA] Type of light. SUN lights will illuminate more evenly
|
|
type: 'POINT'
|
|
# [dict|list(dict)] Outputs to generate in the same run
|
|
outputs:
|
|
# [string=''] Subdirectory for this output
|
|
- dir: ''
|
|
# [string='%f-%i%I%v.%x'] Name for the generated file (%i='3D_blender_$VIEW' %x=VARIABLE).
|
|
# The extension is selected from the type. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string='render'] [fbx,obj,x3d,gltf,stl,ply,blender,render] The format for the output.
|
|
# The `render` type will generate a PNG image of the render result.
|
|
# `fbx` is Kaydara's Filmbox, 'obj' is the Wavefront, 'x3d' is the new ISO/IEC standard
|
|
# that replaced VRML, `gltf` is the standardized GL format, `stl` is the 3D printing
|
|
# format, 'ply' is Polygon File Format (Stanford).
|
|
# Note that some formats includes the light and camera and others are just the 3D model
|
|
# (i.e. STL and PLY)
|
|
type: 'render'
|
|
# [string|dict] Options to export the PCB to Blender.
|
|
# You can also specify the name of the output that generates the PCB3D file.
|
|
# See the `PCB2Blender_2_1`, `PCB2Blender_2_7` and `PCB2Blender_2_1_haschtl` templates
|
|
pcb3d:
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Downloads missing 3D models from KiCad git.
|
|
# Only applies to models in KISYS3DMOD and KICAD6_3DMODEL_DIR.
|
|
# They are downloaded to a temporal directory and discarded.
|
|
# If you want to cache the downloaded files specify a directory using the
|
|
# KIBOT_3D_MODELS environment variable
|
|
download: true
|
|
# [boolean=true] In addition to try to download the 3D models from KiCad git also try to get
|
|
# them from LCSC database. In order to work you'll need to provide the LCSC
|
|
# part number. The field containing the LCSC part number is defined by the
|
|
# `field_lcsc_part` global variable
|
|
download_lcsc: true
|
|
# [list(string)=[]] List of components to highlight
|
|
highlight: []
|
|
# [boolean=false] Highlight over the component (not under)
|
|
highlight_on_top: false
|
|
# [number=1.5] [0,1000] How much the highlight extends around the component [mm]
|
|
highlight_padding: 1.5
|
|
# [string='https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'] Base URL for the KiCad 3D models
|
|
kicad_3d_url: 'https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'
|
|
# [string=''] Text added to the end of the download URL.
|
|
# Can be used to pass variables to the GET request, i.e. ?VAR1=VAL1&VAR2=VAL2
|
|
kicad_3d_url_suffix: ''
|
|
# [boolean=false] Used to exclude 3D models for components with 'virtual' attribute
|
|
no_virtual: false
|
|
# [string='%f-%i%I%v.%x'] Name for the generated PCB3D file (%i='blender_export' %x='pcb3d'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [list(string)|string=all] [none,all] List of components to draw, can be also a string for `none` or `all`.
|
|
# Unlike the `pcbdraw` output, the default is `all`
|
|
show_components: all
|
|
# [boolean=true] Add solder paste only for the populated components.
|
|
# Populated components are the ones listed in `show_components`
|
|
solder_paste_for_populated: true
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# [string='2.7'] [2.1,2.1_haschtl,2.7] Variant of the format used
|
|
version: '2.7'
|
|
# Options to configure how Blender imports the PCB.
|
|
# The default values are good for most cases
|
|
pcb_import:
|
|
# [boolean=true] Center the PCB at the coordinates origin
|
|
center: true
|
|
# [boolean=true] Import the components
|
|
components: true
|
|
# [boolean=true] Separate the sub-PCBs in separated 3D models
|
|
cut_boards: true
|
|
# [boolean=true] Create good looking materials
|
|
enhance_materials: true
|
|
# [boolean=true] Reuse materials
|
|
merge_materials: true
|
|
# [string='SMART'] [NONE,SMART,ALL] The plug-in can add nice looking solder joints.
|
|
# This option controls if we add it for none, all or only for THT/SMD pads with solder paste
|
|
solder_joints: 'SMART'
|
|
# [boolean=true] Move the sub-PCBs to their relative position
|
|
stack_boards: true
|
|
# [number=1016.0] [508-2032] Texture density in dots per inch
|
|
texture_dpi: 1016.0
|
|
# [dict|list(dict)] How the object is viewed by the camera
|
|
point_of_view:
|
|
# [string=''] String to differentiate the name of this point of view.
|
|
# When empty we use the `default_file_id` or the `view`
|
|
- file_id: ''
|
|
# [number=0] Angle to rotate the board in the X axis, positive is clockwise [degrees]
|
|
rotate_x: 0
|
|
# [number=0] Angle to rotate the board in the Y axis, positive is clockwise [degrees]
|
|
rotate_y: 0
|
|
# [number=0] Angle to rotate the board in the Z axis, positive is clockwise [degrees]
|
|
rotate_z: 0
|
|
# [number=1] [1-1000] Generate this amount of steps using the rotation angles as increments.
|
|
# Use a value of 1 (default) to interpret the angles as absolute.
|
|
# Used for animations. You should define the `default_file_id` to something like
|
|
# '_%03d' to get the animation frames
|
|
steps: 1
|
|
# [string='top'] [top,bottom,front,rear,right,left,z,Z,y,Y,x,X] Point of view.
|
|
# Compatible with `render_3d`
|
|
view: 'top'
|
|
# [dict] Controls how the render is done for the `render` output type
|
|
render_options:
|
|
# [boolean=false] When enabled the image will be post-processed to remove the empty space around the image.
|
|
# In this mode the `background2` is changed to be the same as `background1`
|
|
auto_crop: false
|
|
# [string='#66667F'] First color for the background gradient
|
|
background1: '#66667F'
|
|
# [string='#CCCCE5'] Second color for the background gradient
|
|
background2: '#CCCCE5'
|
|
# `height` is an alias for `resolution_y`
|
|
# [boolean=false] Used to disable the render denoiser on old hardware, or when the functionality isn't compiled.
|
|
# Note that the impact in quality is huge, you should increase the amount of samples 10 times
|
|
no_denoiser: false
|
|
# [number=1280] Width of the image
|
|
resolution_x: 1280
|
|
# [number=720] Height of the image
|
|
resolution_y: 720
|
|
# [number=10] How many samples we create. Each sample is a raytracing render.
|
|
# Use 1 for a raw preview, 10 for a draft and 100 or more for the final render
|
|
samples: 10
|
|
# [boolean=false] Make the background transparent
|
|
transparent_background: false
|
|
# `width` is an alias for `resolution_x`
|
|
# BoardView:
|
|
# This format allows simple pads and connections navigation, mainly for circuit debug.
|
|
# The output can be loaded using Open Board View (https://openboardview.org/)
|
|
- name: 'boardview_example'
|
|
comment: 'Exports the PCB in board view format.'
|
|
type: 'boardview'
|
|
dir: 'Example/boardview_dir'
|
|
options:
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=boardview, %x=brd). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Board variant to apply.
|
|
# Used for sub-PCBs
|
|
variant: ''
|
|
# BoM (Bill of Materials):
|
|
# This output can generate XYRS files (pick and place files).
|
|
# Is compatible with KiBoM, but doesn't need to update the XML netlist because the components
|
|
# are loaded from the schematic.
|
|
# Important differences with KiBoM output:
|
|
# - All options are in the main `options` section, not in `conf` subsection.
|
|
# - The `Component` column is named `Row` and works just like any other column.
|
|
# This output is what you get from the 'Tools/Generate Bill of Materials' menu in eeschema.
|
|
- name: 'bom_example'
|
|
comment: 'Used to generate the BoM in CSV, HTML, TSV, TXT, XML or XLSX format using the internal BoM.'
|
|
type: 'bom'
|
|
dir: 'Example/bom_dir'
|
|
options:
|
|
# [list(dict)] Add components from other projects.
|
|
# You can use CSV files, the first row must contain the names of the fields.
|
|
# The `Reference` and `Value` are mandatory, in most cases `Part` is also needed.
|
|
# The `Part` column should contain the name/type of the component. This is important for
|
|
# passive components (R, L, C, etc.). If this information isn't available consider
|
|
# configuring the grouping to exclude the `Part`.
|
|
aggregate:
|
|
# [string=','] Delimiter used for CSV files
|
|
- delimiter: ','
|
|
# [string=''] Name of the schematic to aggregate
|
|
file: ''
|
|
# [string=''] Name to identify this source. If empty we use the name of the schematic
|
|
name: ''
|
|
# [number=1] Number of boards to build (components multiplier). Use negative to subtract
|
|
number: 1
|
|
# [string=''] A prefix to add to all the references from this project
|
|
ref_id: ''
|
|
# [boolean=true] Always use positive values for the footprint rotation
|
|
angle_positive: true
|
|
# [boolean=false] Use negative X coordinates for footprints on bottom layer (for XYRS)
|
|
bottom_negative_x: false
|
|
# [list(dict)|list(string)] List of columns to display.
|
|
# Can be just the name of the field
|
|
columns:
|
|
# [string=''] Used as explanation for this column. The XLSX output uses it
|
|
- comment: ''
|
|
# [string=''] Name of the field to use for this column.
|
|
# Use `_field_lcsc_part` to get the value defined in the global options
|
|
field: 'Row'
|
|
# [list(dict)|list(string)|string=''] List of fields to join to this column
|
|
join:
|
|
# [string=''] Name of the field
|
|
- field: 'Voltage'
|
|
# [string=''] Text to use instead of a field. This option is incompatible with the `field` option.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text: ''
|
|
# [string=''] Text to add after the field content. Will be added only if the field isn't empty.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text_after: ''
|
|
# [string=''] Text to add before the field content. Will be added only if the field isn't empty.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text_before: ''
|
|
# [number=0] Used to group columns. The XLSX output uses it to collapse columns
|
|
level: 0
|
|
# [string=''] Name to display in the header. The field is used when empty
|
|
name: 'Line'
|
|
# [list(list(string))] A series of values which are considered to be equivalent for the part name.
|
|
# Each entry is a list of equivalen names. Example: ['c', 'c_small', 'cap' ]
|
|
# will ensure the equivalent capacitor symbols can be grouped together.
|
|
# If empty the following aliases are used:
|
|
# - ['r', 'r_small', 'res', 'resistor']
|
|
# - ['l', 'l_small', 'inductor']
|
|
# - ['c', 'c_small', 'cap', 'capacitor']
|
|
# - ['sw', 'switch']
|
|
# - ['zener', 'zenersmall']
|
|
# - ['d', 'diode', 'd_small']
|
|
component_aliases: [['r', 'r_small', 'res', 'resistor'], ['l', 'l_small', 'inductor'], ['c', 'c_small', 'cap', 'capacitor'], ['sw', 'switch'], ['zener', 'zenersmall'], ['d', 'diode', 'd_small']]
|
|
# [list(dict)|list(string)] List of columns to add to the global section of the cost.
|
|
# Can be just the name of the field
|
|
cost_extra_columns:
|
|
# [string=''] Used as explanation for this column. The XLSX output uses it
|
|
- comment: ''
|
|
# [string=''] Name of the field to use for this column.
|
|
# Use `_field_lcsc_part` to get the value defined in the global options
|
|
field: 'Row'
|
|
# [list(dict)|list(string)|string=''] List of fields to join to this column
|
|
join:
|
|
# [string=''] Name of the field
|
|
- field: 'Voltage'
|
|
# [string=''] Text to use instead of a field. This option is incompatible with the `field` option.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text: ''
|
|
# [string=''] Text to add after the field content. Will be added only if the field isn't empty.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text_after: ''
|
|
# [string=''] Text to add before the field content. Will be added only if the field isn't empty.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text_before: ''
|
|
# [number=0] Used to group columns. The XLSX output uses it to collapse columns
|
|
level: 0
|
|
# [string=''] Name to display in the header. The field is used when empty
|
|
name: 'Line'
|
|
# [boolean=false] Show the stats about how many of the components are SMD/THT. You must provide the PCB
|
|
count_smd_tht: false
|
|
# [dict] Options for the CSV, TXT and TSV formats
|
|
csv:
|
|
# [boolean=false] Hide the header line (names of the columns)
|
|
hide_header: false
|
|
# [boolean=false] Hide project information
|
|
hide_pcb_info: false
|
|
# [boolean=false] Hide statistics information
|
|
hide_stats_info: false
|
|
# [boolean=false] Enclose all values using double quotes
|
|
quote_all: false
|
|
# [string=','] CSV Separator. TXT and TSV always use tab as delimiter.
|
|
# Only one character can be specified
|
|
separator: ','
|
|
# [string|list(string)] Include this distributors list. Default is all the available
|
|
distributors:
|
|
# [string|list(string)='_kibom_dnc'] Name of the filter to mark components as 'Do Not Change'.
|
|
# The default filter marks components with a DNC value or DNC in the Config field.
|
|
# This option is for simple cases, consider using a full variant for complex cases
|
|
dnc_filter: '_kibom_dnc'
|
|
# [string|list(string)='_kibom_dnf'] Name of the filter to mark components as 'Do Not Fit'.
|
|
# The default filter marks components with a DNF value or DNF in the Config field.
|
|
# This option is for simple cases, consider using a full variant for complex cases
|
|
dnf_filter: '_kibom_dnf'
|
|
# [string|list(string)='_mechanical'] Name of the filter to exclude components from BoM processing.
|
|
# The default filter excludes test points, fiducial marks, mounting holes, etc.
|
|
# This option is for simple cases, consider using a full variant for complex cases
|
|
exclude_filter: '_mechanical'
|
|
# [boolean=false] Exclude components marked with *Exclude from BOM* in the PCB.
|
|
# This is a KiCad 6 option
|
|
exclude_marked_in_pcb: false
|
|
# [boolean=true] Exclude components marked with *Exclude from bill of materials* in the schematic.
|
|
# This is a KiCad 6 option
|
|
exclude_marked_in_sch: true
|
|
# [boolean=true] Expand KiCad 6 text variables after applying all filters and variants.
|
|
# This is done using a **_expand_text_vars** filter.
|
|
# If you need to customize the filter, or apply it before, you can disable this option and
|
|
# add a custom filter to the filter chain
|
|
expand_text_vars: true
|
|
# [string='Config'] Field name used for internal filters (not for variants)
|
|
fit_field: 'Config'
|
|
# [string|list(string)='no,yes'] Values for the `Footprint Populate` column
|
|
footprint_populate_values: 'no,yes'
|
|
# [string|list(string)='SMD,THT,VIRTUAL'] Values for the `Footprint Type` column
|
|
footprint_type_values: 'SMD,THT,VIRTUAL'
|
|
# [string=''] [HTML,CSV,TXT,TSV,XML,XLSX,HRTXT] format for the BoM.
|
|
# Defaults to CSV or a guess according to the options.
|
|
# HRTXT stands for Human Readable TeXT
|
|
format: 'CSV'
|
|
# [boolean=true] Connectors with the same footprints will be grouped together, independent of the name of the connector
|
|
group_connectors: true
|
|
# [list(string)] List of fields used for sorting individual components into groups.
|
|
# Components which match (comparing *all* fields) will be grouped together.
|
|
# Field names are case-insensitive.
|
|
# For empty fields the behavior is defined by the `group_fields_fallbacks`, `merge_blank_fields` and
|
|
# `merge_both_blank` options.
|
|
# Note that for resistors, capacitors and inductors the _Value_ field is parsed and qualifiers, like
|
|
# tolerance, are discarded. Please use a separated field and disable `merge_blank_fields` if this
|
|
# information is important. You can also disable `parse_value`.
|
|
# If empty: ['Part', 'Part Lib', 'Value', 'Footprint', 'Footprint Lib',
|
|
# 'Voltage', 'Tolerance', 'Current', 'Power'] is used
|
|
group_fields: ['part', 'part lib', 'value', 'footprint', 'footprint lib', 'voltage', 'tolerance', 'current', 'power']
|
|
# [list(string)] List of fields to be used when the fields in `group_fields` are empty.
|
|
# The first field in this list is the fallback for the first in `group_fields`, and so on
|
|
group_fields_fallbacks:
|
|
# [dict] Options for the HRTXT formats
|
|
hrtxt:
|
|
# [string='-'] Separator between the header and the data
|
|
header_sep: '-'
|
|
# [boolean=false] Hide the header line (names of the columns)
|
|
hide_header: false
|
|
# [boolean=false] Hide project information
|
|
hide_pcb_info: false
|
|
# [boolean=false] Hide statistics information
|
|
hide_stats_info: false
|
|
# [string='left'] [left,right,center] Text justification
|
|
justify: 'left'
|
|
# [string='I'] Column Separator
|
|
separator: 'I'
|
|
# [dict] Options for the HTML format
|
|
html:
|
|
# [boolean=true] Use colors to show the field type
|
|
col_colors: true
|
|
# [string=''] Column with links to the datasheet
|
|
datasheet_as_link: ''
|
|
# [string|list(string)=''] Column/s containing Digi-Key part numbers, will be linked to web page
|
|
digikey_link: ''
|
|
# [string|list(string)=''] Information to put after the title and before the pcb and stats info
|
|
extra_info: ''
|
|
# [boolean=true] Generate a separated section for DNF (Do Not Fit) components
|
|
generate_dnf: true
|
|
# [boolean=false] Hide project information
|
|
hide_pcb_info: false
|
|
# [boolean=false] Hide statistics information
|
|
hide_stats_info: false
|
|
# [boolean=true] Use a color for empty cells. Applies only when `col_colors` is `true`
|
|
highlight_empty: true
|
|
# [boolean|string|list(string)=''] Column/s containing LCSC part numbers, will be linked to web page.
|
|
# Use **true** to copy the value indicated by the `field_lcsc_part` global option
|
|
lcsc_link: ''
|
|
# [string|boolean=''] PNG file to use as logo, use false to remove
|
|
logo: ''
|
|
# [string|list(string)=''] Column/s containing Mouser part numbers, will be linked to web page
|
|
mouser_link: ''
|
|
# [string='modern-blue'] Page style. Internal styles: modern-blue, modern-green, modern-red and classic.
|
|
# Or you can provide a CSS file name. Please use .css as file extension.
|
|
style: 'modern-blue'
|
|
# [string='KiBot Bill of Materials'] BoM title
|
|
title: 'KiBot Bill of Materials'
|
|
# [boolean=true] Exclude DNF (Do Not Fit) components
|
|
ignore_dnf: true
|
|
# [boolean=true] Component quantities are always expressed as integers. Using the ceil() function
|
|
int_qtys: true
|
|
# [boolean=true] Component groups with blank fields will be merged into the most compatible group, where possible
|
|
merge_blank_fields: true
|
|
# [boolean=true] When creating groups two components with empty/missing field will be interpreted as with the same value
|
|
merge_both_blank: true
|
|
# [list(string)] List of fields where we tolerate conflicts.
|
|
# Use it to avoid undesired warnings.
|
|
# By default the field indicated in `fit_field`, the field used for variants and
|
|
# the field `part` are excluded
|
|
no_conflict: ['Config', 'Part']
|
|
# [string|list(string)] Exclude this distributors list. They are removed after computing `distributors`
|
|
no_distributors:
|
|
# [boolean=false] When normalizing values use the locale decimal point
|
|
normalize_locale: false
|
|
# [boolean=false] Try to normalize the R, L and C values, producing uniform units and prefixes
|
|
normalize_values: false
|
|
# [number=1] Number of boards to build (components multiplier)
|
|
number: 1
|
|
# [string='%f-%i%I%v.%x'] filename for the output (%i=bom). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=true] Parse the `Value` field so things like *1k* and *1000* are interpreted as equal.
|
|
# Note that this implies that *1k 1%* is the same as *1k 5%*. If you really need to group using the
|
|
# extra information split it in separated fields, add the fields to `group_fields` and disable
|
|
# `merge_blank_fields`
|
|
parse_value: true
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# This option is for simple cases, consider using a full variant for complex cases
|
|
pre_transform: '_none'
|
|
# [string=''] A prefix to add to all the references from this project. Used for multiple projects
|
|
ref_id: ''
|
|
# [string=' '] Separator used for the list of references
|
|
ref_separator: ' '
|
|
# [string='type_value'] [type_value,type_value_ref,ref] Sorting criteria
|
|
sort_style: 'type_value'
|
|
# [boolean=false] Generate the `Source BoM` column using the reference ID instead of the project name
|
|
source_by_id: false
|
|
# [string='millimeters'] [millimeters,inches,mils] Units used for the positions ('Footprint X' and 'Footprint Y' columns).
|
|
# Affected by global options
|
|
units: 'millimeters'
|
|
# [boolean=false] Print grouped references in the alternate compressed style eg: R1-R7,R18
|
|
use_alt: false
|
|
# [boolean=true] Use the auxiliary axis as origin for coordinates (KiCad default) (for XYRS)
|
|
use_aux_axis_as_origin: true
|
|
# [string=''] Board variant, used to determine which components
|
|
# are output to the BoM.
|
|
variant: ''
|
|
# [dict] Options for the XLSX format
|
|
xlsx:
|
|
# [boolean=true] Use colors to show the field type
|
|
col_colors: true
|
|
# [string=''] Column with links to the datasheet
|
|
datasheet_as_link: ''
|
|
# [string|list(string)=''] Column/s containing Digi-Key part numbers, will be linked to web page
|
|
digikey_link: ''
|
|
# [string|list(string)=''] Information to put after the title and before the pcb and stats info
|
|
extra_info: ''
|
|
# [boolean=true] Generate a separated section for DNF (Do Not Fit) components
|
|
generate_dnf: true
|
|
# [boolean=false] Hide project information
|
|
hide_pcb_info: false
|
|
# [boolean=false] Hide statistics information
|
|
hide_stats_info: false
|
|
# [boolean=true] Use a color for empty cells. Applies only when `col_colors` is `true`
|
|
highlight_empty: true
|
|
# [boolean=false] Enable KiCost worksheet creation.
|
|
# Note: an example of how to use it on CI/CD can be found [here](https://github.com/set-soft/kicost_ci_test)
|
|
kicost: false
|
|
# [string|list(string)=''] List of KiCost APIs to disable
|
|
kicost_api_disable: ''
|
|
# [string|list(string)=''] List of KiCost APIs to enable
|
|
kicost_api_enable: ''
|
|
# [string=''] KiCost configuration file. It contains the keys for the different distributors APIs.
|
|
# The regular KiCost config is used when empty.
|
|
# Important for CI/CD environments: avoid exposing your API secrets!
|
|
# To understand how to achieve this, and also how to make use of the cache please visit the
|
|
# [kicost_ci_test](https://github.com/set-soft/kicost_ci_test) repo
|
|
kicost_config: ''
|
|
# [boolean=false] Used to add a column with the distributor's description. So you can check this is the right component
|
|
kicost_dist_desc: false
|
|
# [boolean|string|list(string)=''] Column/s containing LCSC part numbers, will be linked to web page.
|
|
# Use **true** to copy the value indicated by the `field_lcsc_part` global option
|
|
lcsc_link: ''
|
|
# [string|boolean=''] PNG file to use as logo, use false to remove
|
|
logo: ''
|
|
# [number=2] Scaling factor for the logo. Note that this value isn't honored by all spreadsheet software
|
|
logo_scale: 2
|
|
# [number=60] [20,999] Maximum column width (characters)
|
|
max_col_width: 60
|
|
# [string|list(string)=''] Column/s containing Mouser part numbers, will be linked to web page
|
|
mouser_link: ''
|
|
# [boolean=false] Enable Specs worksheet creation. Contains specifications for the components.
|
|
# Works with only some KiCost APIs
|
|
specs: false
|
|
# [list(dict)|list(string)] Which columns are included in the Specs worksheet. Use `References` for the
|
|
# references, 'Row' for the order and 'Sep' to separate groups at the same level. By default all are included.
|
|
# Column names are distributor specific, the following aren't: '_desc', '_value', '_tolerance', '_footprint',
|
|
# '_power', '_current', '_voltage', '_frequency', '_temp_coeff', '_manf', '_size'
|
|
specs_columns:
|
|
# [string=''] Used as explanation for this column. The XLSX output uses it
|
|
- comment: ''
|
|
# [string=''] Name of the field to use for this column.
|
|
# Use `_field_lcsc_part` to get the value defined in the global options
|
|
field: 'Row'
|
|
# [list(dict)|list(string)|string=''] List of fields to join to this column
|
|
join:
|
|
# [string=''] Name of the field
|
|
- field: 'Voltage'
|
|
# [string=''] Text to use instead of a field. This option is incompatible with the `field` option.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text: ''
|
|
# [string=''] Text to add after the field content. Will be added only if the field isn't empty.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text_after: ''
|
|
# [string=''] Text to add before the field content. Will be added only if the field isn't empty.
|
|
# Any space to separate it should be added in the text.
|
|
# Use \n for newline and \t for tab
|
|
text_before: ''
|
|
# [number=0] Used to group columns. The XLSX output uses it to collapse columns
|
|
level: 0
|
|
# [string=''] Name to display in the header. The field is used when empty
|
|
name: 'Line'
|
|
# [string='modern-blue'] Head style: modern-blue, modern-green, modern-red and classic
|
|
style: 'modern-blue'
|
|
# [string='KiBot Bill of Materials'] BoM title
|
|
title: 'KiBot Bill of Materials'
|
|
# Archiver (files compressor):
|
|
# This is used to generate groups of files in compressed file format.
|
|
- name: 'compress_example'
|
|
comment: 'Generates a compressed file containing output files.'
|
|
type: 'compress'
|
|
dir: 'Example/compress_dir'
|
|
options:
|
|
# [string='auto'] [auto,stored,deflated,bzip2,lzma] Compression algorithm. Use auto to let KiBot select a suitable one
|
|
compression: 'auto'
|
|
# [list(dict)] Which files will be included
|
|
files:
|
|
# [string=''] Destination directory inside the archive, empty means the same of the file
|
|
- dest: ''
|
|
# [string='.*'] A regular expression that source files must match
|
|
filter: '.*'
|
|
# [boolean=false] Use the current working directory instead of the dir specified by `-d`
|
|
from_cwd: false
|
|
# [string=''] Collect files from the selected output.
|
|
# When used the `source` option is ignored
|
|
from_output: ''
|
|
# [boolean=false] Use the current directory specified by the output instead of the dir specified by `-d`.
|
|
# Note that it only applies when using `from_output` and no `dest` is specified.
|
|
# It has more prescedence than `from_cwd`
|
|
from_output_dir: false
|
|
# [string='*'] File names to add, wildcards allowed. Use ** for recursive match.
|
|
# By default this pattern is applied to the output dir specified with `-d` command line option.
|
|
# See the `from_cwd` and `from_output_dir` options
|
|
source: '*'
|
|
# [boolean=true] Store the file pointed by symlinks, not the symlink
|
|
follow_links: true
|
|
# [string='ZIP'] [ZIP,TAR,RAR] Output file format
|
|
format: 'ZIP'
|
|
# [boolean=false] Move the files to the archive. In other words: remove the files after adding them to the archive
|
|
move_files: false
|
|
# [string='%f-%i%I%v.%x'] Name for the generated archive (%i=name of the output %x=according to format). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# `remove_files` is an alias for `move_files`
|
|
# [boolean=false] Skip outputs with `run_by_default: false`
|
|
skip_not_run: false
|
|
# Files copier:
|
|
# Useful when an external tool is used to compress the output directory.
|
|
# Note that you can use the `compress` output to create archives
|
|
- name: 'copy_files_example'
|
|
comment: 'Used to copy files to the output directory.'
|
|
type: 'copy_files'
|
|
dir: 'Example/copy_files_dir'
|
|
options:
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Downloads missing 3D models from KiCad git.
|
|
# Only applies to models in KISYS3DMOD and KICAD6_3DMODEL_DIR.
|
|
# They are downloaded to a temporal directory and discarded.
|
|
# If you want to cache the downloaded files specify a directory using the
|
|
# KIBOT_3D_MODELS environment variable
|
|
download: true
|
|
# [boolean=true] In addition to try to download the 3D models from KiCad git also try to get
|
|
# them from LCSC database. In order to work you'll need to provide the LCSC
|
|
# part number. The field containing the LCSC part number is defined by the
|
|
# `field_lcsc_part` global variable
|
|
download_lcsc: true
|
|
# [list(dict)] Which files will be included
|
|
files:
|
|
# [string=''] Destination directory inside the output dir, empty means the same of the file
|
|
# relative to the source directory.
|
|
# Note that when you specify a name here files are copied to this destination
|
|
# without creating subdirs. The `project` mode is an exception.
|
|
# For the `3d_models` type you can use DIR+ to create subdirs under DIR
|
|
- dest: ''
|
|
# [string='.*'] A regular expression that source files must match.
|
|
# Not used for the `project` mode
|
|
filter: '.*'
|
|
# [boolean=false] Only usable for the `3d_models` mode.
|
|
# Save a PCB copy modified to use the copied 3D models.
|
|
# You don't need to specify it for `project` mode
|
|
save_pcb: false
|
|
# [string='*'] For the `files` and `out_files` mode this is th file names to add,
|
|
# wildcards allowed. Use ** for recursive match.
|
|
# For the `output` mode this is the name of the output.
|
|
# For the `3d_models` is a pattern to match the name of the 3D models extracted from the PCB.
|
|
# Not used for the `project` mode
|
|
source: '*'
|
|
# [string='files'] [files,out_files,output,3d_models,project] From where do we get the files to be copied.
|
|
# `files`: files relative to the current working directory.
|
|
# `out_files`: files relative to output dir specified with `-d` command line option.
|
|
# `output`: files generated by the output specified by `source`.
|
|
# `3d_models`: 3D models used in the project.
|
|
# `project`: schematic, PCB, footprints, symbols, 3D models and project files (KiCad 6+)
|
|
source_type: 'files'
|
|
# [boolean=true] Store the file pointed by symlinks, not the symlink
|
|
follow_links: true
|
|
# [string='https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'] Base URL for the KiCad 3D models
|
|
kicad_3d_url: 'https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'
|
|
# [string=''] Text added to the end of the download URL.
|
|
# Can be used to pass variables to the GET request, i.e. ?VAR1=VAL1&VAR2=VAL2
|
|
kicad_3d_url_suffix: ''
|
|
# [boolean=false] Create symlinks instead of copying files
|
|
link_no_copy: false
|
|
# [boolean=false] Used to exclude 3D models for components with 'virtual' attribute
|
|
no_virtual: false
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# Diff:
|
|
# Recursive git submodules aren't supported (submodules inside submodules)
|
|
- name: 'diff_example'
|
|
comment: 'Generates a PDF with the differences between two PCBs or schematics.'
|
|
type: 'diff'
|
|
dir: 'Example/diff_dir'
|
|
options:
|
|
# [boolean=false] When enabled we create a symlink to the output file with a name that contains the
|
|
# git hashes involved in the comparison. If you plan to compress the output don't
|
|
# forget to disable the `follow_links` option
|
|
add_link_id: false
|
|
# [boolean=false] Always fail if the old/new file doesn't exist. Currently we don't fail if they are from a repo.
|
|
# So if you refer to a repo point where the file wasn't created KiBot will use an empty file.
|
|
# Enabling this option KiBot will report an error
|
|
always_fail_if_missing: false
|
|
# [string=''] Directory to cache the intermediate files. Leave it blank to disable the cache
|
|
cache_dir: ''
|
|
# [string='#00FF00'] Color used for the added stuff in the '2color' mode
|
|
color_added: '#00FF00'
|
|
# [string='#FF0000'] Color used for the removed stuff in the '2color' mode
|
|
color_removed: '#FF0000'
|
|
# [boolean=false] Modifies the behavior of `add_link_id` to create a copy of the file instead of a
|
|
# symlink. Useful for some Windows setups
|
|
copy_instead_of_link: false
|
|
# [string='red_green'] [red_green,stats,2color] In the `red_green` mode added stuff is green and red when removed.
|
|
# The `stats` mode is used to measure the amount of difference. In this mode all
|
|
# changes are red, but you can abort if the difference is bigger than certain threshold.
|
|
# The '2color' mode is like 'red_green', but you can customize the colors
|
|
diff_mode: 'red_green'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=false] When `old_type` and/or `new_type` are `git` KiBot will checkout the indicated point.
|
|
# Before doing it KiBot will stash any change. Under some circumstances git could fail
|
|
# to do a checkout, even after stashing, this option can workaround the problem.
|
|
# Note that using it you could potentially lose modified files. For more information
|
|
# read https://stackoverflow.com/questions/1248029/git-pull-error-entry-foo-not-uptodate-cannot-merge
|
|
force_checkout: false
|
|
# [number=5] [0,100] Color tolerance (fuzzyness) for the `stats` mode
|
|
fuzz: 5
|
|
# [string|list(string)] The file you want to compare. Leave it blank for the current PCB/SCH.
|
|
# A list is accepted only for the `multivar` type. Consult the `old` option for more information
|
|
new: ''
|
|
# [string='current'] [git,file,output,multivar,current] How to interpret the `new` name. Use `git` for a git hash, branch, etc.
|
|
# Use `current` for the currently loaded PCB/Schematic.
|
|
# Use `file` for a file name. Use `output` to specify the name of a `pcb_variant`/`sch_variant` output.
|
|
# Use `multivar` to compare a set of variants, in this mode `new` is the list of outputs for the variants.
|
|
# This is an extension of the `output` mode.
|
|
# If `old` is also `multivar` then it becomes the reference, otherwise we compare using pairs of variants
|
|
new_type: 'current'
|
|
# [string='HEAD'] Reference file. When using git use `HEAD` to refer to the last commit.
|
|
# Use `HEAD~` to refer the previous to the last commit.
|
|
# As `HEAD` is for the whole repo you can use `KIBOT_LAST-n` to make
|
|
# reference to the changes in the PCB/SCH. The `n` value is how many
|
|
# changes in the history you want to go back. A 0 is the same as `HEAD`,
|
|
# a 1 means the last time the PCB/SCH was changed, etc.
|
|
# Use `KIBOT_TAG-n` to search for the last tag skipping `n` tags.
|
|
# Important: when using the `checkout` GitHub action you just get the
|
|
# last commit. To clone the full repo use `fetch-depth: '0'`
|
|
old: 'HEAD'
|
|
# [string='git'] [git,file,output,multivar] How to interpret the `old` name. Use `git` for a git hash, branch, etc.
|
|
# Use `file` for a file name. Use `output` to specify the name of a `pcb_variant`/`sch_variant` output.
|
|
# Use `multivar` to specify a reference file when `new_type` is also `multivar`
|
|
old_type: 'git'
|
|
# [boolean=false] Only include the pages with differences in the output PDF.
|
|
# Note that when no differences are found we get a page saying *No diff*
|
|
only_different: false
|
|
# [boolean=false] Compare only the main schematic page (root page)
|
|
only_first_sch_page: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=diff_pcb/diff_sch, %x=pdf). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=true] Compare the PCB, otherwise compare the schematic
|
|
pcb: true
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=0] [0,1000000] Error threshold for the `stats` mode, 0 is no error. When specified a
|
|
# difference bigger than the indicated value will make the diff fail.
|
|
# KiBot will return error level 29 and the diff generation will be aborted
|
|
threshold: 0
|
|
# [boolean=false] When creating the link name of an output file related to a variant use the variant
|
|
# `file_id` instead of its name
|
|
use_file_id: false
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# [string='global'] [global,fill,unfill,none] How to handle PCB zones. The default is *global* and means that we
|
|
# fill zones if the *check_zone_fills* preflight is enabled. The *fill* option always forces
|
|
# a refill, *unfill* forces a zone removal and *none* lets the zones unchanged.
|
|
# Be careful with the cache when changing this setting
|
|
zones: 'global'
|
|
layers: all
|
|
# Datasheets downloader:
|
|
- name: 'download_datasheets_example'
|
|
comment: 'Downloads the datasheets for the project'
|
|
type: 'download_datasheets'
|
|
dir: 'Example/download_datasheets_dir'
|
|
options:
|
|
# [boolean=false] Include the DNF components
|
|
dnf: false
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='Datasheet'] Name of the field containing the URL
|
|
field: 'Datasheet'
|
|
# [boolean=true] Instead of download things we already downloaded use symlinks
|
|
link_repeated: true
|
|
# [string='${VALUE}.pdf'] Name used for the downloaded datasheet.
|
|
# `${FIELD}` will be replaced by the FIELD content
|
|
output: '${VALUE}.pdf'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=false] Download URLs that we already downloaded.
|
|
# It only makes sense if the `output` field makes their output different
|
|
repeated: false
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# DXF (Drawing Exchange Format):
|
|
# This output is what you get from the File/Plot menu in pcbnew.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'dxf_example'
|
|
comment: 'Exports the PCB to 2D mechanical EDA tools (like AutoCAD).'
|
|
type: 'dxf'
|
|
dir: 'Example/dxf_dir'
|
|
options:
|
|
# [list(dict)] A list of customized reports for the manufacturer
|
|
custom_reports:
|
|
# [string=''] Content for the report. Use `${basename}` for the project name without extension.
|
|
# Use `${filename(LAYER)}` for the file corresponding to LAYER
|
|
- content: ''
|
|
# [string='Custom_report.txt'] File name for the custom report
|
|
output: 'Custom_report.txt'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='full'] [none,small,full] What to use to indicate the drill places, can be none, small or full (for real scale)
|
|
drill_marks: 'full'
|
|
# [string=''] Used to configure the edge cuts layer extension for Protel mode. Include the dot
|
|
edge_cut_extension: ''
|
|
# [boolean=true] Do not include the PCB edge layer
|
|
exclude_edge_layer: true
|
|
# [boolean=false] Do not plot the component pads in the silk screen (KiCad 5.x only)
|
|
exclude_pads_from_silkscreen: false
|
|
# [boolean=false] Include references and values even when they are marked as invisible
|
|
force_plot_invisible_refs_vals: false
|
|
# [boolean=true] Tell KiCad to apply the scaling for each layer as a separated entity.
|
|
# Disabling it the pages are coherent and can be superposed
|
|
individual_page_scaling: true
|
|
# [string=''] Used to change the Protel style extensions for inner layers.
|
|
# The replacement pattern can contain %n for the inner layer number and %N for the layer number.
|
|
# Example '.g%n'
|
|
inner_extension_pattern: ''
|
|
# [boolean=false] Use mm instead of inches
|
|
metric_units: false
|
|
# [string='%f-%i%I%v.%x'] Output file name, the default KiCad name if empty.
|
|
# IMPORTANT! KiCad will always create the file using its own name and then we can rename it.
|
|
# For this reason you must avoid generating two variants at the same directory when one of
|
|
# them uses the default KiCad name. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=true] Include the footprint references
|
|
plot_footprint_refs: true
|
|
# [boolean=true] Include the footprint values
|
|
plot_footprint_values: true
|
|
# [boolean=false] Include the frame and title block. Only available for KiCad 6+ and you get a poor result
|
|
# (i.e. always the default worksheet style, also problems expanding text variables).
|
|
# The `pcb_print` output can do a better job for PDF, SVG, PS, EPS and PNG outputs
|
|
plot_sheet_reference: false
|
|
# [boolean=true] Plot using the contour, instead of the center line.
|
|
# You must disable it to get the dimensions (See https://gitlab.com/kicad/code/kicad/-/issues/11901)
|
|
polygon_mode: true
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=1] Scale factor (0 means autoscaling)
|
|
scaling: 1
|
|
# [number=0.1] Line width for the sketched pads [mm], see `sketch_pads_on_fab_layers` (KiCad 6+)
|
|
# Note that this value is currently ignored by KiCad (6.0.9)
|
|
sketch_pad_line_width: 0.1
|
|
# [boolean=false] Draw only the outline of the pads on the *.Fab layers (KiCad 6+)
|
|
sketch_pads_on_fab_layers: false
|
|
# [boolean=false] Don't fill objects, just draw the outline
|
|
sketch_plot: false
|
|
# [boolean=true] Cover the vias
|
|
tent_vias: true
|
|
# [boolean=false] Use uppercase names for the extensions
|
|
uppercase_extensions: false
|
|
# [boolean=false] Use the auxiliary axis as origin for coordinates
|
|
use_aux_axis_as_origin: false
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
layers: all
|
|
# DXF Schematic Print (Drawing Exchange Format):
|
|
# This output is what you get from the 'File/Plot' menu in eeschema.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'dxf_sch_print_example'
|
|
comment: 'Exports the schematic to a format commonly used for CAD software.'
|
|
type: 'dxf_sch_print'
|
|
dir: 'Example/dxf_sch_print_dir'
|
|
options:
|
|
# [boolean=true] Generate with all hierarchical sheets
|
|
all_pages: true
|
|
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
|
background_color: false
|
|
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
|
color_theme: ''
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Include the frame and title block
|
|
frame: true
|
|
# [boolean=false] Generate a monochromatic output
|
|
monochrome: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output DXF (%i=schematic, %x=dxf). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply.
|
|
# Not fitted components are crossed
|
|
variant: ''
|
|
# Excellon drill format:
|
|
# You can create a map file for documentation purposes.
|
|
# This output is what you get from the 'File/Fabrication output/Drill Files' menu in pcbnew.
|
|
- name: 'excellon_example'
|
|
comment: 'This is the main format for the drilling machine.'
|
|
type: 'excellon'
|
|
dir: 'Example/excellon_dir'
|
|
options:
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [number=0] number of digits for integer part of coordinates (0 is auto)
|
|
left_digits: 0
|
|
# [dict|string] [hpgl,ps,gerber,dxf,svg,pdf] Format for a graphical drill map.
|
|
# Not generated unless a format is specified
|
|
map:
|
|
# [string='%f-%i%I%v.%x'] Name for the map file, KiCad defaults if empty (%i='PTH_drill_map'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string='pdf'] [hpgl,ps,gerber,dxf,svg,pdf] Format for a graphical drill map
|
|
type: 'pdf'
|
|
# [boolean=true] Use metric units instead of inches
|
|
metric_units: true
|
|
# [boolean=false] Use a minimal header in the file
|
|
minimal_header: false
|
|
# [boolean=false] Invert the Y axis
|
|
mirror_y_axis: false
|
|
# [string] Force this replacement for %i when generating NPTH files
|
|
npth_id: null
|
|
# [string='%f-%i%I%v.%x'] name for the drill file, KiCad defaults if empty (%i='PTH_drill'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=true] Generate one file for both, plated holes and non-plated holes, instead of two separated files
|
|
pth_and_npth_single_file: true
|
|
# [string] Force this replacement for %i when generating PTH and unified files
|
|
pth_id: null
|
|
# [dict|string] Name of the drill report. Not generated unless a name is specified
|
|
report:
|
|
# [string=''] Name of the drill report. Not generated unless a name is specified.
|
|
# (%i='drill_report' %x='txt')
|
|
filename: ''
|
|
# [number=0] number of digits for mantissa part of coordinates (0 is auto)
|
|
right_digits: 0
|
|
# [boolean=true] Use route command for oval holes (G00), otherwise use G85
|
|
route_mode_for_oval_holes: true
|
|
# [boolean=false] Use the auxiliary axis as origin for coordinates
|
|
use_aux_axis_as_origin: false
|
|
# [string=''] Board variant to apply.
|
|
# Used for sub-PCBs
|
|
variant: ''
|
|
# [string='DECIMAL_FORMAT'] [DECIMAL_FORMAT,SUPPRESS_LEADING,SUPPRESS_TRAILING,KEEP_ZEROS] How to handle the zeros
|
|
zeros_format: 'DECIMAL_FORMAT'
|
|
# GenCAD:
|
|
# This format is interpreted by some CADCAM software and helps certain
|
|
# manufacturers
|
|
- name: 'gencad_example'
|
|
comment: 'Exports the PCB in GENCAD format.'
|
|
type: 'gencad'
|
|
dir: 'Example/gencad_dir'
|
|
options:
|
|
# [boolean=false] Use auxiliary axis as origin
|
|
aux_origin: false
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=false] Flip bottom footprint padstacks
|
|
flip_bottom_padstacks: false
|
|
# [boolean=false] Generate a new shape for each footprint instance (Do not reuse shapes)
|
|
no_reuse_shapes: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=gencad, %x=cad). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=false] Save the origin coordinates in the file
|
|
save_origin: false
|
|
# [boolean=false] Generate unique pin names
|
|
unique_pin_names: false
|
|
# [string=''] Board variant to apply.
|
|
# Used for sub-PCBs
|
|
variant: ''
|
|
# Gerber drill format:
|
|
# You can create a map file for documentation purposes.
|
|
# This output is what you get from the 'File/Fabrication output/Drill Files' menu in pcbnew.
|
|
- name: 'gerb_drill_example'
|
|
comment: 'This is the information for the drilling machine in gerber format.'
|
|
type: 'gerb_drill'
|
|
dir: 'Example/gerb_drill_dir'
|
|
options:
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [dict|string] [hpgl,ps,gerber,dxf,svg,pdf] Format for a graphical drill map.
|
|
# Not generated unless a format is specified
|
|
map:
|
|
# [string='%f-%i%I%v.%x'] Name for the map file, KiCad defaults if empty (%i='PTH_drill_map'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string='pdf'] [hpgl,ps,gerber,dxf,svg,pdf] Format for a graphical drill map
|
|
type: 'pdf'
|
|
# [string] Force this replacement for %i when generating NPTH files
|
|
npth_id: null
|
|
# [string='%f-%i%I%v.%x'] name for the drill file, KiCad defaults if empty (%i='PTH_drill'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string] Force this replacement for %i when generating PTH and unified files
|
|
pth_id: null
|
|
# [dict|string] Name of the drill report. Not generated unless a name is specified
|
|
report:
|
|
# [string=''] Name of the drill report. Not generated unless a name is specified.
|
|
# (%i='drill_report' %x='txt')
|
|
filename: ''
|
|
# [boolean=false] Use the auxiliary axis as origin for coordinates
|
|
use_aux_axis_as_origin: false
|
|
# [string=''] Board variant to apply.
|
|
# Used for sub-PCBs
|
|
variant: ''
|
|
# Gerber format:
|
|
# This output is what you get from the File/Plot menu in pcbnew.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'gerber_example'
|
|
comment: 'This is the main fabrication format for the PCB.'
|
|
type: 'gerber'
|
|
dir: 'Example/gerber_dir'
|
|
options:
|
|
# [boolean=true] Creates a file with information about all the generated gerbers.
|
|
# You can use it in gerbview to load all gerbers at once
|
|
create_gerber_job_file: true
|
|
# [list(dict)] A list of customized reports for the manufacturer
|
|
custom_reports:
|
|
# [string=''] Content for the report. Use `${basename}` for the project name without extension.
|
|
# Use `${filename(LAYER)}` for the file corresponding to LAYER
|
|
- content: ''
|
|
# [string='Custom_report.txt'] File name for the custom report
|
|
output: 'Custom_report.txt'
|
|
# [boolean=false] Disable aperture macros (workaround for buggy CAM software) (KiCad 6)
|
|
disable_aperture_macros: false
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string=''] Used to configure the edge cuts layer extension for Protel mode. Include the dot
|
|
edge_cut_extension: ''
|
|
# [boolean=true] Do not include the PCB edge layer
|
|
exclude_edge_layer: true
|
|
# [boolean=false] Do not plot the component pads in the silk screen (KiCad 5.x only)
|
|
exclude_pads_from_silkscreen: false
|
|
# [boolean=false] Include references and values even when they are marked as invisible
|
|
force_plot_invisible_refs_vals: false
|
|
# [string='%f-%i%I%v.%x'] Name for the gerber job file (%i='job', %x='gbrjob'). Affected by global options
|
|
gerber_job_file: '%f-%i%I%v.%x'
|
|
# [number=4.6] This the gerber coordinate format, can be 4.5 or 4.6
|
|
gerber_precision: 4.6
|
|
# [string=''] Used to change the Protel style extensions for inner layers.
|
|
# The replacement pattern can contain %n for the inner layer number and %N for the layer number.
|
|
# Example '.g%n'
|
|
inner_extension_pattern: ''
|
|
# [number=0.1] [0.02,2] Line_width for objects without width [mm] (KiCad 5)
|
|
line_width: 0.1
|
|
# [string='%f-%i%I%v.%x'] Output file name, the default KiCad name if empty.
|
|
# IMPORTANT! KiCad will always create the file using its own name and then we can rename it.
|
|
# For this reason you must avoid generating two variants at the same directory when one of
|
|
# them uses the default KiCad name. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=true] Include the footprint references
|
|
plot_footprint_refs: true
|
|
# [boolean=true] Include the footprint values
|
|
plot_footprint_values: true
|
|
# [boolean=false] Include the frame and title block. Only available for KiCad 6+ and you get a poor result
|
|
# (i.e. always the default worksheet style, also problems expanding text variables).
|
|
# The `pcb_print` output can do a better job for PDF, SVG, PS, EPS and PNG outputs
|
|
plot_sheet_reference: false
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=0.1] Line width for the sketched pads [mm], see `sketch_pads_on_fab_layers` (KiCad 6+)
|
|
# Note that this value is currently ignored by KiCad (6.0.9)
|
|
sketch_pad_line_width: 0.1
|
|
# [boolean=false] Draw only the outline of the pads on the *.Fab layers (KiCad 6+)
|
|
sketch_pads_on_fab_layers: false
|
|
# [boolean=false] Subtract the solder mask from the silk screen
|
|
subtract_mask_from_silk: false
|
|
# [boolean=true] Cover the vias
|
|
tent_vias: true
|
|
# [boolean=false] Use uppercase names for the extensions
|
|
uppercase_extensions: false
|
|
# [boolean=false] Use the auxiliary axis as origin for coordinates
|
|
use_aux_axis_as_origin: false
|
|
# [boolean=true] Include netlist metadata
|
|
use_gerber_net_attributes: true
|
|
# [boolean=true] Use the extended X2 format (otherwise use X1 formerly RS-274X)
|
|
use_gerber_x2_attributes: true
|
|
# [boolean=false] Use legacy Protel file extensions
|
|
use_protel_extensions: false
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
layers: all
|
|
# HPGL (Hewlett & Packard Graphics Language):
|
|
# This output is what you get from the File/Plot menu in pcbnew.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'hpgl_example'
|
|
comment: 'Exports the PCB for plotters and laser printers.'
|
|
type: 'hpgl'
|
|
dir: 'Example/hpgl_dir'
|
|
options:
|
|
# [list(dict)] A list of customized reports for the manufacturer
|
|
custom_reports:
|
|
# [string=''] Content for the report. Use `${basename}` for the project name without extension.
|
|
# Use `${filename(LAYER)}` for the file corresponding to LAYER
|
|
- content: ''
|
|
# [string='Custom_report.txt'] File name for the custom report
|
|
output: 'Custom_report.txt'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='full'] [none,small,full] What to use to indicate the drill places, can be none, small or full (for real scale)
|
|
drill_marks: 'full'
|
|
# [string=''] Used to configure the edge cuts layer extension for Protel mode. Include the dot
|
|
edge_cut_extension: ''
|
|
# [boolean=true] Do not include the PCB edge layer
|
|
exclude_edge_layer: true
|
|
# [boolean=false] Do not plot the component pads in the silk screen (KiCad 5.x only)
|
|
exclude_pads_from_silkscreen: false
|
|
# [boolean=false] Include references and values even when they are marked as invisible
|
|
force_plot_invisible_refs_vals: false
|
|
# [boolean=true] Tell KiCad to apply the scaling for each layer as a separated entity.
|
|
# Disabling it the pages are coherent and can be superposed
|
|
individual_page_scaling: true
|
|
# [string=''] Used to change the Protel style extensions for inner layers.
|
|
# The replacement pattern can contain %n for the inner layer number and %N for the layer number.
|
|
# Example '.g%n'
|
|
inner_extension_pattern: ''
|
|
# [boolean=false] Plot mirrored
|
|
mirror_plot: false
|
|
# [string='%f-%i%I%v.%x'] Output file name, the default KiCad name if empty.
|
|
# IMPORTANT! KiCad will always create the file using its own name and then we can rename it.
|
|
# For this reason you must avoid generating two variants at the same directory when one of
|
|
# them uses the default KiCad name. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [number=1] [1,16] Pen number
|
|
pen_number: 1
|
|
# [number=20] [1,99] Pen speed
|
|
pen_speed: 20
|
|
# [number=15] [0,100] Pen diameter in MILS, useful to fill areas. However, it is in mm in HPGL files
|
|
pen_width: 15
|
|
# [boolean=true] Include the footprint references
|
|
plot_footprint_refs: true
|
|
# [boolean=true] Include the footprint values
|
|
plot_footprint_values: true
|
|
# [boolean=false] Include the frame and title block. Only available for KiCad 6+ and you get a poor result
|
|
# (i.e. always the default worksheet style, also problems expanding text variables).
|
|
# The `pcb_print` output can do a better job for PDF, SVG, PS, EPS and PNG outputs
|
|
plot_sheet_reference: false
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=0] Scale factor (0 means autoscaling)
|
|
scaling: 0
|
|
# [number=0.1] Line width for the sketched pads [mm], see `sketch_pads_on_fab_layers` (KiCad 6+)
|
|
# Note that this value is currently ignored by KiCad (6.0.9)
|
|
sketch_pad_line_width: 0.1
|
|
# [boolean=false] Draw only the outline of the pads on the *.Fab layers (KiCad 6+)
|
|
sketch_pads_on_fab_layers: false
|
|
# [boolean=false] Don't fill objects, just draw the outline
|
|
sketch_plot: false
|
|
# [boolean=true] Cover the vias
|
|
tent_vias: true
|
|
# [boolean=false] Use uppercase names for the extensions
|
|
uppercase_extensions: false
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
layers: all
|
|
# HPGL Schematic Print (Hewlett & Packard Graphics Language):
|
|
# This output is what you get from the 'File/Plot' menu in eeschema.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'hpgl_sch_print_example'
|
|
comment: 'Exports the schematic to the most common plotter format.'
|
|
type: 'hpgl_sch_print'
|
|
dir: 'Example/hpgl_sch_print_dir'
|
|
options:
|
|
# [boolean=true] Generate with all hierarchical sheets
|
|
all_pages: true
|
|
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
|
background_color: false
|
|
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
|
color_theme: ''
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Include the frame and title block
|
|
frame: true
|
|
# [boolean=false] Generate a monochromatic output
|
|
monochrome: false
|
|
# [string='bottom_left'] [bottom_left,centered,page_fit,content_fit] Origin and scale
|
|
origin: 'bottom_left'
|
|
# [string='%f-%i%I%v.%x'] Filename for the output HPGL (%i=schematic, %x=plt). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [number=0.4826] Pen size (diameter) [mm]
|
|
pen_size: 0.4826
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply.
|
|
# Not fitted components are crossed
|
|
variant: ''
|
|
# IBoM (Interactive HTML BoM):
|
|
# For more information: https://github.com/INTI-CMNB/InteractiveHtmlBom
|
|
# This output is what you get from the InteractiveHtmlBom plug-in (pcbnew).
|
|
- name: 'ibom_example'
|
|
comment: 'Generates an interactive web page useful to identify the position of the components in the PCB.'
|
|
type: 'ibom'
|
|
dir: 'Example/ibom_dir'
|
|
options:
|
|
# [string=''] List of comma separated blacklisted components or prefixes with *. E.g. 'X1,MH*'.
|
|
# IBoM option, avoid using in conjunction with KiBot variants/filters
|
|
blacklist: ''
|
|
# [boolean=false] Blacklist components with empty value.
|
|
# IBoM option, avoid using in conjunction with KiBot variants/filters
|
|
blacklist_empty_val: false
|
|
# [number=0] Board rotation in degrees (-180 to 180). Will be rounded to multiple of 5
|
|
board_rotation: 0
|
|
# [string='left-right'] [bom-only,left-right,top-bottom] Default BOM view
|
|
bom_view: 'left-right'
|
|
# [string='Sourced,Placed'] Comma separated list of checkbox columns
|
|
checkboxes: 'Sourced,Placed'
|
|
# [boolean=false] Default to dark mode
|
|
dark_mode: false
|
|
# [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.
|
|
# Avoid using it in conjunction with IBoM native filtering options
|
|
dnf_filter: '_none'
|
|
# [string=''] Name of the extra field that indicates do not populate status.
|
|
# Components with this field not empty will be blacklisted.
|
|
# IBoM option, avoid using in conjunction with KiBot variants/filters
|
|
dnp_field: ''
|
|
# [string=''] Path to netlist or xml file. You can use '%F.xml' to avoid specifying the project name.
|
|
# Leave it blank for most uses, data will be extracted from the PCB
|
|
extra_data_file: ''
|
|
# [string=''] Comma separated list of extra fields to pull from netlist or xml file.
|
|
# Using 'X,Y' is a shortcut for `show_fields` and `group_fields` with values 'Value,Footprint,X,Y'
|
|
extra_fields: ''
|
|
# [string=''] Name to be used for the PCB/project (no file extension).
|
|
# This will affect the name iBoM displays in the generated HTML
|
|
forced_name: ''
|
|
# [string=''] Comma separated list of fields that components will be grouped by.
|
|
# Value and Footprint are used when nothing is specified
|
|
group_fields: ''
|
|
# [boolean=false] Hide components in the Fab layer that are marked as excluded by a variant.
|
|
# Affected by global options
|
|
hide_excluded: false
|
|
# [boolean=false] Hide footprint pads by default
|
|
hide_pads: false
|
|
# [boolean=false] Hide silkscreen by default
|
|
hide_silkscreen: false
|
|
# [boolean|none,all,selected] Highlight pin1 by default
|
|
highlight_pin1: false
|
|
# [boolean=false] Include netlist information in output.
|
|
include_nets: false
|
|
# [boolean=false] Include track/zone information in output. F.Cu and B.Cu layers only
|
|
include_tracks: false
|
|
# [string='FB'] [F,FB,B] Default layer view
|
|
layer_view: 'FB'
|
|
# [string='ibom'] Output file name format supports substitutions:
|
|
# %f : original pcb file name without extension.
|
|
# %p : pcb/project title from pcb metadata.
|
|
# %c : company from pcb metadata.
|
|
# %r : revision from pcb metadata.
|
|
# %d : pcb date from metadata if available, file modification date otherwise.
|
|
# %D : bom generation date.
|
|
# %T : bom generation time.
|
|
# Extension .html will be added automatically.
|
|
# Note that this name is used only when output is ''
|
|
name_format: 'ibom'
|
|
# `netlist_file` is an alias for `extra_data_file`
|
|
# [boolean=false] Do not blacklist virtual components.
|
|
# IBoM option, avoid using in conjunction with KiBot variants/filters
|
|
no_blacklist_virtual: false
|
|
# [boolean=false] Disable compression of pcb data
|
|
no_compression: false
|
|
# [boolean=false] Do not redraw pcb on drag by default
|
|
no_redraw_on_drag: false
|
|
# [boolean=false] Normalize extra field name case. E.g. 'MPN' and 'mpn' will be considered the same field
|
|
normalize_field_case: false
|
|
# [boolean=false] Offset the back of the pcb by 180 degrees
|
|
offset_back_rotation: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output, use '' to use the IBoM filename (%i=ibom, %x=html). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=false] Show fabrication layer by default
|
|
show_fabrication: false
|
|
# [string=''] Comma separated list of fields to show in the BOM.
|
|
# Value and Footprint are displayed when nothing is specified
|
|
show_fields: ''
|
|
# [string='C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH'] Default sort order for components. Must contain '~' once
|
|
sort_order: 'C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH'
|
|
# [string=''] Board variant to apply.
|
|
# Avoid using it in conjunction with IBoM native filtering options
|
|
variant: ''
|
|
# [string=''] Name of the extra field that stores board variant for component.
|
|
# IBoM option, avoid using in conjunction with KiBot variants/filters
|
|
variant_field: ''
|
|
# [string=''] List of board variants to exclude from the BOM.
|
|
# IBoM option, avoid using in conjunction with KiBot variants/filters
|
|
variants_blacklist: ''
|
|
# [string=''] List of board variants to include in the BOM.
|
|
# IBoM option, avoid using in conjunction with KiBot variants/filters
|
|
variants_whitelist: ''
|
|
# Info:
|
|
# It can be used to know more about the environment used to generate the files.
|
|
# Please don't rely on the way things are reported, its content could change,
|
|
# adding or removing information
|
|
- name: 'info_example'
|
|
comment: 'Records information about the current run.'
|
|
type: 'info'
|
|
dir: 'Example/info_dir'
|
|
options:
|
|
# [string='names'] [names,none,full] List environment variables.
|
|
# IMPORTANT: Don't use `full` unless you know you are not leaking sensitive information
|
|
environment: 'names'
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=info, %x=txt). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# KiBoM (KiCad Bill of Materials):
|
|
# For more information: https://github.com/INTI-CMNB/KiBoM
|
|
# Note that this output is provided as a compatibility tool.
|
|
# We recommend using the `bom` output instead.
|
|
# This output is what you get from the 'Tools/Generate Bill of Materials' menu in eeschema.
|
|
# Also note that here the KiBot concept of variants doesn't apply.
|
|
- name: 'kibom_example'
|
|
comment: 'Used to generate the BoM in HTML or CSV format using the KiBoM plug-in.'
|
|
type: 'kibom'
|
|
dir: 'Example/kibom_dir'
|
|
options:
|
|
# [string|dict] BoM configuration file, relative to PCB. Environment variables and ~ allowed.
|
|
# You can also define the configuration here, will be stored in `config.kibom.ini`
|
|
conf:
|
|
# [list(dict)|list(string)] List of columns to display.
|
|
# Can be just the name of the field
|
|
columns:
|
|
# [string=''] Name of the field to use for this column.
|
|
# Use `_field_lcsc_part` to get the value defined in the global options
|
|
- field: 'Row'
|
|
# [list(string)|string=''] List of fields to join to this column
|
|
join: ''
|
|
# [string=''] Name to display in the header. The field is used when empty
|
|
name: 'Line'
|
|
# [list(list(string))] A series of values which are considered to be equivalent for the part name.
|
|
# Each entry is a list of equivalen names. Example: ['c', 'c_small', 'cap' ]
|
|
# will ensure the equivalent capacitor symbols can be grouped together.
|
|
# If empty the following aliases are used:
|
|
# - ['r', 'r_small', 'res', 'resistor']
|
|
# - ['l', 'l_small', 'inductor']
|
|
# - ['c', 'c_small', 'cap', 'capacitor']
|
|
# - ['sw', 'switch']
|
|
# - ['zener', 'zenersmall']
|
|
# - ['d', 'diode', 'd_small']
|
|
component_aliases: [['r', 'r_small', 'res', 'resistor'], ['l', 'l_small', 'inductor'], ['c', 'c_small', 'cap', 'capacitor'], ['sw', 'switch'], ['zener', 'zenersmall'], ['d', 'diode', 'd_small']]
|
|
# [string=''] Column with links to the datasheet (HTML only)
|
|
datasheet_as_link: ''
|
|
# [string|list(string)=''] Column/s containing Digi-Key part numbers, will be linked to web page (HTML only)
|
|
digikey_link: ''
|
|
# [list(dict)] A series of regular expressions used to exclude parts.
|
|
# If a component matches ANY of these, it will be excluded.
|
|
# Column names are case-insensitive.
|
|
# If empty the following list is used:
|
|
# - column: References
|
|
# regex: '^TP[0-9]*'
|
|
# - column: References
|
|
# regex: '^FID'
|
|
# - column: Part
|
|
# regex: 'mount.*hole'
|
|
# - column: Part
|
|
# regex: 'solder.*bridge'
|
|
# - column: Part
|
|
# regex: 'test.*point'
|
|
# - column: Footprint
|
|
# regex 'test.*point'
|
|
# - column: Footprint
|
|
# regex: 'mount.*hole'
|
|
# - column: Footprint
|
|
# regex: 'fiducial'
|
|
exclude_any:
|
|
# [string=''] Name of the column to apply the regular expression.
|
|
# Use `_field_lcsc_part` to get the value defined in the global options
|
|
- column: ''
|
|
# `field` is an alias for `column`
|
|
# [string=''] Regular expression to match
|
|
regex: ''
|
|
# `regexp` is an alias for `regex`
|
|
# [string='Config'] Field name used to determine if a particular part is to be fitted (also DNC and variants)
|
|
fit_field: 'Config'
|
|
# [boolean=true] Connectors with the same footprints will be grouped together, independent of the name of the connector
|
|
group_connectors: true
|
|
# [list(string)] List of fields used for sorting individual components into groups.
|
|
# Components which match (comparing *all* fields) will be grouped together.
|
|
# Field names are case-insensitive.
|
|
# If empty: ['Part', 'Part Lib', 'Value', 'Footprint', 'Footprint Lib'] is used
|
|
group_fields: ['Part', 'Part Lib', 'Value', 'Footprint', 'Footprint Lib']
|
|
# [boolean=false] Hide column headers
|
|
hide_headers: false
|
|
# [boolean=false] Hide project information
|
|
hide_pcb_info: false
|
|
# [boolean=true] Generate a separated section for DNF (Do Not Fit) components (HTML only)
|
|
html_generate_dnf: true
|
|
# [boolean=true] Exclude DNF (Do Not Fit) components
|
|
ignore_dnf: true
|
|
# [list(dict)] A series of regular expressions used to select included parts.
|
|
# If there are any regex defined here, only components that match against ANY of them will be included.
|
|
# Column names are case-insensitive.
|
|
# If empty all the components are included
|
|
include_only:
|
|
# [string=''] Name of the column to apply the regular expression.
|
|
# Use `_field_lcsc_part` to get the value defined in the global options
|
|
- column: ''
|
|
# `field` is an alias for `column`
|
|
# [string=''] Regular expression to match
|
|
regex: ''
|
|
# `regexp` is an alias for `regex`
|
|
# [boolean=true] Component groups with blank fields will be merged into the most compatible group, where possible
|
|
merge_blank_fields: true
|
|
# [string|list(string)=''] Column/s containing Mouser part numbers, will be linked to web page (HTML only)
|
|
mouser_link: ''
|
|
# [boolean=true] First column is the row number
|
|
number_rows: true
|
|
# [string=' '] Separator used for the list of references
|
|
ref_separator: ' '
|
|
# [boolean=true] Each component group will be tested against a number of regular-expressions
|
|
test_regex: true
|
|
# [boolean=false] Print grouped references in the alternate compressed style eg: R1-R7,R18
|
|
use_alt: false
|
|
# [string='HTML'] [HTML,CSV,XML,XLSX] Format for the BoM
|
|
format: 'HTML'
|
|
# [number=1] Number of boards to build (components multiplier)
|
|
number: 1
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=bom). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string=','] CSV Separator
|
|
separator: ','
|
|
# [string=''] Board variant(s), used to determine which components
|
|
# are output to the BoM. To specify multiple variants,
|
|
# with a BOM file exported for each variant, separate
|
|
# variants with the ';' (semicolon) character.
|
|
# This isn't related to the KiBot concept of variants
|
|
variant: ''
|
|
# KiCost (KiCad Cost calculator):
|
|
# For more information: https://github.com/INTI-CMNB/KiCost
|
|
# This output is what you get from the KiCost plug-in (eeschema).
|
|
# You can get KiCost costs using the internal BoM output (`bom`).
|
|
- name: 'kicost_example'
|
|
comment: 'Generates a spreadsheet containing components costs.'
|
|
type: 'kicost'
|
|
dir: 'Example/kicost_dir'
|
|
options:
|
|
# [list(dict)] Add components from other projects
|
|
aggregate:
|
|
# `board_qty` is an alias for `number`
|
|
# [string=''] Name of the XML to aggregate
|
|
- file: ''
|
|
# [number=100] Number of boards to build (components multiplier)
|
|
number: 100
|
|
# [string=' '] Variant for this project
|
|
variant: ' '
|
|
# `board_qty` is an alias for `number`
|
|
# [string|list(string)=USD] Currency priority. Use ISO4217 codes (i.e. USD, EUR)
|
|
currency: USD
|
|
# [string|list(string)] Include this distributors list. Default is all the available
|
|
distributors:
|
|
# [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.
|
|
# Don't use the `kicost_variant` when using internal variants/filters
|
|
dnf_filter: '_none'
|
|
# [string|list(string)] List of fields to be added to the global data section
|
|
fields:
|
|
# [string|list(string)] List of fields that can be different for a group.
|
|
# Parts with differences in these fields are grouped together, but displayed individually
|
|
group_fields:
|
|
# [string|list(string)] List of fields to be ignored
|
|
ignore_fields:
|
|
# [string=''] Regular expression to match the variant field (KiCost option, not internal variants)
|
|
kicost_variant: ''
|
|
# [boolean=false] Do not collapse the part references (collapse=R1-R4)
|
|
no_collapse: false
|
|
# [string|list(string)] Exclude this distributors list. They are removed after computing `distributors`
|
|
no_distributors:
|
|
# [boolean=false] Do not look for components price. For testing purposes
|
|
no_price: false
|
|
# [number=100] Number of boards to build (components multiplier)
|
|
number: 100
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=kicost, %x=xlsx). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=false] Include the catalogue links in the catalogue code
|
|
show_cat_url: false
|
|
# [string|list(string)] Declare part fields to include in multipart split process
|
|
split_extra_fields:
|
|
# [list(dict)] Fields to rename (KiCost option, not internal filters)
|
|
translate_fields:
|
|
# [string=''] Name of the field to rename
|
|
- field: 'mpn'
|
|
# [string=''] New name
|
|
name: 'manf#'
|
|
# [string=''] Board variant to apply.
|
|
# Don't use the `kicost_variant` when using internal variants/filters
|
|
variant: ''
|
|
# KiKit's Present - Project Presentation:
|
|
# It can contain one or more PCBs, showing their top and bottom sides.
|
|
# Also includes a download link and the gerbers.
|
|
- name: 'kikit_present_example'
|
|
comment: 'Creates an HTML file showing your project.'
|
|
type: 'kikit_present'
|
|
dir: 'Example/kikit_present_dir'
|
|
options:
|
|
# [dict|list(dict)] One or more boards that compose your project.
|
|
# When empty we will use only the main PCB for the current project
|
|
boards:
|
|
# [string=''] How to obtain the back view of the PCB.
|
|
# *local*: the name of an output to render it.
|
|
# If empty we use the first renderer.
|
|
# *file*: the name of the rendered image.
|
|
# *external*: ignored, we use `extrenal_config`
|
|
- back_image: ''
|
|
# [string=''] A comment or description for this board.
|
|
# Applies to all modes
|
|
comment: ''
|
|
# [string=''] Name of an external KiBot configuration.
|
|
# Only used in the *external* mode
|
|
external_config: ''
|
|
# [string=''] How to obtain the front view of the PCB.
|
|
# *local*: the name of an output to render it.
|
|
# If empty we use the first renderer.
|
|
# *file*: the name of the rendered image.
|
|
# *external*: ignored, we use `extrenal_config`
|
|
front_image: ''
|
|
# [string=''] How to obtain an archive with the gerbers.
|
|
# *local*: the name of a `gerber` output.
|
|
# If empty we use the first `gerber` output.
|
|
# *file*: the name of a compressed archive.
|
|
# *external*: ignored, we use `extrenal_config`
|
|
gerbers: ''
|
|
# [string='local'] [local,file,external] How images and gerbers are obtained.
|
|
# *local*: Only applies to the currently selected PCB.
|
|
# You must provide the names of the outputs used to render
|
|
# the images and compress the gerbers.
|
|
# When empty KiBot will use the first render/gerber output
|
|
# it finds.
|
|
# To apply variants use `pcb_from_output` and a `pcb_variant`
|
|
# output.
|
|
# *file*: You must specify the file names used for the images and
|
|
# the gerbers.
|
|
# *external*: You must specify an external KiBot configuration.
|
|
# It will be applied to the selected PCB to create the images and
|
|
# the gerbers. The front image must be generated in a dir called
|
|
# *front*, the back image in a dir called *back* and the gerbers
|
|
# in a dir called *gerbers*
|
|
mode: 'local'
|
|
# [string=''] Name for this board. If empty we use the name of the PCB.
|
|
# Applies to all modes
|
|
name: ''
|
|
# [string=''] Name of the KiCad PCB file. When empty we use the current PCB.
|
|
# Is ignored for the *local* mode
|
|
pcb_file: ''
|
|
# [string=''] Use the PCB generated by another output.
|
|
# Is ignored for the *file* mode
|
|
pcb_from_output: ''
|
|
# [string=''] Name for a markdown file containing the main part of the page to be generated.
|
|
# This is mandatory and is the description of your project.
|
|
# You can embed the markdown code. If the text doesn't map to a file and contains
|
|
# more than one line KiBot will assume this is the markdown
|
|
description: ''
|
|
# [string=''] Name of the project. Will be passed to the template.
|
|
# If empty we use the name of the KiCad project.
|
|
# The default template uses it for things like the page title
|
|
name: ''
|
|
# [string=''] URL of the repository. Will be passed to the template.
|
|
# If empty we will try to find it using `git remote get-url origin`.
|
|
# The default template uses it to create an URL for the current commit
|
|
repository: ''
|
|
# [string|list(string)=''] A list of file name patterns for additional resources to be included.
|
|
# I.e. images referenced in description.
|
|
# They will be copied relative to the output dir
|
|
resources: ''
|
|
# [string='default'] Path to a template directory or a name of built-in one.
|
|
# See KiKit's doc/present.md for template specification
|
|
template: 'default'
|
|
# KiRi:
|
|
# Must be applied to a git repository.
|
|
# Recursive git submodules aren't supported (submodules inside submodules)
|
|
- name: 'kiri_example'
|
|
comment: 'Generates an interactive web page to browse the schematic and/or PCB differences between git commits.'
|
|
type: 'kiri'
|
|
dir: 'Example/kiri_dir'
|
|
options:
|
|
# [string='#FFFFFF'] Color used for the background of the diff canvas
|
|
background_color: '#FFFFFF'
|
|
# [string='_builtin_classic'] Selects the color theme. Only applies to KiCad 6.
|
|
# To use the KiCad 6 default colors select `_builtin_default`.
|
|
# Usually user colors are stored as `user`, but you can give it another name
|
|
color_theme: '_builtin_classic'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=false] Avoid PCB and SCH images regeneration. Useful for incremental usage
|
|
keep_generated: false
|
|
# [number=0] Maximum number of commits to include. Use 0 for all available commits
|
|
max_commits: 0
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string='HEAD'] Starting point for the commits, can be a branch, a hash, etc.
|
|
# Note that this can be a revision-range, consult the gitrevisions manual for more information
|
|
revision: 'HEAD'
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# [string='global'] [global,fill,unfill,none] How to handle PCB zones. The default is *global* and means that we
|
|
# fill zones if the *check_zone_fills* preflight is enabled. The *fill* option always forces
|
|
# a refill, *unfill* forces a zone removal and *none* lets the zones unchanged.
|
|
# Be careful with the *keep_generated* option when changing this setting
|
|
zones: 'global'
|
|
layers: all
|
|
# Navigate Results:
|
|
- name: 'navigate_results_example'
|
|
comment: 'Generates a web page to navigate the generated outputs'
|
|
type: 'navigate_results'
|
|
dir: 'Example/navigate_results_dir'
|
|
options:
|
|
# [string=''] The name of a file to create at the main output directory linking to the home page
|
|
link_from_root: ''
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=html, %x=navigate). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=false] Skip outputs with `run_by_default: false`
|
|
skip_not_run: false
|
|
# Netlist:
|
|
# The netlist can be generated in the classic format and in IPC-D-356 format,
|
|
# useful for board testing
|
|
- name: 'netlist_example'
|
|
comment: 'Generates the list of connections for the project.'
|
|
type: 'netlist'
|
|
dir: 'Example/netlist_dir'
|
|
options:
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='classic'] [classic,ipc] The `classic` format is the KiCad internal format, and is generated
|
|
# from the schematic. The `ipc` format is the IPC-D-356 format, useful for PCB
|
|
# testing, is generated from the PCB
|
|
format: 'classic'
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=netlist/IPC-D-356, %x=net/d356). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Board variant to apply.
|
|
# Used for sub-PCBs
|
|
variant: ''
|
|
# Panelize:
|
|
# It currently uses the KiKit tool, which must be available.
|
|
# Consult KiKit docs for detailed information.
|
|
# [KiKit panelization docs](https://github.com/yaqwsx/KiKit/blob/master/doc/examples.md).
|
|
# Current versions of KiKit only support KiCad 6 and my tests using
|
|
# KiKit 1.0.5 (the last to support KiCad 5) shown some
|
|
# incompatibilities.
|
|
# Note that you don't need to specify the units for all distances.
|
|
# If they are omitted they are assumed to be `units`.
|
|
# The same is valid for angles, using `default_angles`
|
|
- name: 'panelize_example'
|
|
comment: 'Creates a panel to fabricate various copies of the PCB at once.'
|
|
type: 'panelize'
|
|
dir: 'Example/panelize_dir'
|
|
options:
|
|
# [list(dict)|list(string)|string] One or more configurations used to create the panel.
|
|
# Use a string to include an external configuration, i.e. `myDefault.json`.
|
|
# You can also include a preset using `:name`, i.e. `:vcuts`.
|
|
# Use a dict to specify the options using the KiBot YAML file
|
|
configs:
|
|
# [dict] Fill non-board areas of the panel with copper
|
|
- copperfill:
|
|
# [number|string] Extra clearance from the board perimeters. Suitable for, e.g., not filling the tabs with
|
|
# copper
|
|
clearance: 0.5
|
|
# [string|list(string)] List of layers to fill. Can be a comma-separated string.
|
|
# Using *all* means all external copper layers
|
|
layers: 'F.Cu,B.Cu'
|
|
# [number|string] The orientation of the hatched strokes
|
|
orientation: 45
|
|
# [number|string] The space between the hatched strokes
|
|
spacing: 1
|
|
# [string='none'] [none,solid,hatched] How to fill non-board areas of the panel with copper
|
|
type: 'none'
|
|
# [number|string] The width of the hatched strokes
|
|
width: 1
|
|
# [dict] Specify how to perform the cuts on the tabs separating the board
|
|
cuts:
|
|
# [string=''] Argument to pass to the plugin. Used for *plugin*
|
|
arg: ''
|
|
# [number|string] Specify clearance for copper around V-cuts
|
|
clearance: 0
|
|
# [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*
|
|
code: ''
|
|
# `cut_curves` is an alias for `cutcurves`
|
|
# [boolean=false] Specify if curves should be approximated by straight cuts (e.g., for cutting tabs on circular boards).
|
|
# Used for *vcuts*
|
|
cutcurves: false
|
|
# [number|string] Drill size used for the *mousebites*
|
|
drill: 0.5
|
|
# [string='Cmts.User'] Specify the layer to render V-cuts on. Also used for the *layer* type
|
|
layer: 'Cmts.User'
|
|
# [number|string] Specify the *mousebites* and *vcuts* offset, positive offset puts the cuts into the board,
|
|
# negative puts the cuts into the tabs
|
|
offset: 0
|
|
# [number|string] Distance for tangential prolongation of the cuts (to cut through the internal corner fillets
|
|
# caused by milling). Used for *mousebites* and *layer*
|
|
prolong: 0
|
|
# [number|string] The spacing of the holes used for the *mousebites*
|
|
spacing: 0.8
|
|
# [string='none'] [none,mousebites,vcuts,layer,plugin] Layer: When KiKit reports it cannot perform cuts, you can render the cuts
|
|
# into a layer with this option to understand what's going on. Shouldn't be used for the final design
|
|
type: 'none'
|
|
# [dict] Debug options
|
|
debug:
|
|
# [boolean=false] Deterministic
|
|
deterministic: false
|
|
# [boolean=false] Draw backbone lines
|
|
drawBackboneLines: false
|
|
# [boolean=false] Draw partition lines
|
|
drawPartitionLines: false
|
|
# [boolean=false] Draw boxes
|
|
drawboxes: false
|
|
# [boolean=false] Draw tab fail
|
|
drawtabfail: false
|
|
# [boolean=false] Trace
|
|
trace: false
|
|
# [boolean=true] Expand text variables and KiBot %X markers in text objects
|
|
expand_text: true
|
|
# [string=''] A configuration to use as base for this one. Use the following format: `OUTPUT_NAME[CFG_NAME]`
|
|
extends: ''
|
|
# [dict] Used to add fiducial marks to the (rail/frame of) the panel
|
|
fiducials:
|
|
# `copper_size` is an alias for `coppersize`
|
|
# [number|string] Diameter of the copper spot
|
|
coppersize: 1
|
|
# [number|string] Horizontal offset from panel edges
|
|
hoffset: 0
|
|
# [number|string] Diameter of the solder mask opening
|
|
opening: 1
|
|
# [string='none'] [none,3fid,4fid,plugin] Add none, 3 or 4 fiducials to the (rail/frame of) the panel
|
|
type: 'none'
|
|
# [number|string] Vertical offset from panel edges
|
|
voffset: 0
|
|
# [dict] Specify the frame around the boards
|
|
framing:
|
|
# [string=''] Argument to pass to the plugin. Used for *plugin*
|
|
arg: ''
|
|
# [number|string] Specify the size of chamfer frame corners
|
|
chamfer: 0
|
|
# [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*
|
|
code: ''
|
|
# [string='both'] [none,both,v,h] Specify whether to add cuts to the corners of the frame for easy removal.
|
|
# Used for *frame*
|
|
cuts: 'both'
|
|
# [number|string] Specify radius of fillet frame corners
|
|
fillet: 0
|
|
# [number|string] Specify the horizontal space between PCB and the frame/rail
|
|
hspace: 2
|
|
# `min_total_height` is an alias for `mintotalheight`
|
|
# `min_total_width` is an alias for `mintotalwidth`
|
|
# [number|string] If needed, add extra material to the rail or frame to meet the minimal requested size.
|
|
# Useful for services that require minimal panel size
|
|
mintotalheight: 0
|
|
# [number|string] If needed, add extra material to the rail or frame to meet the minimal requested size.
|
|
# Useful for services that require minimal panel size
|
|
mintotalwidth: 0
|
|
# `slot_width` is an alias for `slotwidth`
|
|
# [number|string] Width of the milled slot for *tightframe*
|
|
slotwidth: 2
|
|
# [number|string] Specify the space between PCB and the frame/rail. Overrides `hspace` and `vspace`
|
|
space: null
|
|
# [string='none'] [none,railstb,railslr,frame,tightframe,plugin] Railstb: Add rails on top and bottom.
|
|
# Railslr: Add rails on left and right.
|
|
# Frame: Add a frame around the board.
|
|
# Tighframe: Add a frame around the board which fills the whole area of the panel -
|
|
# the boards have just a milled slot around their perimeter.
|
|
# Plugin: Uses an external python function, only `code` and `arg` are relevant
|
|
type: 'none'
|
|
# [number|string] Specify the vertical space between PCB and the frame/rail
|
|
vspace: 2
|
|
# [number|string] Specify with of the rails or frame
|
|
width: 5
|
|
# [dict] Layout used for the panel
|
|
layout:
|
|
# [string='none'] [none,rows,cols,rowsCols] Specify alternations of board rotation.
|
|
# none: Do not alternate.
|
|
# rows: Rotate boards by 180° on every next row.
|
|
# cols: Rotate boards by 180° on every next column.
|
|
# rowsCols: Rotate boards by 180° based on a chessboard pattern
|
|
alternation: 'none'
|
|
# [string=''] Argument to pass to the plugin. Used for *plugin*
|
|
arg: ''
|
|
# `bake_text` is an alias for `baketext`
|
|
# [boolean=true] A flag that indicates if text variables should be substituted or not
|
|
baketext: true
|
|
# [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*
|
|
code: ''
|
|
# [number=1] Specify the number of columns of boards in the grid pattern
|
|
cols: 1
|
|
# [number|string] The width of horizontal backbone (0 means no backbone). The backbone does not increase the
|
|
# spacing of the boards
|
|
hbackbone: 0
|
|
# [boolean=true] If there are both backbones specified, specifies if there should be a horizontal cut where the backbones
|
|
# cross
|
|
hbonecut: true
|
|
# [number=0] Skip every n horizontal backbones. I.e., 1 means place only every other backbone
|
|
hboneskip: 0
|
|
# [number|string] Specify the horizontal gap between the boards
|
|
hspace: 0
|
|
# `rename_net` is an alias for `renamenet`
|
|
# `rename_ref` is an alias for `renameref`
|
|
# [string='Board_{n}-{orig}'] A pattern by which to rename the nets. You can use {n} and {orig} to get the board number and original name
|
|
renamenet: 'Board_{n}-{orig}'
|
|
# [string='{orig}'] A pattern by which to rename the references. You can use {n} and {orig} to get the board number and original
|
|
# name
|
|
renameref: '{orig}'
|
|
# [number|string] Rotate the boards before placing them in the panel
|
|
rotation: 0
|
|
# [number=1] Specify the number of rows of boards in the grid pattern
|
|
rows: 1
|
|
# [number|string] Specify the gap between the boards, overwrites `hspace` and `vspace`
|
|
space: null
|
|
# [string='grid'] [grid,plugin] In the plugin type only `code` and `arg` are relevant
|
|
type: 'grid'
|
|
# [number|string] The width of vertical backbone (0 means no backbone). The backbone does not increase the
|
|
# spacing of the boards
|
|
vbackbone: 0
|
|
# [boolean=true] If there are both backbones specified, specifies if there should be a vertical cut where the backbones
|
|
# cross
|
|
vbonecut: true
|
|
# [number=0] Skip every n vertical backbones. I.e., 1 means place only every other backbone
|
|
vboneskip: 0
|
|
# [number|string] Specify the vertical gap between the boards
|
|
vspace: 0
|
|
# [string=''] A name to identify this configuration. If empty will be the order in the list, starting with 1.
|
|
# Don't use just a number or it will be confused as an index
|
|
name: ''
|
|
# [dict] Sets page size on the resulting panel and position the panel in the page
|
|
page:
|
|
# [string='tl'] [tl,tr,bl,br,mt,mb,ml,mr,c] Point of the panel to be placed at given position. Can be one of tl, tr, bl, br
|
|
# (corners), mt, mb, ml, mr (middle of sides), c (center). The anchors refer to the panel outline
|
|
anchor: 'tl'
|
|
# [number|string] Height for the `custom` paper size
|
|
height: 210
|
|
# `page_size` is an alias for `type`
|
|
# `pos_x` is an alias for `posx`
|
|
# `pos_y` is an alias for `posy`
|
|
# [number|string] The X position of the panel on the page
|
|
posx: 15
|
|
# [number|string] The Y position of the panel on the page
|
|
posy: 15
|
|
# `size` is an alias for `type`
|
|
# [string='inherit'] [inherit,custom,A0,A1,A2,A3,A4,A5,A,B,C,D,E,USLetter,USLegal,USLedger,A0-portrait,A1-portrait,A2-portrait,
|
|
# A3-portrait,A4-portrait,A5-portrait,A-portrait,B-portrait,C-portrait,D-portrait,E-portrait,
|
|
# USLetter-portrait,USLegal-portrait,USLedger-portrait] Paper size. The default `inherit` option inherits
|
|
# paper size from the source board. This feature is not supported on KiCAD 5
|
|
type: 'inherit'
|
|
# [number|string] Width for the `custom` paper size
|
|
width: 297
|
|
# [dict] Finishing touches to the panel
|
|
post:
|
|
# [boolean=false] Fill tabs and frame with copper (e.g., to save etchant or to increase rigidity of flex-PCB panels)
|
|
copperfill: false
|
|
# [boolean=false] Draw dimensions with the panel size.
|
|
dimensions: false
|
|
# `mill_radius` is an alias for `millradius`
|
|
# [number|string] Simulate the milling operation (add fillets to the internal corners).
|
|
# Specify mill radius (usually 1 mm). 0 radius disables the functionality
|
|
millradius: 0
|
|
# [string='tl'] [tl,tr,bl,br,mt,mb,ml,mr,c] Specify if the auxiliary origin an grid origin should be placed.
|
|
# Can be one of tl, tr, bl, br (corners), mt, mb, ml, mr (middle of sides), c (center).
|
|
# Empty string does not changes the origin
|
|
origin: 'tl'
|
|
# `reconstruct_arcs` is an alias for `reconstructarcs`
|
|
# [boolean=false] The panelization process works on top of a polygonal representation of the board.
|
|
# This options allows to reconstruct the arcs in the design before saving the panel
|
|
reconstructarcs: false
|
|
# `refill_zones` is an alias for `refillzones`
|
|
# [boolean=false] Refill the user zones after the panel is build.
|
|
# This is only necessary when you want your zones to avoid cuts in panel
|
|
refillzones: false
|
|
# [string=''] A path to custom Python file. The file should contain a function kikitPostprocess(panel, args) that
|
|
# receives the prepared panel as the kikit.panelize.Panel object and the user-supplied arguments as a
|
|
# string - see `scriptarg`. The function can make arbitrary changes to the panel - you can append text,
|
|
# footprints, alter labels, etc. The function is invoked after the whole panel is constructed
|
|
# (including all other postprocessing). If you try to add a functionality for a common fabrication
|
|
# houses via scripting, consider submitting PR for KiKit
|
|
script: ''
|
|
# `script_arg` is an alias for `scriptarg`
|
|
# [string=''] An arbitrary string passed to the user post-processing script specified in script
|
|
scriptarg: ''
|
|
# [string='auto'] [auto] Currently fixed
|
|
type: 'auto'
|
|
# [dict] Used to adjust details of which part of the PCB is panelized
|
|
source:
|
|
# [number|string] Bottom right X coordinate of the rectangle used. Used for *rectangle*
|
|
brx: 0
|
|
# [number|string] Bottom right Y coordinate of the rectangle used. Used for *rectangle*
|
|
bry: 0
|
|
# [string=''] Reference for the kikit:Board footprint used to select the contour. Used for *annotation*
|
|
ref: ''
|
|
# [string='inherit'] [inherit,2layer,4layer,6layer] Used to reduce the number of layers used for the panel
|
|
stack: 'inherit'
|
|
# [number|string] Top left X coordinate of the rectangle used. Used for *rectangle*
|
|
tlx: 0
|
|
# [number|string] Top left Y coordinate of the rectangle used. Used for *rectangle*
|
|
tly: 0
|
|
# [number|string] Extra space around the PCB reported size to be included. Used for *auto* and *annotation*
|
|
tolerance: 1
|
|
# [string='auto'] [auto,rectangle,annotation] How we select the area of the PCB used for the panelization.
|
|
# *auto* uses all the area reported by KiCad, *rectangle* a specified rectangle and
|
|
# *annotation* selects a contour marked by a kikit:Board footprint
|
|
type: 'auto'
|
|
# [dict] Style of the tabs used to join the PCB copies
|
|
tabs:
|
|
# [string=''] Argument to pass to the plugin. Used for *plugin*
|
|
arg: ''
|
|
# [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*
|
|
code: ''
|
|
# [number|string] When your design features open pockets on the side, this parameter specifies extra cutout
|
|
# depth in order to ensure that a sharp corner of the pocket can be milled. Used for *full*
|
|
cutout: 1
|
|
# [number=1] Number of tabs in the horizontal direction. Used for *fixed*
|
|
hcount: 1
|
|
# [number|string] The width of tabs in the horizontal direction. Used for *fixed* and *spacing*
|
|
hwidth: 3
|
|
# `min_distance` is an alias for `mindistance`
|
|
# [number|string] Minimal spacing between the tabs. If there are too many tabs, their count is reduced.
|
|
# Used for *fixed*
|
|
mindistance: 0
|
|
# [number|string] The maximum spacing of the tabs. Used for *spacing*
|
|
spacing: 10
|
|
# `tab_footprints` is an alias for `tabfootprints`
|
|
# [string='kikit:Tab'] The footprint/s used for the *annotation* type. You can specify a list of footprints separated by comma
|
|
tabfootprints: 'kikit:Tab'
|
|
# [string='spacing'] [fixed,spacing,full,annotation,plugin] Fixed: Place given number of tabs on the PCB edge.
|
|
# Spacing: Place tabs on the PCB edges based on spacing.
|
|
# Full: Create tabs that are full width of the PCB.
|
|
# Corner: Create tabs in the corners of the PCB.
|
|
# Annotation: Add tabs based on PCB annotations.
|
|
# Plugin: Uses an external python function, only `code` and `arg` are relevant
|
|
type: 'spacing'
|
|
# [number=1] Number of tabs in the vertical direction. Used for *fixed*
|
|
vcount: 1
|
|
# [number|string] The width of tabs in the vertical direction. Used for *fixed* and *spacing*
|
|
vwidth: 3
|
|
# [number|string] The width of tabs in both directions. Overrides both `vwidth` and `hwidth`.
|
|
# Used for *fixed*, *spacing*, *corner* and *annotation*
|
|
width: null
|
|
# [dict] Used to add text to the panel
|
|
text:
|
|
# [string='mt'] [tl,tr,bl,br,mt,mb,ml,mr,c] Origin of the text. Can be one of tl, tr, bl, br (corners), mt, mb, ml, mr
|
|
# (middle of sides), c (center). The anchors refer to the panel outline
|
|
anchor: 'mt'
|
|
# [number|string] Height of the characters (the same parameters as KiCAD uses)
|
|
height: 1.5
|
|
# [string='center'] [left,right,center] Horizontal justification of the text
|
|
hjustify: 'center'
|
|
# [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system
|
|
hoffset: 0
|
|
# [string='F.SilkS'] Specify text layer
|
|
layer: 'F.SilkS'
|
|
# [number|string] Specify the orientation (angle)
|
|
orientation: 0
|
|
# [string=''] Specify the plugin that provides extra variables for the text
|
|
plugin: ''
|
|
# [string=''] The text to be displayed. Note that you can escape ; via \.
|
|
# Available variables in text: *date* formats current date as <year>-<month>-<day>,
|
|
# *time24* formats current time in 24-hour format,
|
|
# *boardTitle* the title from the source board,
|
|
# *boardDate* the date from the source board,
|
|
# *boardRevision* the revision from the source board,
|
|
# *boardCompany* the company from the source board,
|
|
# *boardComment1*-*boardComment9* comments from the source board
|
|
text: ''
|
|
# [number|string] Stroke thickness
|
|
thickness: 0.3
|
|
# [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works
|
|
type: 'none'
|
|
# [string='center'] [left,right,center] Vertical justification of the text
|
|
vjustify: 'center'
|
|
# [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system
|
|
voffset: 0
|
|
# [number|string] Width of the characters (the same parameters as KiCAD uses)
|
|
width: 1.5
|
|
# [dict] Used to add text to the panel
|
|
text2:
|
|
# [string='mt'] [tl,tr,bl,br,mt,mb,ml,mr,c] Origin of the text. Can be one of tl, tr, bl, br (corners), mt, mb, ml, mr
|
|
# (middle of sides), c (center). The anchors refer to the panel outline
|
|
anchor: 'mt'
|
|
# [number|string] Height of the characters (the same parameters as KiCAD uses)
|
|
height: 1.5
|
|
# [string='center'] [left,right,center] Horizontal justification of the text
|
|
hjustify: 'center'
|
|
# [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system
|
|
hoffset: 0
|
|
# [string='F.SilkS'] Specify text layer
|
|
layer: 'F.SilkS'
|
|
# [number|string] Specify the orientation (angle)
|
|
orientation: 0
|
|
# [string=''] Specify the plugin that provides extra variables for the text
|
|
plugin: ''
|
|
# [string=''] The text to be displayed. Note that you can escape ; via \.
|
|
# Available variables in text: *date* formats current date as <year>-<month>-<day>,
|
|
# *time24* formats current time in 24-hour format,
|
|
# *boardTitle* the title from the source board,
|
|
# *boardDate* the date from the source board,
|
|
# *boardRevision* the revision from the source board,
|
|
# *boardCompany* the company from the source board,
|
|
# *boardComment1*-*boardComment9* comments from the source board
|
|
text: ''
|
|
# [number|string] Stroke thickness
|
|
thickness: 0.3
|
|
# [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works
|
|
type: 'none'
|
|
# [string='center'] [left,right,center] Vertical justification of the text
|
|
vjustify: 'center'
|
|
# [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system
|
|
voffset: 0
|
|
# [number|string] Width of the characters (the same parameters as KiCAD uses)
|
|
width: 1.5
|
|
# [dict] Used to add text to the panel
|
|
text3:
|
|
# [string='mt'] [tl,tr,bl,br,mt,mb,ml,mr,c] Origin of the text. Can be one of tl, tr, bl, br (corners), mt, mb, ml, mr
|
|
# (middle of sides), c (center). The anchors refer to the panel outline
|
|
anchor: 'mt'
|
|
# [number|string] Height of the characters (the same parameters as KiCAD uses)
|
|
height: 1.5
|
|
# [string='center'] [left,right,center] Horizontal justification of the text
|
|
hjustify: 'center'
|
|
# [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system
|
|
hoffset: 0
|
|
# [string='F.SilkS'] Specify text layer
|
|
layer: 'F.SilkS'
|
|
# [number|string] Specify the orientation (angle)
|
|
orientation: 0
|
|
# [string=''] Specify the plugin that provides extra variables for the text
|
|
plugin: ''
|
|
# [string=''] The text to be displayed. Note that you can escape ; via \.
|
|
# Available variables in text: *date* formats current date as <year>-<month>-<day>,
|
|
# *time24* formats current time in 24-hour format,
|
|
# *boardTitle* the title from the source board,
|
|
# *boardDate* the date from the source board,
|
|
# *boardRevision* the revision from the source board,
|
|
# *boardCompany* the company from the source board,
|
|
# *boardComment1*-*boardComment9* comments from the source board
|
|
text: ''
|
|
# [number|string] Stroke thickness
|
|
thickness: 0.3
|
|
# [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works
|
|
type: 'none'
|
|
# [string='center'] [left,right,center] Vertical justification of the text
|
|
vjustify: 'center'
|
|
# [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system
|
|
voffset: 0
|
|
# [number|string] Width of the characters (the same parameters as KiCAD uses)
|
|
width: 1.5
|
|
# [dict] Used to add text to the panel
|
|
text4:
|
|
# [string='mt'] [tl,tr,bl,br,mt,mb,ml,mr,c] Origin of the text. Can be one of tl, tr, bl, br (corners), mt, mb, ml, mr
|
|
# (middle of sides), c (center). The anchors refer to the panel outline
|
|
anchor: 'mt'
|
|
# [number|string] Height of the characters (the same parameters as KiCAD uses)
|
|
height: 1.5
|
|
# [string='center'] [left,right,center] Horizontal justification of the text
|
|
hjustify: 'center'
|
|
# [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system
|
|
hoffset: 0
|
|
# [string='F.SilkS'] Specify text layer
|
|
layer: 'F.SilkS'
|
|
# [number|string] Specify the orientation (angle)
|
|
orientation: 0
|
|
# [string=''] Specify the plugin that provides extra variables for the text
|
|
plugin: ''
|
|
# [string=''] The text to be displayed. Note that you can escape ; via \.
|
|
# Available variables in text: *date* formats current date as <year>-<month>-<day>,
|
|
# *time24* formats current time in 24-hour format,
|
|
# *boardTitle* the title from the source board,
|
|
# *boardDate* the date from the source board,
|
|
# *boardRevision* the revision from the source board,
|
|
# *boardCompany* the company from the source board,
|
|
# *boardComment1*-*boardComment9* comments from the source board
|
|
text: ''
|
|
# [number|string] Stroke thickness
|
|
thickness: 0.3
|
|
# [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works
|
|
type: 'none'
|
|
# [string='center'] [left,right,center] Vertical justification of the text
|
|
vjustify: 'center'
|
|
# [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system
|
|
voffset: 0
|
|
# [number|string] Width of the characters (the same parameters as KiCAD uses)
|
|
width: 1.5
|
|
# [dict] Used to add tooling holes to the (rail/frame of) the panel
|
|
tooling:
|
|
# [string=''] Argument to pass to the plugin. Used for *plugin*
|
|
arg: ''
|
|
# [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*
|
|
code: ''
|
|
# [number|string] Horizontal offset from panel edges
|
|
hoffset: 0
|
|
# [boolean=false] If True, the holes are included in the paste layer (therefore they appear on the stencil)
|
|
paste: false
|
|
# [number|string] Diameter of the holes
|
|
size: 1.152
|
|
# [string='none'] [none,3hole,4hole,plugin] Add none, 3 or 4 holes to the (rail/frame of) the panel
|
|
type: 'none'
|
|
# [number|string] Vertical offset from panel edges
|
|
voffset: 0
|
|
# [boolean=false] Use PcbDraw to create a preview of the panel
|
|
create_preview: false
|
|
# [string='deg'] [deg,°,rad] Angles used when omitted
|
|
default_angles: 'deg'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=panel, %x=kicad_pcb). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string='mm'] [millimeters,inches,mils,mm,cm,dm,m,mil,inch,in] Units used when omitted
|
|
units: 'mm'
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# PCB2Blender Tools:
|
|
# Blender is the most important free software 3D render package.
|
|
# This output needs KiCad 6 or newer.
|
|
# The PCB3D file format is used by the PCB2Blender project (https://github.com/30350n/pcb2blender)
|
|
# to import KiCad PCBs in Blender.
|
|
# You need to install a Blender plug-in to load PCB3D files.
|
|
# The tools in this output are used by internal templates used to generate PCB3D files.
|
|
- name: 'pcb2blender_tools_example'
|
|
comment: 'A bunch of tools used to generate PCB3D files used to export PCBs to Blender.'
|
|
type: 'pcb2blender_tools'
|
|
dir: 'Example/pcb2blender_tools_dir'
|
|
options:
|
|
# [boolean=true] Create the file that informs the size of the used PCB area.
|
|
# This is the bounding box reported by KiCad for the PCB edge with 1 mm of margin
|
|
board_bounds_create: true
|
|
# [string='layers'] Sub-directory where the bounds file is stored
|
|
board_bounds_dir: 'layers'
|
|
# [string='bounds'] Name of the bounds file
|
|
board_bounds_file: 'bounds'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=pcb2blender, %x=pcb3d). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=true] Create the files containing the PCB pads information
|
|
pads_info_create: true
|
|
# [string='pads'] Sub-directory where the pads info files are stored
|
|
pads_info_dir: 'pads'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [list(string)|string=all] [none,all] List of components to include in the pads list,
|
|
# can be also a string for `none` or `all`. The default is `all`
|
|
show_components: all
|
|
# [boolean=false] Create a file containing the board stackup
|
|
stackup_create: false
|
|
# [string='.'] Directory for the stackup file. Use 'layers' for 2.7+
|
|
stackup_dir: '.'
|
|
# [string='board.yaml'] Name for the stackup file. Use 'stackup' for 2.7+
|
|
stackup_file: 'board.yaml'
|
|
# [string='JSON'] [JSON,BIN] Format for the stackup file. Use 'BIN' for 2.7+
|
|
stackup_format: 'JSON'
|
|
# [string='bounds'] File name for the sub-PCBs bounds
|
|
sub_boards_bounds_file: 'bounds'
|
|
# [boolean=true] Extract sub-PCBs and their Z axis position
|
|
sub_boards_create: true
|
|
# [string='boards'] Directory for the boards definitions
|
|
sub_boards_dir: 'boards'
|
|
# [string='stacked_'] Prefix used for the stack files
|
|
sub_boards_stacked_prefix: 'stacked_'
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# PCB Print:
|
|
# Supports PDF, SVG, PNG, EPS and PS formats.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'pcb_print_example'
|
|
comment: 'Prints the PCB using a mechanism that is more flexible than `pdf_pcb_print` and `svg_pcb_print`.'
|
|
type: 'pcb_print'
|
|
dir: 'Example/pcb_print_dir'
|
|
options:
|
|
# [boolean=false] Add a background to the pages, see `background_color`
|
|
add_background: false
|
|
# [number=0] Default horizontal margin used for the autoscaling mode [mm]
|
|
autoscale_margin_x: 0
|
|
# [number=0] Default vertical margin used for the autoscaling mode [mm]
|
|
autoscale_margin_y: 0
|
|
# [string='#FFFFFF'] Color for the background when `add_background` is enabled
|
|
background_color: '#FFFFFF'
|
|
# [string=''] Background image, must be an SVG, only when `add_background` is enabled
|
|
background_image: ''
|
|
# [string=''] Color used for blind/buried `colored_vias`
|
|
blind_via_color: ''
|
|
# [string='_builtin_classic'] Selects the color theme. Only applies to KiCad 6.
|
|
# To use the KiCad 6 default colors select `_builtin_default`.
|
|
# Usually user colors are stored as `user`, but you can give it another name
|
|
color_theme: '_builtin_classic'
|
|
# [boolean=true] Plot through-hole in a different color. Like KiCad GUI does
|
|
colored_pads: true
|
|
# [boolean=true] Plot vias in a different color. Like KiCad GUI does
|
|
colored_vias: true
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [number=360] [36,1200] Resolution (Dots Per Inch) for the output file. Most objects are vectors, but thing
|
|
# like the the solder mask are handled as images by the conversion tools
|
|
dpi: 360
|
|
# [string='full'] [none,small,full] What to use to indicate the drill places, can be none, small or full (for real scale)
|
|
drill_marks: 'full'
|
|
# [boolean=false] Add the `Edge.Cuts` to all the pages
|
|
force_edge_cuts: false
|
|
# [string=''] Color used for the `force_edge_cuts` option
|
|
forced_edge_cuts_color: ''
|
|
# [string='PDF'] [PDF,SVG,PNG,EPS,PS] Format for the output file/s.
|
|
# Note that for PS you need `ghostscript` which isn't part of the default docker images
|
|
format: 'PDF'
|
|
# [string='internal'] [gui,internal,plot] Plotting the frame from Python is problematic.
|
|
# This option selects a workaround strategy.
|
|
# gui: uses KiCad GUI to do it. Is slow but you get the correct frame.
|
|
# But it can't keep track of page numbers.
|
|
# internal: KiBot loads the `.kicad_wks` and does the drawing work.
|
|
# Best option, but some details are different from what the GUI generates.
|
|
# plot: uses KiCad Python API. Only available for KiCad 6.
|
|
# You get the default frame and some substitutions doesn't work
|
|
frame_plot_mechanism: 'internal'
|
|
# [boolean=false] Hide components in the Fab layer that are marked as excluded by a variant.
|
|
# Affected by global options
|
|
hide_excluded: false
|
|
# [boolean=true] Tell KiCad to apply the scaling for each page as a separated entity.
|
|
# Disabling it the pages are coherent and can be superposed
|
|
individual_page_scaling: true
|
|
# [boolean=false] Store the temporal page and layer files in the output dir and don't delete them
|
|
keep_temporal_files: false
|
|
# [string=''] Color used for micro `colored_vias`
|
|
micro_via_color: ''
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=assembly, %x=pdf/ps)/(%i=assembly_page_NN, %x=svg/png/eps).
|
|
# Consult the `page_number_as_extension` and `page_id` options. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# `output_name` is an alias for `output`
|
|
# [string=''] Color used for `colored_pads`
|
|
pad_color: ''
|
|
# [boolean=false] When enabled the %i is always `assembly`, the %x will be NN.FORMAT (i.e. 01.png).
|
|
# Note: page numbers can be customized using the `page_id` option for each page
|
|
page_number_as_extension: false
|
|
# [list(dict)] List of pages to include in the output document.
|
|
# Each page contains one or more layers of the PCB
|
|
pages:
|
|
# [number=0] Horizontal margin used for the autoscaling mode [mm]
|
|
- autoscale_margin_x: 0
|
|
# [number=0] Vertical margin used for the autoscaling mode [mm]
|
|
autoscale_margin_y: 0
|
|
# [boolean=true] Change the drill holes to be colored instead of white
|
|
colored_holes: true
|
|
# [boolean=false] Do not plot the component pads in the silk screen (KiCad 5.x only)
|
|
exclude_pads_from_silkscreen: false
|
|
# [string='#000000'] Color used for the holes when `colored_holes` is enabled
|
|
holes_color: '#000000'
|
|
# [list(dict)|list(string)|string] List of layers printed in this page.
|
|
# Order is important, the last goes on top.
|
|
# You can reuse other layers lists, some options aren't used here, but they are valid
|
|
layers:
|
|
# [string=''] Color used for this layer.
|
|
# KiCad 6+: don't forget the alpha channel for layers like the solder mask
|
|
- color: ''
|
|
# [string=''] A description for the layer, for documentation purposes.
|
|
# A default can be specified using the `layer_defaults` global option
|
|
description: ''
|
|
# [boolean=false] Include references and values even when they are marked as invisible
|
|
force_plot_invisible_refs_vals: false
|
|
# [string=''] Name of the layer. As you see it in KiCad
|
|
layer: ''
|
|
# [boolean=true] Include the footprint references
|
|
plot_footprint_refs: true
|
|
# [boolean=true] Include the footprint values
|
|
plot_footprint_values: true
|
|
# [string=''] Suffix used in file names related to this layer. Derived from the name if not specified.
|
|
# A default can be specified using the `layer_defaults` global option
|
|
suffix: ''
|
|
# [number=0.1] [0.02,2] For objects without width [mm] (KiCad 5)
|
|
line_width: 0.1
|
|
# [boolean=false] Print mirrored (X axis inverted)
|
|
mirror: false
|
|
# [boolean=true] Mirror text in the footprints when mirror option is enabled and we plot a user layer
|
|
mirror_footprint_text: true
|
|
# [boolean=true] Mirror text in the PCB when mirror option is enabled and we plot a user layer
|
|
mirror_pcb_text: true
|
|
# [boolean=false] Print in gray scale
|
|
monochrome: false
|
|
# [boolean=false] Invert black and white. Only useful for a single layer
|
|
negative_plot: false
|
|
# [string='%02d'] Text to differentiate the pages. Use %d (like in C) to get the page number
|
|
page_id: '%02d'
|
|
# [string=''] Use this page as a pattern to create more pages.
|
|
# The other pages will change the layer mentioned here.
|
|
# This can be used to generate a page for each copper layer, here you put `F.Cu`.
|
|
# See `repeat_layers`
|
|
repeat_for_layer: ''
|
|
# [boolean=true] If we will inherit the options of the layer we are replacing.
|
|
# Disable it if you specify the options in `repeat_layers`, which is unlikely
|
|
repeat_inherit: true
|
|
# [list(dict)|list(string)|string] List of layers to replace `repeat_for_layer`.
|
|
# This can be used to generate a page for each copper layer, here you put `copper`
|
|
repeat_layers:
|
|
# [string=''] Color used for this layer.
|
|
# KiCad 6+: don't forget the alpha channel for layers like the solder mask
|
|
- color: ''
|
|
# [string=''] A description for the layer, for documentation purposes.
|
|
# A default can be specified using the `layer_defaults` global option
|
|
description: ''
|
|
# [boolean=false] Include references and values even when they are marked as invisible
|
|
force_plot_invisible_refs_vals: false
|
|
# [string=''] Name of the layer. As you see it in KiCad
|
|
layer: ''
|
|
# [boolean=true] Include the footprint references
|
|
plot_footprint_refs: true
|
|
# [boolean=true] Include the footprint values
|
|
plot_footprint_values: true
|
|
# [string=''] Suffix used in file names related to this layer. Derived from the name if not specified.
|
|
# A default can be specified using the `layer_defaults` global option
|
|
suffix: ''
|
|
# [number=1.0] Scale factor (0 means autoscaling)
|
|
scaling: 1.0
|
|
# [string='Assembly'] Text to use for the `sheet` in the title block.
|
|
# Pattern (%*) and text variables are expanded.
|
|
# In addition when you use `repeat_for_layer` the following patterns are available:
|
|
# %ln layer name, %ls layer suffix and %ld layer description
|
|
sheet: 'Assembly'
|
|
# [string=''] Color to use for the frame and title block
|
|
sheet_reference_color: ''
|
|
# [number=0.1] Line width for the sketched pads [mm], see `sketch_pads_on_fab_layers` (KiCad 6+)
|
|
# Note that this value is currently ignored by KiCad (6.0.9)
|
|
sketch_pad_line_width: 0.1
|
|
# [boolean=false] Draw only the outline of the pads on the *.Fab layers (KiCad 6+)
|
|
sketch_pads_on_fab_layers: false
|
|
# [boolean=false] Try to sort the layers in the same order that uses KiCad for printing
|
|
sort_layers: false
|
|
# [boolean=true] Cover the vias
|
|
tent_vias: true
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [boolean=true] Include the title-block (worksheet, frame, etc.)
|
|
plot_sheet_reference: true
|
|
# [number=1280] [0,7680] Width of the PNG in pixels. Use 0 to use as many pixels as the DPI needs for the page size
|
|
png_width: 1280
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=true] Try to draw the solder mask as a real solder mask, not the negative used for fabrication.
|
|
# In order to get a good looking select a color with transparency, i.e. '#14332440'.
|
|
# PcbDraw must be installed in order to use this option
|
|
realistic_solder_mask: true
|
|
# [number=1.0] Default scale factor (0 means autoscaling)
|
|
scaling: 1.0
|
|
# [string=''] Worksheet file (.kicad_wks) to use. Leave empty to use the one specified in the project
|
|
sheet_reference_layout: ''
|
|
# [number=4] [0,6] Scale factor used to represent 1 mm in the SVG (KiCad 6).
|
|
# The value is how much zeros has the multiplier (1 mm = 10 power `svg_precision` units).
|
|
# Note that for an A4 paper Firefox 91 and Chrome 105 can't handle more than 5
|
|
svg_precision: 4
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# [string=''] Color used for through-hole `colored_vias`
|
|
via_color: ''
|
|
# PCB with variant generator:
|
|
# This copy isn't intended for development.
|
|
# Is just a tweaked version of the original where you can look at the results.
|
|
- name: 'pcb_variant_example'
|
|
comment: 'Creates a copy of the PCB with all the filters and variants applied.'
|
|
type: 'pcb_variant'
|
|
dir: 'Example/pcb_variant_dir'
|
|
options:
|
|
# [boolean=true] Copy the KiCad project to the destination directory
|
|
copy_project: true
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=false] Hide components in the Fab layer that are marked as excluded by a variant.
|
|
# Affected by global options
|
|
hide_excluded: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=variant, %x=kicad_pcb). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# PcbDraw - Beautiful 2D PCB render:
|
|
# Uses configurable colors.
|
|
# Can also render the components if the 2D models are available.
|
|
# Note that this output is fast for simple PCBs, but becomes useless for huge ones.
|
|
# You can easily create very complex PCBs using the `panelize` output.
|
|
# In this case you can use other outputs, like `render_3d`, which are slow for small
|
|
# PCBs but can handle big ones
|
|
- name: 'pcbdraw_example'
|
|
comment: 'Exports the PCB as a 2D model (SVG, PNG or JPG).'
|
|
type: 'pcbdraw'
|
|
dir: 'Example/pcbdraw_dir'
|
|
options:
|
|
# [boolean=true] The `show_components` list is added to the list of components indicated by the variant (fitted and not
|
|
# excluded).
|
|
# This is the old behavior, but isn't intuitive because the `show_components` meaning changes when a variant
|
|
# is used. In this mode you should avoid using `show_components` and variants.
|
|
# To get a more coherent behavior disable this option, and `none` will always be `none`.
|
|
# Also `all` will be what the variant says
|
|
add_to_variant: true
|
|
# [boolean=false] Render the bottom side of the board (default is top side)
|
|
bottom: false
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [number=300] [10,1200] Dots per inch (resolution) of the generated image
|
|
dpi: 300
|
|
# [string='svg'] [svg,png,jpg,bmp] Output format. Only used if no `output` is specified
|
|
format: 'svg'
|
|
# [list(string)=[]] List of components to highlight. Filter expansion is also allowed here,
|
|
# see `show_components`
|
|
highlight: []
|
|
# [list(string)=[]] List of libraries
|
|
libs: []
|
|
# [number|dict] Margin around the generated image [mm].
|
|
# Using a number the margin is the same in the four directions
|
|
margin:
|
|
# [number=0] Bottom margin [mm]
|
|
bottom: 0
|
|
# [number=0] Left margin [mm]
|
|
left: 0
|
|
# [number=0] Right margin [mm]
|
|
right: 0
|
|
# [number=0] Top margin [mm]
|
|
top: 0
|
|
# [boolean=false] Mirror the board
|
|
mirror: false
|
|
# [boolean=false] Do not make holes transparent
|
|
no_drillholes: false
|
|
# [number=0.15] [0,10] Width of the trace to draw the PCB border [mm].
|
|
# Note this also affects the drill holes
|
|
outline_width: 0.15
|
|
# [string='%f-%i%I%v.%x'] Name for the generated file. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=false] Show placeholder for missing components
|
|
placeholder: false
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [dict|None] (DEPRECATED) Replacements for PCB references using specified components (lib:component).
|
|
# Use `remap_components` instead
|
|
remap:
|
|
# [list(dict)] Replacements for PCB references using specified components.
|
|
# Replaces `remap` with type check
|
|
remap_components:
|
|
# [string=''] Component to use (from `lib`)
|
|
- comp: ''
|
|
# `component` is an alias for `comp`
|
|
# [string=''] Library to use
|
|
lib: ''
|
|
# `library` is an alias for `lib`
|
|
# [string=''] Reference for the component to change
|
|
ref: ''
|
|
# `reference` is an alias for `ref`
|
|
# [string|list(string)=''] List of resistors to flip its bands
|
|
resistor_flip: ''
|
|
# [list(dict)] List of resistors to be remapped. You can change the value of the resistors here
|
|
resistor_remap:
|
|
# [string=''] Reference for the resistor to change
|
|
- ref: ''
|
|
# `reference` is an alias for `ref`
|
|
# [string=''] Value to use for `ref`
|
|
val: ''
|
|
# `value` is an alias for `val`
|
|
# [list(string)|string=none] [none,all] List of components to draw, can be also a string for none or all.
|
|
# The default is none.
|
|
# There two ways of using this option, please consult the `add_to_variant` option.
|
|
# You can use `_kf(FILTER)` as an element in the list to get all the components that pass the filter.
|
|
# You can even use `_kf(FILTER1;FILTER2)` to concatenate filters
|
|
show_components: none
|
|
# [boolean=true] Show the solder paste layers
|
|
show_solderpaste: true
|
|
# [string='kicad_edge'] [kicad_edge,kicad_all,svg_paths] Method used to detect the size of the resulting image.
|
|
# The `kicad_edge` method uses the size of the board as reported by KiCad,
|
|
# components that extend beyond the PCB limit will be cropped. You can manually
|
|
# adjust the margins to make them visible.
|
|
# The `kicad_all` method uses the whole size reported by KiCad. Usually includes extra space.
|
|
# The `svg_paths` uses all visible drawings in the image. To use this method you
|
|
# must install the `numpy` Python module (may not be available in docker images)
|
|
size_detection: 'kicad_edge'
|
|
# [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options
|
|
style:
|
|
# [string='#208b47'] Color for the board without copper (covered by solder mask)
|
|
board: '#208b47'
|
|
# [string='#cabb3e'] Color for the PCB core (not covered by solder mask)
|
|
clad: '#cabb3e'
|
|
# [string='#285e3a'] Color for the copper zones (covered by solder mask)
|
|
copper: '#285e3a'
|
|
# [boolean=false] Highlight over the component (not under)
|
|
highlight_on_top: false
|
|
# [number=1.5] [0,1000] How much the highlight extends around the component [mm]
|
|
highlight_padding: 1.5
|
|
# [string='stroke:none;fill:#ff0000;opacity:0.5;'] SVG code for the highlight style
|
|
highlight_style: 'stroke:none;fill:#ff0000;opacity:0.5;'
|
|
# [string='#000000'] Color for the outline
|
|
outline: '#000000'
|
|
# [string='#8b898c'] Color for the exposed pads (metal finish)
|
|
pads: '#8b898c'
|
|
# [string='#d5dce4'] Color for the silk screen
|
|
silk: '#d5dce4'
|
|
# [string='#bf2600'] Color for the V-CUTS
|
|
vcut: '#bf2600'
|
|
# [number=4] [3,6] Scale factor used to represent 1 mm in the SVG (KiCad 6).
|
|
# The value is how much zeros has the multiplier (1 mm = 10 power `svg_precision` units).
|
|
# Note that for an A4 paper Firefox 91 and Chrome 105 can't handle more than 5
|
|
svg_precision: 4
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# [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.
|
|
# Note that any other content from this layer will be included
|
|
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):
|
|
# Note that this output isn't the best for documating your project.
|
|
# This output is what you get from the File/Plot menu in pcbnew.
|
|
# The `pcb_print` is usually a better alternative.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'pdf_example'
|
|
comment: 'Exports the PCB to the most common exchange format. Suitable for printing.'
|
|
type: 'pdf'
|
|
dir: 'Example/pdf_dir'
|
|
options:
|
|
# [list(dict)] A list of customized reports for the manufacturer
|
|
custom_reports:
|
|
# [string=''] Content for the report. Use `${basename}` for the project name without extension.
|
|
# Use `${filename(LAYER)}` for the file corresponding to LAYER
|
|
- content: ''
|
|
# [string='Custom_report.txt'] File name for the custom report
|
|
output: 'Custom_report.txt'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='full'] [none,small,full] What to use to indicate the drill places, can be none, small or full (for real scale)
|
|
drill_marks: 'full'
|
|
# [string=''] Used to configure the edge cuts layer extension for Protel mode. Include the dot
|
|
edge_cut_extension: ''
|
|
# [boolean=true] Do not include the PCB edge layer
|
|
exclude_edge_layer: true
|
|
# [boolean=false] Do not plot the component pads in the silk screen (KiCad 5.x only)
|
|
exclude_pads_from_silkscreen: false
|
|
# [boolean=false] Include references and values even when they are marked as invisible
|
|
force_plot_invisible_refs_vals: false
|
|
# [boolean=true] Tell KiCad to apply the scaling for each layer as a separated entity.
|
|
# Disabling it the pages are coherent and can be superposed
|
|
individual_page_scaling: true
|
|
# [string=''] Used to change the Protel style extensions for inner layers.
|
|
# The replacement pattern can contain %n for the inner layer number and %N for the layer number.
|
|
# Example '.g%n'
|
|
inner_extension_pattern: ''
|
|
# [number=0.1] [0.02,2] For objects without width [mm] (KiCad 5)
|
|
line_width: 0.1
|
|
# [boolean=false] Plot mirrored
|
|
mirror_plot: false
|
|
# [boolean=false] Invert black and white
|
|
negative_plot: false
|
|
# [string='%f-%i%I%v.%x'] Output file name, the default KiCad name if empty.
|
|
# IMPORTANT! KiCad will always create the file using its own name and then we can rename it.
|
|
# For this reason you must avoid generating two variants at the same directory when one of
|
|
# them uses the default KiCad name. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=true] Include the footprint references
|
|
plot_footprint_refs: true
|
|
# [boolean=true] Include the footprint values
|
|
plot_footprint_values: true
|
|
# [boolean=false] Include the frame and title block. Only available for KiCad 6+ and you get a poor result
|
|
# (i.e. always the default worksheet style, also problems expanding text variables).
|
|
# The `pcb_print` output can do a better job for PDF, SVG, PS, EPS and PNG outputs
|
|
plot_sheet_reference: false
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=1] Scale factor (0 means autoscaling)
|
|
scaling: 1
|
|
# [number=0.1] Line width for the sketched pads [mm], see `sketch_pads_on_fab_layers` (KiCad 6+)
|
|
# Note that this value is currently ignored by KiCad (6.0.9)
|
|
sketch_pad_line_width: 0.1
|
|
# [boolean=false] Draw only the outline of the pads on the *.Fab layers (KiCad 6+)
|
|
sketch_pads_on_fab_layers: false
|
|
# [boolean=true] Cover the vias
|
|
tent_vias: true
|
|
# [boolean=false] Use uppercase names for the extensions
|
|
uppercase_extensions: false
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
layers: all
|
|
# PDF PCB Print (Portable Document Format) *Deprecated*:
|
|
# This is the main format to document your PCB.
|
|
# This output is what you get from the 'File/Print' menu in pcbnew.
|
|
# The `pcb_print` is usually a better alternative.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'pdf_pcb_print_example'
|
|
comment: 'Exports the PCB to the most common exchange format. Suitable for printing.'
|
|
type: 'pdf_pcb_print'
|
|
dir: 'Example/pdf_pcb_print_dir'
|
|
options:
|
|
# [string='_builtin_classic'] Selects the color theme. Onlyu applies to KiCad 6.
|
|
# To use the KiCad 6 default colors select `_builtin_default`.
|
|
# Usually user colors are stored as `user`, but you can give it another name
|
|
color_theme: '_builtin_classic'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='full'] [none,small,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.
|
|
# Affected by global options
|
|
hide_excluded: false
|
|
# [boolean=false] Print mirrored (X axis inverted). ONLY for KiCad 6
|
|
mirror: false
|
|
# [boolean=false] Print in black and white
|
|
monochrome: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output PDF (%i=layers, %x=pdf). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# `output_name` is an alias for `output`
|
|
# [boolean=true] Include the title-block
|
|
plot_sheet_reference: true
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=1.0] Scale factor (0 means autoscaling). You should disable `plot_sheet_reference` when using it
|
|
scaling: 1.0
|
|
# [boolean=false] Print layers in separated pages
|
|
separated: false
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
layers: all
|
|
# PDF Schematic Print (Portable Document Format):
|
|
# This is the main format to document your schematic.
|
|
# This output is what you get from the 'File/Plot' menu in eeschema.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'pdf_sch_print_example'
|
|
comment: 'Exports the schematic to the most common exchange format. Suitable for printing.'
|
|
type: 'pdf_sch_print'
|
|
dir: 'Example/pdf_sch_print_dir'
|
|
options:
|
|
# [boolean=true] Generate with all hierarchical sheets
|
|
all_pages: true
|
|
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
|
background_color: false
|
|
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
|
color_theme: ''
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Include the frame and title block
|
|
frame: true
|
|
# [boolean=false] Generate a monochromatic output
|
|
monochrome: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output PDF (%i=schematic, %x=pdf). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply.
|
|
# Not fitted components are crossed
|
|
variant: ''
|
|
# PDF joiner:
|
|
# This is just a PDF joiner, using `pdfunite` from Poppler Utils.
|
|
- name: 'pdfunite_example'
|
|
comment: 'Generates a new PDF from other outputs.'
|
|
type: 'pdfunite'
|
|
dir: 'Example/pdfunite_dir'
|
|
options:
|
|
# [string='%f-%i%I%v.%x'] Name for the generated PDF (%i=name of the output %x=pdf). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [list(dict)] Which files will be included
|
|
outputs:
|
|
# [string='.*\.pdf'] A regular expression that source files must match
|
|
- filter: '.*\.pdf'
|
|
# [boolean=false] Use the current working directory instead of the dir specified by `-d`
|
|
from_cwd: false
|
|
# [string=''] Collect files from the selected output.
|
|
# When used the `source` option is ignored
|
|
from_output: ''
|
|
# [string='*.pdf'] File names to add, wildcards allowed. Use ** for recursive match.
|
|
# By default this pattern is applied to the output dir specified with `-d` command line option.
|
|
# See the `from_cwd` option
|
|
source: '*.pdf'
|
|
# [boolean=false] Use the `pdfunite` tool instead of PyPDF2 Python module
|
|
use_external_command: false
|
|
# Populate - Assembly instructions builder:
|
|
# Each step shows the already soldered components and the ones to add highlighted.
|
|
# This is equivalent to the PcbDraw's Populate command, but integrated to KiBot.
|
|
# For more information about the input markdown file please consult the
|
|
# [documentation](docs/populate.md)
|
|
- name: 'populate_example'
|
|
comment: 'Creates a markdown and/or HTML file explaining how to assembly a PCB.'
|
|
type: 'populate'
|
|
dir: 'Example/populate_dir'
|
|
options:
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='html'] [html,md] Format for the generated output
|
|
format: 'html'
|
|
# [string='img/populating_%d.%x'] Pattern used for the image names. The `%d` is replaced by the image number.
|
|
# The `%x` is replaced by the extension. Note that the format is selected by the
|
|
# `renderer`
|
|
imgname: 'img/populating_%d.%x'
|
|
# [string|list(string)=''] List of components soldered before the first step
|
|
initial_components: ''
|
|
# [string=''] Name of the input file describing the assembly. Must be a markdown file.
|
|
# Note that the YAML section of the file will be skipped, all the needed information
|
|
# comes from this output and the `renderer` output
|
|
input: ''
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Name of the output used to render the PCB steps.
|
|
# Currently this must be a `pcbdraw` or `render_3d` output
|
|
renderer: ''
|
|
# [string] The name of the handlebars template used for the HTML output.
|
|
# The extension must be `.handlebars`, it will be added when missing.
|
|
# The `simple.handlebars` template is a built-in template
|
|
template: 'simple'
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# Pick & place:
|
|
# This output is what you get from the 'File/Fabrication output/Footprint position (.pos) file' menu in pcbnew.
|
|
- name: 'position_example'
|
|
comment: 'Generates the file with position information for the PCB components, used by the pick and place machine.'
|
|
type: 'position'
|
|
dir: 'Example/position_dir'
|
|
options:
|
|
# [boolean=false] Use negative X coordinates for footprints on bottom layer
|
|
bottom_negative_x: false
|
|
# [list(dict)|list(string)] Which columns are included in the output
|
|
columns:
|
|
# [string=''] [Ref,Val,Package,PosX,PosY,Rot,Side] Internal name
|
|
- id: 'Ref'
|
|
# [string=''] Name to use in the output file. The id is used when empty
|
|
name: 'Reference'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='ASCII'] [ASCII,CSV,GBR] Format for the position file.
|
|
# Note that the gerber format (GBR) needs KiCad 7+ and doesn't support most of the options.
|
|
# Only the options that explicitly say the format is supported
|
|
format: 'ASCII'
|
|
# [boolean=false] Include the board edge in the gerber output
|
|
gerber_board_edge: false
|
|
# [boolean=false] Include virtual components. For special purposes, not pick & place.
|
|
# Note that virtual components is a KiCad 5 concept.
|
|
# For KiCad 6+ we replace this concept by the option to exclude from position file
|
|
include_virtual: false
|
|
# [boolean=true] Only include the surface mount components
|
|
only_smd: true
|
|
# [string='%f-%i%I%v.%x'] Output file name (%i='top_pos'|'bottom_pos'|'both_pos', %x='pos'|'csv'|'gbr').
|
|
# Important: when using separate files you must use `%i` to differentiate them. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=false] When generating the CSV quote all values, even numbers
|
|
quote_all: false
|
|
# [number=4] number of digits for mantissa part of coordinates (0 is auto)
|
|
right_digits: 4
|
|
# [boolean=true] Generate two separated files, one for the top and another for the bottom
|
|
separate_files_for_front_and_back: true
|
|
# [string='millimeters'] [millimeters,inches,mils] Units used for the positions. Affected by global options
|
|
units: 'millimeters'
|
|
# [boolean=true] Use the auxiliary axis as origin for coordinates (KiCad default).
|
|
# Supported by the gerber format
|
|
use_aux_axis_as_origin: true
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# PS (Postscript):
|
|
# This output is what you get from the File/Plot menu in pcbnew.
|
|
# The `pcb_print` is usually a better alternative.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'ps_example'
|
|
comment: 'Exports the PCB to a format suitable for printing.'
|
|
type: 'ps'
|
|
dir: 'Example/ps_dir'
|
|
options:
|
|
# [boolean=true] Force A4 paper size
|
|
a4_output: true
|
|
# [list(dict)] A list of customized reports for the manufacturer
|
|
custom_reports:
|
|
# [string=''] Content for the report. Use `${basename}` for the project name without extension.
|
|
# Use `${filename(LAYER)}` for the file corresponding to LAYER
|
|
- content: ''
|
|
# [string='Custom_report.txt'] File name for the custom report
|
|
output: 'Custom_report.txt'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='full'] [none,small,full] What to use to indicate the drill places, can be none, small or full (for real scale)
|
|
drill_marks: 'full'
|
|
# [string=''] Used to configure the edge cuts layer extension for Protel mode. Include the dot
|
|
edge_cut_extension: ''
|
|
# [boolean=true] Do not include the PCB edge layer
|
|
exclude_edge_layer: true
|
|
# [boolean=false] Do not plot the component pads in the silk screen (KiCad 5.x only)
|
|
exclude_pads_from_silkscreen: false
|
|
# [boolean=false] Include references and values even when they are marked as invisible
|
|
force_plot_invisible_refs_vals: false
|
|
# [boolean=true] Tell KiCad to apply the scaling for each layer as a separated entity.
|
|
# Disabling it the pages are coherent and can be superposed
|
|
individual_page_scaling: true
|
|
# [string=''] Used to change the Protel style extensions for inner layers.
|
|
# The replacement pattern can contain %n for the inner layer number and %N for the layer number.
|
|
# Example '.g%n'
|
|
inner_extension_pattern: ''
|
|
# [number=0.15] [0.02,2] For objects without width [mm] (KiCad 5)
|
|
line_width: 0.15
|
|
# [boolean=false] Plot mirrored
|
|
mirror_plot: false
|
|
# [boolean=false] Invert black and white
|
|
negative_plot: false
|
|
# [string='%f-%i%I%v.%x'] Output file name, the default KiCad name if empty.
|
|
# IMPORTANT! KiCad will always create the file using its own name and then we can rename it.
|
|
# For this reason you must avoid generating two variants at the same directory when one of
|
|
# them uses the default KiCad name. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=true] Include the footprint references
|
|
plot_footprint_refs: true
|
|
# [boolean=true] Include the footprint values
|
|
plot_footprint_values: true
|
|
# [boolean=false] Include the frame and title block. Only available for KiCad 6+ and you get a poor result
|
|
# (i.e. always the default worksheet style, also problems expanding text variables).
|
|
# The `pcb_print` output can do a better job for PDF, SVG, PS, EPS and PNG outputs
|
|
plot_sheet_reference: false
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=1.0] Fine grain adjust for the X scale (floating point multiplier)
|
|
scale_adjust_x: 1.0
|
|
# [number=1.0] Fine grain adjust for the Y scale (floating point multiplier)
|
|
scale_adjust_y: 1.0
|
|
# [number=1] Scale factor (0 means autoscaling)
|
|
scaling: 1
|
|
# [number=0.1] Line width for the sketched pads [mm], see `sketch_pads_on_fab_layers` (KiCad 6+)
|
|
# Note that this value is currently ignored by KiCad (6.0.9)
|
|
sketch_pad_line_width: 0.1
|
|
# [boolean=false] Draw only the outline of the pads on the *.Fab layers (KiCad 6+)
|
|
sketch_pads_on_fab_layers: false
|
|
# [boolean=false] Don't fill objects, just draw the outline
|
|
sketch_plot: false
|
|
# [boolean=true] Cover the vias
|
|
tent_vias: true
|
|
# [boolean=false] Use uppercase names for the extensions
|
|
uppercase_extensions: false
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# [number=0] This width factor is intended to compensate PS printers/plotters that do not strictly obey line width settings.
|
|
# Only used to plot pads and tracks
|
|
width_adjust: 0
|
|
layers: all
|
|
# PS Schematic Print (Postscript):
|
|
# This output is what you get from the 'File/Plot' menu in eeschema.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'ps_sch_print_example'
|
|
comment: 'Exports the schematic in postscript. Suitable for printing.'
|
|
type: 'ps_sch_print'
|
|
dir: 'Example/ps_sch_print_dir'
|
|
options:
|
|
# [boolean=true] Generate with all hierarchical sheets
|
|
all_pages: true
|
|
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
|
background_color: false
|
|
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
|
color_theme: ''
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Include the frame and title block
|
|
frame: true
|
|
# [boolean=false] Generate a monochromatic output
|
|
monochrome: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output postscript (%i=schematic, %x=ps). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply.
|
|
# Not fitted components are crossed
|
|
variant: ''
|
|
# QR_Lib:
|
|
# This output creates a library containing a symbol and footprint for a QR code.
|
|
# To refresh the generated symbols and footprints use the `update_qr` preflight.
|
|
# The workflow is as follows:
|
|
# - Create the symbol and footprints using this output.
|
|
# - Use them in your schematic and PCB.
|
|
# - To keep them updated add the `update_qr` preflight
|
|
- name: 'qr_lib_example'
|
|
comment: 'Generates a QR code symbol and footprint.'
|
|
type: 'qr_lib'
|
|
dir: 'Example/qr_lib_dir'
|
|
options:
|
|
# [string='QR'] Short name for the library
|
|
lib: 'QR'
|
|
# [string='%f-%i%I%v.%x'] Filename/dirname for the output library (%i=qr, %x=lib/kicad_sym/pretty).
|
|
# You must use %x in the name to get a symbols lib and a footprints lib. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [list(dict)] QR codes to include in the library
|
|
qrs:
|
|
# [string='low'] [low,medium,quartile,high] Error correction level
|
|
- correction_level: 'low'
|
|
# [string='silk'] [silk,copper] Layer for the footprint
|
|
layer: 'silk'
|
|
# [string='QR'] Name for the symbol/footprint
|
|
name: 'QR'
|
|
# [boolean=false] Generate a negative image for the PCB
|
|
pcb_negative: false
|
|
# [number=15] Size of the QR footprint
|
|
size_pcb: 15
|
|
# [number=15] Size of the QR symbol
|
|
size_sch: 15
|
|
# [string='millimeters'] [millimeters,inches] Units used for the size
|
|
size_units: 'millimeters'
|
|
# [string='%p %r'] Text to encode as QR
|
|
text: '%p %r'
|
|
# [string='QR'] The reference prefix
|
|
reference: 'QR'
|
|
# [boolean=true] Generate the libs relative to the schematic/PCB dir
|
|
use_sch_dir: true
|
|
# 3D render of the PCB:
|
|
- name: 'render_3d_example'
|
|
comment: "Exports the image generated by KiCad's 3D viewer."
|
|
type: 'render_3d'
|
|
dir: 'Example/render_3d_dir'
|
|
options:
|
|
# [boolean=false] When enabled the image will be post-processed to remove the empty space around the image.
|
|
# In this mode the `background2` is changed to be the same as `background1`
|
|
auto_crop: false
|
|
# [string='#66667F'] First color for the background gradient
|
|
background1: '#66667F'
|
|
# [string='#CCCCE5'] Second color for the background gradient
|
|
background2: '#CCCCE5'
|
|
# [string='#332B16'] Color for the board without copper or solder mask
|
|
board: '#332B16'
|
|
# [boolean=true] Clip silkscreen at via annuli (KiCad 6+)
|
|
clip_silk_on_via_annulus: true
|
|
# [string='#8b898c'] Color for the copper
|
|
copper: '#8b898c'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Downloads missing 3D models from KiCad git.
|
|
# Only applies to models in KISYS3DMOD and KICAD6_3DMODEL_DIR.
|
|
# They are downloaded to a temporal directory and discarded.
|
|
# If you want to cache the downloaded files specify a directory using the
|
|
# KIBOT_3D_MODELS environment variable
|
|
download: true
|
|
# [boolean=true] In addition to try to download the 3D models from KiCad git also try to get
|
|
# them from LCSC database. In order to work you'll need to provide the LCSC
|
|
# part number. The field containing the LCSC part number is defined by the
|
|
# `field_lcsc_part` global variable
|
|
download_lcsc: true
|
|
# [number=720] Image height (aprox.)
|
|
height: 720
|
|
# [list(string)=[]] List of components to highlight
|
|
highlight: []
|
|
# [boolean=false] Highlight over the component (not under)
|
|
highlight_on_top: false
|
|
# [number=1.5] [0,1000] How much the highlight extends around the component [mm]
|
|
highlight_padding: 1.5
|
|
# [string='https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'] Base URL for the KiCad 3D models
|
|
kicad_3d_url: 'https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'
|
|
# [string=''] Text added to the end of the download URL.
|
|
# Can be used to pass variables to the GET request, i.e. ?VAR1=VAL1&VAR2=VAL2
|
|
kicad_3d_url_suffix: ''
|
|
# [number=0] Steps to move in the X axis, positive is to the right.
|
|
# Just like pressing the right arrow in the 3D viewer
|
|
move_x: 0
|
|
# [number=0] Steps to move in the Y axis, positive is up.
|
|
# Just like pressing the up arrow in the 3D viewer
|
|
move_y: 0
|
|
# [boolean=false] Used to exclude 3D models for surface mount components
|
|
no_smd: false
|
|
# [boolean=false] Used to exclude 3D models for through hole components
|
|
no_tht: false
|
|
# [boolean=false] Used to exclude 3D models for components with 'virtual' attribute
|
|
no_virtual: false
|
|
# [boolean=false] Enable the orthographic projection mode (top view looks flat)
|
|
orthographic: false
|
|
# [string='%f-%i%I%v.%x'] Name for the generated image file (%i='3D_$VIEW' %x='png'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=false] Enable the ray tracing. Much better result, but slow, and you'll need to adjust `wait_rt`
|
|
ray_tracing: false
|
|
# [boolean=true] When disabled we use the colors of the layers used by the GUI. KiCad 6 or newer
|
|
realistic: true
|
|
# [number=0] Steps to rotate around the X axis, positive is clockwise.
|
|
# Each step is currently 10 degrees. Only for KiCad 6 or newer
|
|
rotate_x: 0
|
|
# [number=0] Steps to rotate around the Y axis, positive is clockwise.
|
|
# Each step is currently 10 degrees. Only for KiCad 6 or newer
|
|
rotate_y: 0
|
|
# [number=0] Steps to rotate around the Z axis, positive is clockwise.
|
|
# Each step is currently 10 degrees. Only for KiCad 6 or newer
|
|
rotate_z: 0
|
|
# [boolean=false] Show the content of F.Adhesive/B.Adhesive layers. KiCad 6 or newer
|
|
show_adhesive: false
|
|
# [boolean=true] Show the PCB core material. KiCad 6 or newer
|
|
show_board_body: true
|
|
# [boolean=false] Show the content of the User.Comments layer. KiCad 6 or newer and ray tracing disabled
|
|
show_comments: false
|
|
# [list(string)|string=all] [none,all] List of components to draw, can be also a string for `none` or `all`.
|
|
# Unlike the `pcbdraw` output, the default is `all`
|
|
show_components: all
|
|
# [boolean=false] Show the content of the Eco1.User/Eco2.User layers. KiCad 6 or newer and ray tracing disabled
|
|
show_eco: false
|
|
# [boolean=true] Show the silkscreen layers (KiCad 6+)
|
|
show_silkscreen: true
|
|
# [boolean=true] Show the solder mask layers (KiCad 6+)
|
|
show_soldermask: true
|
|
# [boolean=true] Show the solder paste layers (KiCad 6+)
|
|
show_solderpaste: true
|
|
# [boolean=true] Show filled areas in zones (KiCad 6+)
|
|
show_zones: true
|
|
# [string='#d5dce4'] Color for the silk screen
|
|
silk: '#d5dce4'
|
|
# [string='#208b47'] Color for the solder mask
|
|
solder_mask: '#208b47'
|
|
# [string='#808080'] Color for the solder paste
|
|
solder_paste: '#808080'
|
|
# [boolean=true] Clip silkscreen at solder mask edges (KiCad 6+)
|
|
subtract_mask_from_silk: true
|
|
# [boolean=false] When enabled the image will be post-processed to make the background transparent.
|
|
# In this mode the `background1` and `background2` colors are ignored
|
|
transparent_background: false
|
|
# [string='#00ff00'] Color used for the chroma key. Adjust it if some regions of the board becomes transparent
|
|
transparent_background_color: '#00ff00'
|
|
# [number=15] [0,100] Chroma key tolerance (percent). Bigger values will remove more pixels
|
|
transparent_background_fuzz: 15
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# [string='top'] [top,bottom,front,rear,right,left,z,Z,y,Y,x,X] Point of view
|
|
view: 'top'
|
|
# `wait_ray_tracing` is an alias for `wait_render`
|
|
# [number=-600] How many seconds we must wait before capturing the render (ray tracing or normal).
|
|
# Lamentably KiCad can save an unfinished image. Enlarge it if your image looks partially rendered.
|
|
# Use negative values to enable the auto-detect using CPU load.
|
|
# In this case the value is interpreted as a time-out.
|
|
wait_render: -600
|
|
# [number=1280] Image width (aprox.)
|
|
width: 1280
|
|
# [number=0] Zoom steps. Use positive to enlarge, get closer, and negative to reduce.
|
|
# Same result as using the mouse wheel in the 3D viewer
|
|
zoom: 0
|
|
# Design report:
|
|
# Mainly oriented to be sent to the manufacturer or check PCB details.
|
|
# You can expand internal values, KiCad text variables and environment
|
|
# variables using `${VARIABLE}`
|
|
- name: 'report_example'
|
|
comment: 'Generates a report about the design.'
|
|
type: 'report'
|
|
dir: 'Example/report_dir'
|
|
options:
|
|
# [string='markdown'] Original format for the report conversion. Current templates are `markdown`. See `do_convert`
|
|
convert_from: 'markdown'
|
|
# [string='pdf'] Target format for the report conversion. See `do_convert`
|
|
convert_to: 'pdf'
|
|
# [string='%f-%i%I%v.%x'] Converted output file name (%i='report', %x=`convert_to`).
|
|
# Note that the extension should match the `convert_to` value. Affected by global options
|
|
converted_output: '%f-%i%I%v.%x'
|
|
# [boolean=false] Run `Pandoc` to convert the report. Note that Pandoc must be installed.
|
|
# The conversion is done assuming the report is in `convert_from` format.
|
|
# The output file will be in `convert_to` format.
|
|
# The available formats depends on the `Pandoc` installation.
|
|
# In CI/CD environments: the `kicad_auto_test` docker image contains it.
|
|
# In Debian/Ubuntu environments: install `pandoc`, `texlive`, `texlive-latex-base` and `texlive-latex-recommended`
|
|
do_convert: false
|
|
# [string='10F'] Which Eurocircuits class are we aiming at
|
|
eurocircuits_class_target: '10F'
|
|
# [number=0.45] When computing the Eurocircuits category: Final holes sizes smaller or equal to this given
|
|
# diameter can be reduced to accommodate the correct annular ring values.
|
|
# Use 0 to disable it
|
|
eurocircuits_reduce_holes: 0.45
|
|
# [string='%f-%i%I%v.%x'] Output file name (%i='report', %x='txt'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string='full'] Name for one of the internal templates (full, full_svg, simple) or a custom template file.
|
|
# Environment variables and ~ are allowed.
|
|
# Note: when converting to PDF PanDoc can fail on some Unicode values (use `simple_ASCII`)
|
|
template: 'full'
|
|
# Schematic with variant generator:
|
|
# This copy isn't intended for development.
|
|
# Is just a tweaked version of the original where you can look at the results.
|
|
- name: 'sch_variant_example'
|
|
comment: 'Creates a copy of the schematic with all the filters and variants applied.'
|
|
type: 'sch_variant'
|
|
dir: 'Example/sch_variant_dir'
|
|
options:
|
|
# [boolean=false] Copy the KiCad project to the destination directory.
|
|
# Disabled by default for compatibility with older versions
|
|
copy_project: false
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# 3D Printed Stencils:
|
|
# SLA printer, you can use it to apply solder paste to your PCB.
|
|
# These stencils are quick solution when you urgently need a stencil but probably
|
|
# they don't last long and might come with imperfections.
|
|
# It currently uses KiKit, so please read
|
|
# [KiKit docs](https://github.com/yaqwsx/KiKit/blob/master/doc/stencil.md).
|
|
# Note that we don't implement `--ignore` option, you should use a variant for this
|
|
- name: 'stencil_3d_example'
|
|
comment: 'Creates a 3D self-registering model of a stencil you can easily print on'
|
|
type: 'stencil_3d'
|
|
dir: 'Example/stencil_3d_dir'
|
|
options:
|
|
# [boolean=true] Creates a PNG showing the generated 3D model
|
|
create_preview: true
|
|
# [string|list(string)] List of components to add a cutout based on the component courtyard.
|
|
# This is useful when you have already pre-populated board and you want to populate more
|
|
# components
|
|
cutout: ''
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# `enlarge_holes` is an alias for `enlarge_holes`
|
|
# [number=0] Enlarge pad holes by x mm
|
|
enlargeholes: 0
|
|
# `frame_clearance` is an alias for `frameclearance`
|
|
# `frame_width` is an alias for `framewidth`
|
|
# [number=0] Clearance for the stencil register [mm]
|
|
frameclearance: 0
|
|
# [number=1] Register frame width
|
|
framewidth: 1
|
|
# [boolean=true] Include the generated OpenSCAD files.
|
|
# Note that this also includes the DXF files
|
|
include_scad: true
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i='stencil_3d_top'|'stencil_3d_bottom'|'stencil_3d_edge',
|
|
# %x='stl'|'scad'|'dxf'|'png'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# `pcb_thickness` is an alias for `pcbthickness`
|
|
# [number=0] PCB thickness [mm]. If 0 we will ask KiCad
|
|
pcbthickness: 0
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string='auto'] [top,bottom,auto,both] Which side of the PCB we want. Using `auto` will detect which
|
|
# side contains solder paste
|
|
side: 'auto'
|
|
# [number=0.15] Stencil thickness [mm]. Defines amount of paste dispensed
|
|
thickness: 0.15
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# Steel Stencils for Alignment Jig:
|
|
# These stencils are designed to be used with an acrilic alignment jig and a 3D
|
|
# printable support, that is also generated.
|
|
# [KiKit docs](https://github.com/yaqwsx/KiKit/blob/master/doc/stencil.md).
|
|
# Note that we don't implement `--ignore` option, you should use a variant for this
|
|
- name: 'stencil_for_jig_example'
|
|
comment: 'Creates the gerber files needed to create steel stencils.'
|
|
type: 'stencil_for_jig'
|
|
dir: 'Example/stencil_for_jig_dir'
|
|
options:
|
|
# [boolean=true] Creates a PNG showing the generated 3D model
|
|
create_preview: true
|
|
# [string|list(string)] List of components to add a cutout based on the component courtyard.
|
|
# This is useful when you have already pre-populated board and you want to populate more
|
|
# components
|
|
cutout: ''
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Include the generated OpenSCAD files
|
|
include_scad: true
|
|
# `jig_height` is an alias for `jigheight`
|
|
# `jig_thickness` is an alias for `jigthickness`
|
|
# `jig_width` is an alias for `jigwidth`
|
|
# [number=100] Jig frame height [mm]
|
|
jigheight: 100
|
|
# [number=3] Jig thickness [mm]
|
|
jigthickness: 3
|
|
# [number=100] Jig frame width [mm]
|
|
jigwidth: 100
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i='stencil_for_jig_top'|'stencil_for_jig_bottom',
|
|
# %x='stl'|'scad'|'gbp'|'gtp'|'gbrjob'|'png'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# `pcb_thickness` is an alias for `pcbthickness`
|
|
# [number=0] PCB thickness [mm]. If 0 we will ask KiCad
|
|
pcbthickness: 0
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# `register_border_inner` is an alias for `registerborderinner`
|
|
# `register_border_outer` is an alias for `registerborderouter`
|
|
# [number=1] Inner register border [mm]
|
|
registerborderinner: 1
|
|
# [number=3] Outer register border [mm]
|
|
registerborderouter: 3
|
|
# [string='auto'] [top,bottom,auto,both] Which side of the PCB we want. Using `auto` will detect which
|
|
# side contains solder paste
|
|
side: 'auto'
|
|
# [number=0.05] Enlarges the register by the tolerance value [mm]
|
|
tolerance: 0.05
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# STEP (ISO 10303-21 Clear Text Encoding of the Exchange Structure):
|
|
# This is the most common 3D format for exchange purposes.
|
|
# This output is what you get from the 'File/Export/STEP' menu in pcbnew.
|
|
- name: 'step_example'
|
|
comment: 'Exports the PCB as a 3D model.'
|
|
type: 'step'
|
|
dir: 'Example/step_dir'
|
|
options:
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Downloads missing 3D models from KiCad git.
|
|
# Only applies to models in KISYS3DMOD and KICAD6_3DMODEL_DIR.
|
|
# They are downloaded to a temporal directory and discarded.
|
|
# If you want to cache the downloaded files specify a directory using the
|
|
# KIBOT_3D_MODELS environment variable
|
|
download: true
|
|
# [boolean=true] In addition to try to download the 3D models from KiCad git also try to get
|
|
# them from LCSC database. In order to work you'll need to provide the LCSC
|
|
# part number. The field containing the LCSC part number is defined by the
|
|
# `field_lcsc_part` global variable
|
|
download_lcsc: true
|
|
# [string='https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'] Base URL for the KiCad 3D models
|
|
kicad_3d_url: 'https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'
|
|
# [string=''] Text added to the end of the download URL.
|
|
# Can be used to pass variables to the GET request, i.e. ?VAR1=VAL1&VAR2=VAL2
|
|
kicad_3d_url_suffix: ''
|
|
# [boolean=true] Use metric units instead of inches
|
|
metric_units: true
|
|
# [number=-1] The minimum distance between points to treat them as separate ones (-1 is KiCad default: 0.01 mm)
|
|
min_distance: -1
|
|
# [boolean=false] Used to exclude 3D models for components with 'virtual' attribute
|
|
no_virtual: false
|
|
# [string='grid'] Determines the coordinates origin. Using grid the coordinates are the same as you have in the design sheet.
|
|
# The drill option uses the auxiliary reference defined by the user.
|
|
# You can define any other origin using the format 'X,Y', i.e. '3.2,-10'
|
|
origin: 'grid'
|
|
# [string='%f-%i%I%v.%x'] Name for the generated STEP file (%i='3D' %x='step'). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [boolean=true] Substitute STEP or IGS models with the same name in place of VRML models
|
|
subst_models: true
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
# SVG (Scalable Vector Graphics):
|
|
# Unlike bitmaps SVG drawings can be scaled without losing resolution.
|
|
# This output is what you get from the File/Plot menu in pcbnew.
|
|
# The `pcb_print` is usually a better alternative.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'svg_example'
|
|
comment: 'Exports the PCB to a format suitable for 2D graphics software.'
|
|
type: 'svg'
|
|
dir: 'Example/svg_dir'
|
|
options:
|
|
# [list(dict)] A list of customized reports for the manufacturer
|
|
custom_reports:
|
|
# [string=''] Content for the report. Use `${basename}` for the project name without extension.
|
|
# Use `${filename(LAYER)}` for the file corresponding to LAYER
|
|
- content: ''
|
|
# [string='Custom_report.txt'] File name for the custom report
|
|
output: 'Custom_report.txt'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='full'] [none,small,full] What to use to indicate the drill places, can be none, small or full (for real scale)
|
|
drill_marks: 'full'
|
|
# [string=''] Used to configure the edge cuts layer extension for Protel mode. Include the dot
|
|
edge_cut_extension: ''
|
|
# [boolean=true] Do not include the PCB edge layer
|
|
exclude_edge_layer: true
|
|
# [boolean=false] Do not plot the component pads in the silk screen (KiCad 5.x only)
|
|
exclude_pads_from_silkscreen: false
|
|
# [boolean=false] Include references and values even when they are marked as invisible
|
|
force_plot_invisible_refs_vals: false
|
|
# [boolean=true] Tell KiCad to apply the scaling for each layer as a separated entity.
|
|
# Disabling it the pages are coherent and can be superposed
|
|
individual_page_scaling: true
|
|
# [string=''] Used to change the Protel style extensions for inner layers.
|
|
# The replacement pattern can contain %n for the inner layer number and %N for the layer number.
|
|
# Example '.g%n'
|
|
inner_extension_pattern: ''
|
|
# [boolean=false] When enabled the view box is limited to a selected area.
|
|
# This option can't be enabled when using a scale
|
|
limit_viewbox: false
|
|
# [number=0.25] [0.02,2] For objects without width [mm] (KiCad 5)
|
|
line_width: 0.25
|
|
# [number|dict] Margin around the view box [mm].
|
|
# Using a number the margin is the same in the four directions.
|
|
# See `limit_viewbox` option
|
|
margin:
|
|
# [number=0] Bottom margin [mm]
|
|
bottom: 0
|
|
# [number=0] Left margin [mm]
|
|
left: 0
|
|
# [number=0] Right margin [mm]
|
|
right: 0
|
|
# [number=0] Top margin [mm]
|
|
top: 0
|
|
# [boolean=false] Plot mirrored
|
|
mirror_plot: false
|
|
# [boolean=false] Invert black and white
|
|
negative_plot: false
|
|
# [string='%f-%i%I%v.%x'] Output file name, the default KiCad name if empty.
|
|
# IMPORTANT! KiCad will always create the file using its own name and then we can rename it.
|
|
# For this reason you must avoid generating two variants at the same directory when one of
|
|
# them uses the default KiCad name. Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [boolean=true] Include the footprint references
|
|
plot_footprint_refs: true
|
|
# [boolean=true] Include the footprint values
|
|
plot_footprint_values: true
|
|
# [boolean=false] Include the frame and title block. Only available for KiCad 6+ and you get a poor result
|
|
# (i.e. always the default worksheet style, also problems expanding text variables).
|
|
# The `pcb_print` output can do a better job for PDF, SVG, PS, EPS and PNG outputs
|
|
plot_sheet_reference: false
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=1] Scale factor (0 means autoscaling)
|
|
scaling: 1
|
|
# [string='kicad_edge'] [kicad_edge,kicad_all] Method used to detect the size of the view box.
|
|
# The `kicad_edge` method uses the size of the board as reported by KiCad,
|
|
# components that extend beyond the PCB limit will be cropped. You can manually
|
|
# adjust the margin to make them visible.
|
|
# The `kicad_all` method uses the whole size reported by KiCad. Usually includes extra space.
|
|
# See `limit_viewbox` option
|
|
size_detection: 'kicad_edge'
|
|
# [number=0.1] Line width for the sketched pads [mm], see `sketch_pads_on_fab_layers` (KiCad 6+)
|
|
# Note that this value is currently ignored by KiCad (6.0.9)
|
|
sketch_pad_line_width: 0.1
|
|
# [boolean=false] Draw only the outline of the pads on the *.Fab layers (KiCad 6+)
|
|
sketch_pads_on_fab_layers: false
|
|
# [number=4] [0,6] Scale factor used to represent 1 mm in the SVG (KiCad 6).
|
|
# The value is how much zeros has the multiplier (1 mm = 10 power `svg_precision` units).
|
|
# Note that for an A4 paper Firefox 91 and Chrome 105 can't handle more than 5
|
|
svg_precision: 4
|
|
# [boolean=true] Cover the vias
|
|
tent_vias: true
|
|
# [boolean=false] Use uppercase names for the extensions
|
|
uppercase_extensions: false
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
layers: all
|
|
# SVG PCB Print (Scalable Vector Graphics) *Deprecated*:
|
|
# This output is what you get from the 'File/Print' menu in pcbnew.
|
|
# The `pcb_print` is usually a better alternative.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'svg_pcb_print_example'
|
|
comment: 'Exports the PCB to the scalable vector graphics format.'
|
|
type: 'svg_pcb_print'
|
|
dir: 'Example/svg_pcb_print_dir'
|
|
options:
|
|
# [string='_builtin_classic'] Selects the color theme. Onlyu applies to KiCad 6.
|
|
# To use the KiCad 6 default colors select `_builtin_default`.
|
|
# Usually user colors are stored as `user`, but you can give it another name
|
|
color_theme: '_builtin_classic'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [string='full'] [none,small,full] What to use to indicate the drill places, can be none, small or full (for real scale)
|
|
drill_marks: 'full'
|
|
# [boolean=true] Enable workaround for KiCad 5 bug
|
|
enable_ki5_page_fix: true
|
|
# [boolean=true] Enable workaround for KiCad 6 bug #11033
|
|
enable_ki6_page_fix: true
|
|
# [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.
|
|
# Affected by global options
|
|
hide_excluded: false
|
|
# [boolean=false] Print mirrored (X axis inverted). ONLY for KiCad 6
|
|
mirror: false
|
|
# [boolean=false] Print in black and white
|
|
monochrome: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output SVG (%i=layers, %x=svg). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# `output_name` is an alias for `output`
|
|
# [boolean=true] Include the title-block
|
|
plot_sheet_reference: true
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [number=1.0] Scale factor (0 means autoscaling). You should disable `plot_sheet_reference` when using it
|
|
scaling: 1.0
|
|
# [boolean=false] Print layers in separated pages
|
|
separated: false
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|
|
layers: all
|
|
# SVG Schematic Print:
|
|
# This is a format to document your schematic.
|
|
# This output is what you get from the 'File/Plot' menu in eeschema.
|
|
# If you use custom fonts and/or colors please consult the `resources_dir` global variable.
|
|
- name: 'svg_sch_print_example'
|
|
comment: 'Exports the schematic in a vectorized graphics format.'
|
|
type: 'svg_sch_print'
|
|
dir: 'Example/svg_sch_print_dir'
|
|
options:
|
|
# [boolean=true] Generate with all hierarchical sheets
|
|
all_pages: true
|
|
# [boolean=false] Use the background color from the `color_theme` (KiCad 6)
|
|
background_color: false
|
|
# [string=''] Color theme used, this must exist in the KiCad config (KiCad 6)
|
|
color_theme: ''
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Include the frame and title block
|
|
frame: true
|
|
# [boolean=false] Generate a monochromatic output
|
|
monochrome: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output SVG (%i=schematic, %x=svg). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
|
|
# If it starts with `+` the text is concatenated
|
|
title: ''
|
|
# [string=''] Board variant to apply.
|
|
# Not fitted components are crossed
|
|
variant: ''
|
|
# VRML (Virtual Reality Modeling Language):
|
|
# This is intended for rendering, unlike STEP which is intended to be
|
|
# an exact mechanic model
|
|
- name: 'vrml_example'
|
|
comment: 'Exports the PCB as a 3D model (WRL file).'
|
|
type: 'vrml'
|
|
dir: 'Example/vrml_dir'
|
|
options:
|
|
# [string='shapes3D'] Subdirectory used to store the 3D models for the components.
|
|
# If you want to create a monolithic file just use '' here.
|
|
# Note that the WRL file will contain relative paths to the models
|
|
dir_models: 'shapes3D'
|
|
# [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
|
|
dnf_filter: '_none'
|
|
# [boolean=true] Downloads missing 3D models from KiCad git.
|
|
# Only applies to models in KISYS3DMOD and KICAD6_3DMODEL_DIR.
|
|
# They are downloaded to a temporal directory and discarded.
|
|
# If you want to cache the downloaded files specify a directory using the
|
|
# KIBOT_3D_MODELS environment variable
|
|
download: true
|
|
# [boolean=true] In addition to try to download the 3D models from KiCad git also try to get
|
|
# them from LCSC database. In order to work you'll need to provide the LCSC
|
|
# part number. The field containing the LCSC part number is defined by the
|
|
# `field_lcsc_part` global variable
|
|
download_lcsc: true
|
|
# [list(string)=[]] List of components to highlight
|
|
highlight: []
|
|
# [boolean=false] Highlight over the component (not under)
|
|
highlight_on_top: false
|
|
# [number=1.5] [0,1000] How much the highlight extends around the component [mm]
|
|
highlight_padding: 1.5
|
|
# [string='https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'] Base URL for the KiCad 3D models
|
|
kicad_3d_url: 'https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/'
|
|
# [string=''] Text added to the end of the download URL.
|
|
# Can be used to pass variables to the GET request, i.e. ?VAR1=VAL1&VAR2=VAL2
|
|
kicad_3d_url_suffix: ''
|
|
# [string='millimeters'] [millimeters,meters,deciinches,inches] Units used for the VRML (1 deciinch = 0.1 inches)
|
|
model_units: 'millimeters'
|
|
# [boolean=false] Used to exclude 3D models for components with 'virtual' attribute
|
|
no_virtual: false
|
|
# [string='%f-%i%I%v.%x'] Filename for the output (%i=vrml, %x=wrl). Affected by global options
|
|
output: '%f-%i%I%v.%x'
|
|
# [string|list(string)='_none'] Name of the filter to transform fields before applying other filters.
|
|
# A short-cut to use for simple cases where a variant is an overkill
|
|
pre_transform: '_none'
|
|
# [string='millimeters'] [millimeters,inches'] Units for `ref_x` and `ref_y`
|
|
ref_units: 'millimeters'
|
|
# [number=0] X coordinate to use as reference when `use_pcb_center_as_ref` and `use_pcb_center_as_ref` are disabled
|
|
ref_x: 0
|
|
# [number=0] Y coordinate to use as reference when `use_pcb_center_as_ref` and `use_pcb_center_as_ref` are disabled
|
|
ref_y: 0
|
|
# [list(string)|string=all] [none,all] List of components to draw, can be also a string for `none` or `all`.
|
|
# Unlike the `pcbdraw` output, the default is `all`
|
|
show_components: all
|
|
# [boolean=false] Use the auxiliary axis as origin for coordinates.
|
|
# Has more precedence than `use_pcb_center_as_ref`
|
|
use_aux_axis_as_origin: false
|
|
# [boolean=true] The center of the PCB will be used as reference point.
|
|
# When disabled the `ref_x`, `ref_y` and `ref_units` will be used
|
|
use_pcb_center_as_ref: true
|
|
# [string=''] Board variant to apply
|
|
variant: ''
|