KiBot/docs/source/configuration/outputs/panelize.rst

405 lines
44 KiB
ReStructuredText

.. Automatically generated by KiBot, please don't edit this file
.. index::
pair: Panelize; panelize
Panelize
~~~~~~~~
Creates a panel to fabricate various copies of the PCB at once.
It currently uses the KiKit tool, which must be available. |br|
Consult KiKit docs for detailed information. |br|
`KiKit panelization docs <https://github.com/yaqwsx/KiKit/blob/master/doc/examples.md>`__. |br|
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. |br|
Note that you don't need to specify the units for all distances. |br|
If they are omitted they are assumed to be `units`. |br|
The same is valid for angles, using `default_angles`
Type: ``panelize``
Category: **PCB/fabrication**
Parameters:
- **comment** :index:`: <pair: output - panelize; comment>` [string=''] A comment for documentation purposes. It helps to identify the output.
- **dir** :index:`: <pair: output - panelize; dir>` [string='./'] Output directory for the generated files.
If it starts with `+` the rest is concatenated to the default dir.
- **name** :index:`: <pair: output - panelize; name>` [string=''] Used to identify this particular output definition.
Avoid using `_` as first character. These names are reserved for KiBot.
- **options** :index:`: <pair: output - panelize; options>` [dict] Options for the `Panelize` output.
- Valid keys:
- **configs** :index:`: <pair: output - panelize - options; configs>` [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.
- Valid keys:
- **cuts** :index:`: <pair: output - panelize - options - configs; cuts>` [dict] Specify how to perform the cuts on the tabs separating the board.
- Valid keys:
- **type** :index:`: <pair: output - panelize - options - configs - cuts; type>` [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.
- ``arg`` :index:`: <pair: output - panelize - options - configs - cuts; arg>` [string=''] Argument to pass to the plugin. Used for *plugin*.
- ``clearance`` :index:`: <pair: output - panelize - options - configs - cuts; clearance>` [number|string] Specify clearance for copper around V-cuts.
- ``code`` :index:`: <pair: output - panelize - options - configs - cuts; code>` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*.
- *cut_curves* :index:`: <pair: output - panelize - options - configs - cuts; cut_curves>` Alias for cutcurves.
- ``cutcurves`` :index:`: <pair: output - panelize - options - configs - cuts; cutcurves>` [boolean=false] Specify if curves should be approximated by straight cuts (e.g., for cutting tabs on circular boards).
Used for *vcuts*.
- ``drill`` :index:`: <pair: output - panelize - options - configs - cuts; drill>` [number|string] Drill size used for the *mousebites*.
- ``layer`` :index:`: <pair: output - panelize - options - configs - cuts; layer>` [string='Cmts.User'] Specify the layer to render V-cuts on. Also used for the *layer* type.
- ``offset`` :index:`: <pair: output - panelize - options - configs - cuts; offset>` [number|string] Specify the *mousebites* and *vcuts* offset, positive offset puts the cuts into the board,
negative puts the cuts into the tabs.
- ``prolong`` :index:`: <pair: output - panelize - options - configs - cuts; prolong>` [number|string] Distance for tangential prolongation of the cuts (to cut through the internal corner fillets
caused by milling). Used for *mousebites* and *layer*.
- ``spacing`` :index:`: <pair: output - panelize - options - configs - cuts; spacing>` [number|string] The spacing of the holes used for the *mousebites*.
- **fiducials** :index:`: <pair: output - panelize - options - configs; fiducials>` [dict] Used to add fiducial marks to the (rail/frame of) the panel.
- Valid keys:
- **type** :index:`: <pair: output - panelize - options - configs - fiducials; type>` [string='none'] [none,3fid,4fid,plugin] Add none, 3 or 4 fiducials to the (rail/frame of) the panel.
- *copper_size* :index:`: <pair: output - panelize - options - configs - fiducials; copper_size>` Alias for coppersize.
- ``coppersize`` :index:`: <pair: output - panelize - options - configs - fiducials; coppersize>` [number|string] Diameter of the copper spot.
- ``hoffset`` :index:`: <pair: output - panelize - options - configs - fiducials; hoffset>` [number|string] Horizontal offset from panel edges.
- ``opening`` :index:`: <pair: output - panelize - options - configs - fiducials; opening>` [number|string] Diameter of the solder mask opening.
- ``voffset`` :index:`: <pair: output - panelize - options - configs - fiducials; voffset>` [number|string] Vertical offset from panel edges.
- **framing** :index:`: <pair: output - panelize - options - configs; framing>` [dict] Specify the frame around the boards.
- Valid keys:
- **type** :index:`: <pair: output - panelize - options - configs - framing; type>` [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.
- ``arg`` :index:`: <pair: output - panelize - options - configs - framing; arg>` [string=''] Argument to pass to the plugin. Used for *plugin*.
- ``chamfer`` :index:`: <pair: output - panelize - options - configs - framing; chamfer>` [number|string] Specify the size of chamfer frame corners.
- ``code`` :index:`: <pair: output - panelize - options - configs - framing; code>` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*.
- ``cuts`` :index:`: <pair: output - panelize - options - configs - framing; cuts>` [string='both'] [none,both,v,h] Specify whether to add cuts to the corners of the frame for easy removal.
Used for *frame*.
- ``fillet`` :index:`: <pair: output - panelize - options - configs - framing; fillet>` [number|string] Specify radius of fillet frame corners.
- ``hspace`` :index:`: <pair: output - panelize - options - configs - framing; hspace>` [number|string] Specify the horizontal space between PCB and the frame/rail.
- *min_total_height* :index:`: <pair: output - panelize - options - configs - framing; min_total_height>` Alias for mintotalheight.
- *min_total_width* :index:`: <pair: output - panelize - options - configs - framing; min_total_width>` Alias for mintotalwidth.
- ``mintotalheight`` :index:`: <pair: output - panelize - options - configs - framing; mintotalheight>` [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`` :index:`: <pair: output - panelize - options - configs - framing; 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.
- *slot_width* :index:`: <pair: output - panelize - options - configs - framing; slot_width>` Alias for slotwidth.
- ``slotwidth`` :index:`: <pair: output - panelize - options - configs - framing; slotwidth>` [number|string] Width of the milled slot for *tightframe*.
- ``space`` :index:`: <pair: output - panelize - options - configs - framing; space>` [number|string] Specify the space between PCB and the frame/rail. Overrides `hspace` and `vspace`.
- ``vspace`` :index:`: <pair: output - panelize - options - configs - framing; vspace>` [number|string] Specify the vertical space between PCB and the frame/rail.
- ``width`` :index:`: <pair: output - panelize - options - configs - framing; width>` [number|string] Specify with of the rails or frame.
- **layout** :index:`: <pair: output - panelize - options - configs; layout>` [dict] Layout used for the panel.
- Valid keys:
- **cols** :index:`: <pair: output - panelize - options - configs - layout; cols>` [number=1] Specify the number of columns of boards in the grid pattern.
- **rows** :index:`: <pair: output - panelize - options - configs - layout; rows>` [number=1] Specify the number of rows of boards in the grid pattern.
- ``alternation`` :index:`: <pair: output - panelize - options - configs - layout; alternation>` [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.
- ``arg`` :index:`: <pair: output - panelize - options - configs - layout; arg>` [string=''] Argument to pass to the plugin. Used for *plugin*.
- *bake_text* :index:`: <pair: output - panelize - options - configs - layout; bake_text>` Alias for baketext.
- ``baketext`` :index:`: <pair: output - panelize - options - configs - layout; baketext>` [boolean=true] A flag that indicates if text variables should be substituted or not.
- ``code`` :index:`: <pair: output - panelize - options - configs - layout; code>` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*.
- ``hbackbone`` :index:`: <pair: output - panelize - options - configs - layout; hbackbone>` [number|string] The width of horizontal backbone (0 means no backbone). The backbone does not increase the
spacing of the boards.
- ``hbonecut`` :index:`: <pair: output - panelize - options - configs - layout; hbonecut>` [boolean=true] If there are both backbones specified, specifies if there should be a horizontal cut where the backbones
cross.
- ``hboneskip`` :index:`: <pair: output - panelize - options - configs - layout; hboneskip>` [number=0] Skip every n horizontal backbones. I.e., 1 means place only every other backbone.
- ``hspace`` :index:`: <pair: output - panelize - options - configs - layout; hspace>` [number|string] Specify the horizontal gap between the boards.
- *rename_net* :index:`: <pair: output - panelize - options - configs - layout; rename_net>` Alias for renamenet.
- *rename_ref* :index:`: <pair: output - panelize - options - configs - layout; rename_ref>` Alias for renameref.
- ``renamenet`` :index:`: <pair: output - panelize - options - configs - layout; renamenet>` [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.
- ``renameref`` :index:`: <pair: output - panelize - options - configs - layout; renameref>` [string='{orig}'] A pattern by which to rename the references. You can use {n} and {orig} to get the board number and original
name.
- ``rotation`` :index:`: <pair: output - panelize - options - configs - layout; rotation>` [number|string] Rotate the boards before placing them in the panel.
- ``space`` :index:`: <pair: output - panelize - options - configs - layout; space>` [number|string] Specify the gap between the boards, overwrites `hspace` and `vspace`.
- ``type`` :index:`: <pair: output - panelize - options - configs - layout; type>` [string='grid'] [grid,plugin] In the plugin type only `code` and `arg` are relevant.
- ``vbackbone`` :index:`: <pair: output - panelize - options - configs - layout; vbackbone>` [number|string] The width of vertical backbone (0 means no backbone). The backbone does not increase the
spacing of the boards.
- ``vbonecut`` :index:`: <pair: output - panelize - options - configs - layout; vbonecut>` [boolean=true] If there are both backbones specified, specifies if there should be a vertical cut where the backbones
cross.
- ``vboneskip`` :index:`: <pair: output - panelize - options - configs - layout; vboneskip>` [number=0] Skip every n vertical backbones. I.e., 1 means place only every other backbone.
- ``vspace`` :index:`: <pair: output - panelize - options - configs - layout; vspace>` [number|string] Specify the vertical gap between the boards.
- **page** :index:`: <pair: output - panelize - options - configs; page>` [dict] Sets page size on the resulting panel and position the panel in the page.
- Valid keys:
- *page_size* :index:`: <pair: output - panelize - options - configs - page; page_size>` Alias for type.
- *size* :index:`: <pair: output - panelize - options - configs - page; size>` Alias for type.
- **type** :index:`: <pair: output - panelize - options - configs - page; 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.
- ``anchor`` :index:`: <pair: output - panelize - options - configs - page; anchor>` [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.
- ``height`` :index:`: <pair: output - panelize - options - configs - page; height>` [number|string] Height for the `custom` paper size.
- *pos_x* :index:`: <pair: output - panelize - options - configs - page; pos_x>` Alias for posx.
- *pos_y* :index:`: <pair: output - panelize - options - configs - page; pos_y>` Alias for posy.
- ``posx`` :index:`: <pair: output - panelize - options - configs - page; posx>` [number|string] The X position of the panel on the page.
- ``posy`` :index:`: <pair: output - panelize - options - configs - page; posy>` [number|string] The Y position of the panel on the page.
- ``width`` :index:`: <pair: output - panelize - options - configs - page; width>` [number|string] Width for the `custom` paper size.
- **tabs** :index:`: <pair: output - panelize - options - configs; tabs>` [dict] Style of the tabs used to join the PCB copies.
- Valid keys:
- **type** :index:`: <pair: output - panelize - options - configs - tabs; type>` [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.
- ``arg`` :index:`: <pair: output - panelize - options - configs - tabs; arg>` [string=''] Argument to pass to the plugin. Used for *plugin*.
- ``code`` :index:`: <pair: output - panelize - options - configs - tabs; code>` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*.
- ``cutout`` :index:`: <pair: output - panelize - options - configs - tabs; cutout>` [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*.
- ``hcount`` :index:`: <pair: output - panelize - options - configs - tabs; hcount>` [number=1] Number of tabs in the horizontal direction. Used for *fixed*.
- ``hwidth`` :index:`: <pair: output - panelize - options - configs - tabs; hwidth>` [number|string] The width of tabs in the horizontal direction. Used for *fixed* and *spacing*.
- *min_distance* :index:`: <pair: output - panelize - options - configs - tabs; min_distance>` Alias for mindistance.
- ``mindistance`` :index:`: <pair: output - panelize - options - configs - tabs; mindistance>` [number|string] Minimal spacing between the tabs. If there are too many tabs, their count is reduced.
Used for *fixed*.
- ``spacing`` :index:`: <pair: output - panelize - options - configs - tabs; spacing>` [number|string] The maximum spacing of the tabs. Used for *spacing*.
- *tab_footprints* :index:`: <pair: output - panelize - options - configs - tabs; tab_footprints>` Alias for tabfootprints.
- ``tabfootprints`` :index:`: <pair: output - panelize - options - configs - tabs; tabfootprints>` [string='kikit:Tab'] The footprint/s used for the *annotation* type. You can specify a list of footprints separated by comma.
- ``vcount`` :index:`: <pair: output - panelize - options - configs - tabs; vcount>` [number=1] Number of tabs in the vertical direction. Used for *fixed*.
- ``vwidth`` :index:`: <pair: output - panelize - options - configs - tabs; vwidth>` [number|string] The width of tabs in the vertical direction. Used for *fixed* and *spacing*.
- ``width`` :index:`: <pair: output - panelize - options - configs - tabs; width>` [number|string] The width of tabs in both directions. Overrides both `vwidth` and `hwidth`.
Used for *fixed*, *spacing*, *corner* and *annotation*.
- **tooling** :index:`: <pair: output - panelize - options - configs; tooling>` [dict] Used to add tooling holes to the (rail/frame of) the panel.
- Valid keys:
- **type** :index:`: <pair: output - panelize - options - configs - tooling; type>` [string='none'] [none,3hole,4hole,plugin] Add none, 3 or 4 holes to the (rail/frame of) the panel.
- ``arg`` :index:`: <pair: output - panelize - options - configs - tooling; arg>` [string=''] Argument to pass to the plugin. Used for *plugin*.
- ``code`` :index:`: <pair: output - panelize - options - configs - tooling; code>` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*.
- ``hoffset`` :index:`: <pair: output - panelize - options - configs - tooling; hoffset>` [number|string] Horizontal offset from panel edges.
- ``paste`` :index:`: <pair: output - panelize - options - configs - tooling; paste>` [boolean=false] If True, the holes are included in the paste layer (therefore they appear on the stencil).
- ``size`` :index:`: <pair: output - panelize - options - configs - tooling; size>` [number|string] Diameter of the holes.
- ``voffset`` :index:`: <pair: output - panelize - options - configs - tooling; voffset>` [number|string] Vertical offset from panel edges.
- ``copperfill`` :index:`: <pair: output - panelize - options - configs; copperfill>` [dict] Fill non-board areas of the panel with copper.
- Valid keys:
- **type** :index:`: <pair: output - panelize - options - configs - copperfill; type>` [string='none'] [none,solid,hatched] How to fill non-board areas of the panel with copper.
- ``clearance`` :index:`: <pair: output - panelize - options - configs - copperfill; clearance>` [number|string] Extra clearance from the board perimeters. Suitable for, e.g., not filling the tabs with
copper.
- ``layers`` :index:`: <pair: output - panelize - options - configs - copperfill; layers>` [string|list(string)] List of layers to fill. Can be a comma-separated string.
Using *all* means all external copper layers.
- ``orientation`` :index:`: <pair: output - panelize - options - configs - copperfill; orientation>` [number|string] The orientation of the hatched strokes.
- ``spacing`` :index:`: <pair: output - panelize - options - configs - copperfill; spacing>` [number|string] The space between the hatched strokes.
- ``width`` :index:`: <pair: output - panelize - options - configs - copperfill; width>` [number|string] The width of the hatched strokes.
- ``debug`` :index:`: <pair: output - panelize - options - configs; debug>` [dict] Debug options.
- Valid keys:
- ``deterministic`` :index:`: <pair: output - panelize - options - configs - debug; deterministic>` [boolean=false] Deterministic.
- ``drawBackboneLines`` :index:`: <pair: output - panelize - options - configs - debug; drawBackboneLines>` [boolean=false] Draw backbone lines.
- ``drawPartitionLines`` :index:`: <pair: output - panelize - options - configs - debug; drawPartitionLines>` [boolean=false] Draw partition lines.
- ``drawboxes`` :index:`: <pair: output - panelize - options - configs - debug; drawboxes>` [boolean=false] Draw boxes.
- ``drawtabfail`` :index:`: <pair: output - panelize - options - configs - debug; drawtabfail>` [boolean=false] Draw tab fail.
- ``trace`` :index:`: <pair: output - panelize - options - configs - debug; trace>` [boolean=false] Trace.
- ``expand_text`` :index:`: <pair: output - panelize - options - configs; expand_text>` [boolean=true] Expand text variables and KiBot %X markers in text objects.
- ``extends`` :index:`: <pair: output - panelize - options - configs; extends>` [string=''] A configuration to use as base for this one. Use the following format: `OUTPUT_NAME[CFG_NAME]`.
- ``name`` :index:`: <pair: output - panelize - options - configs; name>` [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.
- ``post`` :index:`: <pair: output - panelize - options - configs; post>` [dict] Finishing touches to the panel.
- Valid keys:
- ``copperfill`` :index:`: <pair: output - panelize - options - configs - post; copperfill>` [boolean=false] Fill tabs and frame with copper (e.g., to save etchant or to increase rigidity of flex-PCB panels).
- ``dimensions`` :index:`: <pair: output - panelize - options - configs - post; dimensions>` [boolean=false] Draw dimensions with the panel size..
- *mill_radius* :index:`: <pair: output - panelize - options - configs - post; mill_radius>` Alias for millradius.
- ``millradius`` :index:`: <pair: output - panelize - options - configs - post; millradius>` [number|string] Simulate the milling operation (add fillets to the internal corners).
Specify mill radius (usually 1 mm). 0 radius disables the functionality.
- ``origin`` :index:`: <pair: output - panelize - options - configs - post; origin>` [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.
- *reconstruct_arcs* :index:`: <pair: output - panelize - options - configs - post; reconstruct_arcs>` Alias for reconstructarcs.
- ``reconstructarcs`` :index:`: <pair: output - panelize - options - configs - post; 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.
- *refill_zones* :index:`: <pair: output - panelize - options - configs - post; refill_zones>` Alias for refillzones.
- ``refillzones`` :index:`: <pair: output - panelize - options - configs - post; 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.
- ``script`` :index:`: <pair: output - panelize - options - configs - post; script>` [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_arg* :index:`: <pair: output - panelize - options - configs - post; script_arg>` Alias for scriptarg.
- ``scriptarg`` :index:`: <pair: output - panelize - options - configs - post; scriptarg>` [string=''] An arbitrary string passed to the user post-processing script specified in script.
- ``type`` :index:`: <pair: output - panelize - options - configs - post; type>` [string='auto'] [auto] Currently fixed.
- ``source`` :index:`: <pair: output - panelize - options - configs; source>` [dict] Used to adjust details of which part of the PCB is panelized.
- Valid keys:
- **type** :index:`: <pair: output - panelize - options - configs - source; type>` [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.
- ``brx`` :index:`: <pair: output - panelize - options - configs - source; brx>` [number|string] Bottom right X coordinate of the rectangle used. Used for *rectangle*.
- ``bry`` :index:`: <pair: output - panelize - options - configs - source; bry>` [number|string] Bottom right Y coordinate of the rectangle used. Used for *rectangle*.
- ``ref`` :index:`: <pair: output - panelize - options - configs - source; ref>` [string=''] Reference for the kikit:Board footprint used to select the contour. Used for *annotation*.
- ``stack`` :index:`: <pair: output - panelize - options - configs - source; stack>` [string='inherit'] [inherit,2layer,4layer,6layer] Used to reduce the number of layers used for the panel.
- ``tlx`` :index:`: <pair: output - panelize - options - configs - source; tlx>` [number|string] Top left X coordinate of the rectangle used. Used for *rectangle*.
- ``tly`` :index:`: <pair: output - panelize - options - configs - source; tly>` [number|string] Top left Y coordinate of the rectangle used. Used for *rectangle*.
- ``tolerance`` :index:`: <pair: output - panelize - options - configs - source; tolerance>` [number|string] Extra space around the PCB reported size to be included. Used for *auto* and *annotation*.
- ``text`` :index:`: <pair: output - panelize - options - configs; text>` [dict] Used to add text to the panel.
- Valid keys:
- **text** :index:`: <pair: output - panelize - options - configs - text; text>` [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.
- **type** :index:`: <pair: output - panelize - options - configs - text; type>` [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works.
- ``anchor`` :index:`: <pair: output - panelize - options - configs - text; anchor>` [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.
- ``height`` :index:`: <pair: output - panelize - options - configs - text; height>` [number|string] Height of the characters (the same parameters as KiCAD uses).
- ``hjustify`` :index:`: <pair: output - panelize - options - configs - text; hjustify>` [string='center'] [left,right,center] Horizontal justification of the text.
- ``hoffset`` :index:`: <pair: output - panelize - options - configs - text; hoffset>` [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system.
- ``layer`` :index:`: <pair: output - panelize - options - configs - text; layer>` [string='F.SilkS'] Specify text layer.
- ``orientation`` :index:`: <pair: output - panelize - options - configs - text; orientation>` [number|string] Specify the orientation (angle).
- ``plugin`` :index:`: <pair: output - panelize - options - configs - text; plugin>` [string=''] Specify the plugin that provides extra variables for the text.
- ``thickness`` :index:`: <pair: output - panelize - options - configs - text; thickness>` [number|string] Stroke thickness.
- ``vjustify`` :index:`: <pair: output - panelize - options - configs - text; vjustify>` [string='center'] [left,right,center] Vertical justification of the text.
- ``voffset`` :index:`: <pair: output - panelize - options - configs - text; voffset>` [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system.
- ``width`` :index:`: <pair: output - panelize - options - configs - text; width>` [number|string] Width of the characters (the same parameters as KiCAD uses).
- ``text2`` :index:`: <pair: output - panelize - options - configs; text2>` [dict] Used to add text to the panel.
- Valid keys:
- **text** :index:`: <pair: output - panelize - options - configs - text2; text>` [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.
- **type** :index:`: <pair: output - panelize - options - configs - text2; type>` [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works.
- ``anchor`` :index:`: <pair: output - panelize - options - configs - text2; anchor>` [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.
- ``height`` :index:`: <pair: output - panelize - options - configs - text2; height>` [number|string] Height of the characters (the same parameters as KiCAD uses).
- ``hjustify`` :index:`: <pair: output - panelize - options - configs - text2; hjustify>` [string='center'] [left,right,center] Horizontal justification of the text.
- ``hoffset`` :index:`: <pair: output - panelize - options - configs - text2; hoffset>` [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system.
- ``layer`` :index:`: <pair: output - panelize - options - configs - text2; layer>` [string='F.SilkS'] Specify text layer.
- ``orientation`` :index:`: <pair: output - panelize - options - configs - text2; orientation>` [number|string] Specify the orientation (angle).
- ``plugin`` :index:`: <pair: output - panelize - options - configs - text2; plugin>` [string=''] Specify the plugin that provides extra variables for the text.
- ``thickness`` :index:`: <pair: output - panelize - options - configs - text2; thickness>` [number|string] Stroke thickness.
- ``vjustify`` :index:`: <pair: output - panelize - options - configs - text2; vjustify>` [string='center'] [left,right,center] Vertical justification of the text.
- ``voffset`` :index:`: <pair: output - panelize - options - configs - text2; voffset>` [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system.
- ``width`` :index:`: <pair: output - panelize - options - configs - text2; width>` [number|string] Width of the characters (the same parameters as KiCAD uses).
- ``text3`` :index:`: <pair: output - panelize - options - configs; text3>` [dict] Used to add text to the panel.
- Valid keys:
- **text** :index:`: <pair: output - panelize - options - configs - text3; text>` [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.
- **type** :index:`: <pair: output - panelize - options - configs - text3; type>` [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works.
- ``anchor`` :index:`: <pair: output - panelize - options - configs - text3; anchor>` [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.
- ``height`` :index:`: <pair: output - panelize - options - configs - text3; height>` [number|string] Height of the characters (the same parameters as KiCAD uses).
- ``hjustify`` :index:`: <pair: output - panelize - options - configs - text3; hjustify>` [string='center'] [left,right,center] Horizontal justification of the text.
- ``hoffset`` :index:`: <pair: output - panelize - options - configs - text3; hoffset>` [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system.
- ``layer`` :index:`: <pair: output - panelize - options - configs - text3; layer>` [string='F.SilkS'] Specify text layer.
- ``orientation`` :index:`: <pair: output - panelize - options - configs - text3; orientation>` [number|string] Specify the orientation (angle).
- ``plugin`` :index:`: <pair: output - panelize - options - configs - text3; plugin>` [string=''] Specify the plugin that provides extra variables for the text.
- ``thickness`` :index:`: <pair: output - panelize - options - configs - text3; thickness>` [number|string] Stroke thickness.
- ``vjustify`` :index:`: <pair: output - panelize - options - configs - text3; vjustify>` [string='center'] [left,right,center] Vertical justification of the text.
- ``voffset`` :index:`: <pair: output - panelize - options - configs - text3; voffset>` [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system.
- ``width`` :index:`: <pair: output - panelize - options - configs - text3; width>` [number|string] Width of the characters (the same parameters as KiCAD uses).
- ``text4`` :index:`: <pair: output - panelize - options - configs; text4>` [dict] Used to add text to the panel.
- Valid keys:
- **text** :index:`: <pair: output - panelize - options - configs - text4; text>` [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.
- **type** :index:`: <pair: output - panelize - options - configs - text4; type>` [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works.
- ``anchor`` :index:`: <pair: output - panelize - options - configs - text4; anchor>` [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.
- ``height`` :index:`: <pair: output - panelize - options - configs - text4; height>` [number|string] Height of the characters (the same parameters as KiCAD uses).
- ``hjustify`` :index:`: <pair: output - panelize - options - configs - text4; hjustify>` [string='center'] [left,right,center] Horizontal justification of the text.
- ``hoffset`` :index:`: <pair: output - panelize - options - configs - text4; hoffset>` [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system.
- ``layer`` :index:`: <pair: output - panelize - options - configs - text4; layer>` [string='F.SilkS'] Specify text layer.
- ``orientation`` :index:`: <pair: output - panelize - options - configs - text4; orientation>` [number|string] Specify the orientation (angle).
- ``plugin`` :index:`: <pair: output - panelize - options - configs - text4; plugin>` [string=''] Specify the plugin that provides extra variables for the text.
- ``thickness`` :index:`: <pair: output - panelize - options - configs - text4; thickness>` [number|string] Stroke thickness.
- ``vjustify`` :index:`: <pair: output - panelize - options - configs - text4; vjustify>` [string='center'] [left,right,center] Vertical justification of the text.
- ``voffset`` :index:`: <pair: output - panelize - options - configs - text4; voffset>` [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system.
- ``width`` :index:`: <pair: output - panelize - options - configs - text4; width>` [number|string] Width of the characters (the same parameters as KiCAD uses).
- **output** :index:`: <pair: output - panelize - options; output>` [string='%f-%i%I%v.%x'] Filename for the output (%i=panel, %x=kicad_pcb). Affected by global options.
- ``create_preview`` :index:`: <pair: output - panelize - options; create_preview>` [boolean=false] Use PcbDraw to create a preview of the panel.
- ``default_angles`` :index:`: <pair: output - panelize - options; default_angles>` [string='deg'] [deg,°,rad] Angles used when omitted.
- ``dnf_filter`` :index:`: <pair: output - panelize - options; dnf_filter>` [string|list(string)='_none'] Name of the filter to mark components as not fitted.
A short-cut to use for simple cases where a variant is an overkill.
- ``pre_transform`` :index:`: <pair: output - panelize - options; pre_transform>` [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.
- ``title`` :index:`: <pair: output - panelize - options; title>` [string=''] Text used to replace the sheet title. %VALUE expansions are allowed.
If it starts with `+` the text is concatenated.
- ``units`` :index:`: <pair: output - panelize - options; units>` [string='mm'] [millimeters,inches,mils,mm,cm,dm,m,mil,inch,in] Units used when omitted.
- ``variant`` :index:`: <pair: output - panelize - options; variant>` [string=''] Board variant to apply.
- **type** :index:`: <pair: output - panelize; type>` 'panelize'
- ``category`` :index:`: <pair: output - panelize; category>` [string|list(string)=''] The category for this output. If not specified an internally defined category is used.
Categories looks like file system paths, i.e. **PCB/fabrication/gerber**.
The categories are currently used for `navigate_results`.
- ``disable_run_by_default`` :index:`: <pair: output - panelize; disable_run_by_default>` [string|boolean] Use it to disable the `run_by_default` status of other output.
Useful when this output extends another and you don't want to generate the original.
Use the boolean true value to disable the output you are extending.
- ``extends`` :index:`: <pair: output - panelize; extends>` [string=''] Copy the `options` section from the indicated output.
Used to inherit options from another output of the same type.
- ``groups`` :index:`: <pair: output - panelize; groups>` [string|list(string)=''] One or more groups to add this output. In order to catch typos
we recommend to add outputs only to existing groups. You can create an empty group if
needed.
- ``output_id`` :index:`: <pair: output - panelize; output_id>` [string=''] Text to use for the %I expansion content. To differentiate variations of this output.
- ``priority`` :index:`: <pair: output - panelize; priority>` [number=50] [0,100] Priority for this output. High priority outputs are created first.
Internally we use 10 for low priority, 90 for high priority and 50 for most outputs.
- ``run_by_default`` :index:`: <pair: output - panelize; run_by_default>` [boolean=true] When enabled this output will be created when no specific outputs are requested.