.. 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 `__. |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:`: ` [string=''] A comment for documentation purposes. It helps to identify the output. - **dir** :index:`: ` [string='./'] Output directory for the generated files. If it starts with `+` the rest is concatenated to the default dir. - **name** :index:`: ` [string=''] Used to identify this particular output definition. Avoid using `_` as first character. These names are reserved for KiBot. - **options** :index:`: ` [dict] Options for the `Panelize` output. - Valid keys: - **configs** :index:`: ` [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:`: ` [dict] Specify how to perform the cuts on the tabs separating the board. - Valid keys: - **type** :index:`: ` [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:`: ` [string=''] Argument to pass to the plugin. Used for *plugin*. - ``clearance`` :index:`: ` [number|string] Specify clearance for copper around V-cuts. - ``code`` :index:`: ` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*. - *cut_curves* :index:`: ` Alias for cutcurves. - ``cutcurves`` :index:`: ` [boolean=false] Specify if curves should be approximated by straight cuts (e.g., for cutting tabs on circular boards). Used for *vcuts*. - ``drill`` :index:`: ` [number|string] Drill size used for the *mousebites*. - ``layer`` :index:`: ` [string='Cmts.User'] Specify the layer to render V-cuts on. Also used for the *layer* type. - ``offset`` :index:`: ` [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:`: ` [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:`: ` [number|string] The spacing of the holes used for the *mousebites*. - **fiducials** :index:`: ` [dict] Used to add fiducial marks to the (rail/frame of) the panel. - Valid keys: - **type** :index:`: ` [string='none'] [none,3fid,4fid,plugin] Add none, 3 or 4 fiducials to the (rail/frame of) the panel. - *copper_size* :index:`: ` Alias for coppersize. - ``coppersize`` :index:`: ` [number|string] Diameter of the copper spot. - ``hoffset`` :index:`: ` [number|string] Horizontal offset from panel edges. - ``opening`` :index:`: ` [number|string] Diameter of the solder mask opening. - ``voffset`` :index:`: ` [number|string] Vertical offset from panel edges. - **framing** :index:`: ` [dict] Specify the frame around the boards. - Valid keys: - **type** :index:`: ` [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:`: ` [string=''] Argument to pass to the plugin. Used for *plugin*. - ``chamfer`` :index:`: ` [number|string] Specify the size of chamfer frame corners. - ``code`` :index:`: ` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*. - ``cuts`` :index:`: ` [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:`: ` [number|string] Specify radius of fillet frame corners. - ``hspace`` :index:`: ` [number|string] Specify the horizontal space between PCB and the frame/rail. - *min_total_height* :index:`: ` Alias for mintotalheight. - *min_total_width* :index:`: ` Alias for mintotalwidth. - ``mintotalheight`` :index:`: ` [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:`: ` [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:`: ` Alias for slotwidth. - ``slotwidth`` :index:`: ` [number|string] Width of the milled slot for *tightframe*. - ``space`` :index:`: ` [number|string] Specify the space between PCB and the frame/rail. Overrides `hspace` and `vspace`. - ``vspace`` :index:`: ` [number|string] Specify the vertical space between PCB and the frame/rail. - ``width`` :index:`: ` [number|string] Specify with of the rails or frame. - **layout** :index:`: ` [dict] Layout used for the panel. - Valid keys: - **cols** :index:`: ` [number=1] Specify the number of columns of boards in the grid pattern. - **rows** :index:`: ` [number=1] Specify the number of rows of boards in the grid pattern. - ``alternation`` :index:`: ` [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:`: ` [string=''] Argument to pass to the plugin. Used for *plugin*. - *bake_text* :index:`: ` Alias for baketext. - ``baketext`` :index:`: ` [boolean=true] A flag that indicates if text variables should be substituted or not. - ``code`` :index:`: ` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*. - ``hbackbone`` :index:`: ` [number|string] The width of horizontal backbone (0 means no backbone). The backbone does not increase the spacing of the boards. - ``hbonecut`` :index:`: ` [boolean=true] If there are both backbones specified, specifies if there should be a horizontal cut where the backbones cross. - ``hboneskip`` :index:`: ` [number=0] Skip every n horizontal backbones. I.e., 1 means place only every other backbone. - ``hspace`` :index:`: ` [number|string] Specify the horizontal gap between the boards. - *rename_net* :index:`: ` Alias for renamenet. - *rename_ref* :index:`: ` Alias for renameref. - ``renamenet`` :index:`: ` [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:`: ` [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:`: ` [number|string] Rotate the boards before placing them in the panel. - ``space`` :index:`: ` [number|string] Specify the gap between the boards, overwrites `hspace` and `vspace`. - ``type`` :index:`: ` [string='grid'] [grid,plugin] In the plugin type only `code` and `arg` are relevant. - ``vbackbone`` :index:`: ` [number|string] The width of vertical backbone (0 means no backbone). The backbone does not increase the spacing of the boards. - ``vbonecut`` :index:`: ` [boolean=true] If there are both backbones specified, specifies if there should be a vertical cut where the backbones cross. - ``vboneskip`` :index:`: ` [number=0] Skip every n vertical backbones. I.e., 1 means place only every other backbone. - ``vspace`` :index:`: ` [number|string] Specify the vertical gap between the boards. - **page** :index:`: ` [dict] Sets page size on the resulting panel and position the panel in the page. - Valid keys: - *page_size* :index:`: ` Alias for type. - *size* :index:`: ` Alias for type. - **type** :index:`: ` [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:`: ` [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:`: ` [number|string] Height for the `custom` paper size. - *pos_x* :index:`: ` Alias for posx. - *pos_y* :index:`: ` Alias for posy. - ``posx`` :index:`: ` [number|string] The X position of the panel on the page. - ``posy`` :index:`: ` [number|string] The Y position of the panel on the page. - ``width`` :index:`: ` [number|string] Width for the `custom` paper size. - **tabs** :index:`: ` [dict] Style of the tabs used to join the PCB copies. - Valid keys: - **type** :index:`: ` [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:`: ` [string=''] Argument to pass to the plugin. Used for *plugin*. - ``code`` :index:`: ` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*. - ``cutout`` :index:`: ` [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:`: ` [number=1] Number of tabs in the horizontal direction. Used for *fixed*. - ``hwidth`` :index:`: ` [number|string] The width of tabs in the horizontal direction. Used for *fixed* and *spacing*. - *min_distance* :index:`: ` Alias for mindistance. - ``mindistance`` :index:`: ` [number|string] Minimal spacing between the tabs. If there are too many tabs, their count is reduced. Used for *fixed*. - ``spacing`` :index:`: ` [number|string] The maximum spacing of the tabs. Used for *spacing*. - *tab_footprints* :index:`: ` Alias for tabfootprints. - ``tabfootprints`` :index:`: ` [string='kikit:Tab'] The footprint/s used for the *annotation* type. You can specify a list of footprints separated by comma. - ``vcount`` :index:`: ` [number=1] Number of tabs in the vertical direction. Used for *fixed*. - ``vwidth`` :index:`: ` [number|string] The width of tabs in the vertical direction. Used for *fixed* and *spacing*. - ``width`` :index:`: ` [number|string] The width of tabs in both directions. Overrides both `vwidth` and `hwidth`. Used for *fixed*, *spacing*, *corner* and *annotation*. - **tooling** :index:`: ` [dict] Used to add tooling holes to the (rail/frame of) the panel. - Valid keys: - **type** :index:`: ` [string='none'] [none,3hole,4hole,plugin] Add none, 3 or 4 holes to the (rail/frame of) the panel. - ``arg`` :index:`: ` [string=''] Argument to pass to the plugin. Used for *plugin*. - ``code`` :index:`: ` [string=''] Plugin specification (PACKAGE.FUNCTION or PYTHON_FILE.FUNCTION). Used for *plugin*. - ``hoffset`` :index:`: ` [number|string] Horizontal offset from panel edges. - ``paste`` :index:`: ` [boolean=false] If True, the holes are included in the paste layer (therefore they appear on the stencil). - ``size`` :index:`: ` [number|string] Diameter of the holes. - ``voffset`` :index:`: ` [number|string] Vertical offset from panel edges. - ``copperfill`` :index:`: ` [dict] Fill non-board areas of the panel with copper. - Valid keys: - **type** :index:`: ` [string='none'] [none,solid,hatched] How to fill non-board areas of the panel with copper. - ``clearance`` :index:`: ` [number|string] Extra clearance from the board perimeters. Suitable for, e.g., not filling the tabs with copper. - ``layers`` :index:`: ` [string|list(string)] List of layers to fill. Can be a comma-separated string. Using *all* means all external copper layers. - ``orientation`` :index:`: ` [number|string] The orientation of the hatched strokes. - ``spacing`` :index:`: ` [number|string] The space between the hatched strokes. - ``width`` :index:`: ` [number|string] The width of the hatched strokes. - ``debug`` :index:`: ` [dict] Debug options. - Valid keys: - ``deterministic`` :index:`: ` [boolean=false] Deterministic. - ``drawBackboneLines`` :index:`: ` [boolean=false] Draw backbone lines. - ``drawPartitionLines`` :index:`: ` [boolean=false] Draw partition lines. - ``drawboxes`` :index:`: ` [boolean=false] Draw boxes. - ``drawtabfail`` :index:`: ` [boolean=false] Draw tab fail. - ``trace`` :index:`: ` [boolean=false] Trace. - ``expand_text`` :index:`: ` [boolean=true] Expand text variables and KiBot %X markers in text objects. - ``extends`` :index:`: ` [string=''] A configuration to use as base for this one. Use the following format: `OUTPUT_NAME[CFG_NAME]`. - ``name`` :index:`: ` [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:`: ` [dict] Finishing touches to the panel. - Valid keys: - ``copperfill`` :index:`: ` [boolean=false] Fill tabs and frame with copper (e.g., to save etchant or to increase rigidity of flex-PCB panels). - ``dimensions`` :index:`: ` [boolean=false] Draw dimensions with the panel size.. - *mill_radius* :index:`: ` Alias for millradius. - ``millradius`` :index:`: ` [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:`: ` [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:`: ` Alias for reconstructarcs. - ``reconstructarcs`` :index:`: ` [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:`: ` Alias for refillzones. - ``refillzones`` :index:`: ` [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:`: ` [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:`: ` Alias for scriptarg. - ``scriptarg`` :index:`: ` [string=''] An arbitrary string passed to the user post-processing script specified in script. - ``type`` :index:`: ` [string='auto'] [auto] Currently fixed. - ``source`` :index:`: ` [dict] Used to adjust details of which part of the PCB is panelized. - Valid keys: - **type** :index:`: ` [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:`: ` [number|string] Bottom right X coordinate of the rectangle used. Used for *rectangle*. - ``bry`` :index:`: ` [number|string] Bottom right Y coordinate of the rectangle used. Used for *rectangle*. - ``ref`` :index:`: ` [string=''] Reference for the kikit:Board footprint used to select the contour. Used for *annotation*. - ``stack`` :index:`: ` [string='inherit'] [inherit,2layer,4layer,6layer] Used to reduce the number of layers used for the panel. - ``tlx`` :index:`: ` [number|string] Top left X coordinate of the rectangle used. Used for *rectangle*. - ``tly`` :index:`: ` [number|string] Top left Y coordinate of the rectangle used. Used for *rectangle*. - ``tolerance`` :index:`: ` [number|string] Extra space around the PCB reported size to be included. Used for *auto* and *annotation*. - ``text`` :index:`: ` [dict] Used to add text to the panel. - Valid keys: - **text** :index:`: ` [string=''] The text to be displayed. Note that you can escape ; via \\. Available variables in text: *date* formats current date as --, *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:`: ` [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works. - ``anchor`` :index:`: ` [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:`: ` [number|string] Height of the characters (the same parameters as KiCAD uses). - ``hjustify`` :index:`: ` [string='center'] [left,right,center] Horizontal justification of the text. - ``hoffset`` :index:`: ` [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system. - ``layer`` :index:`: ` [string='F.SilkS'] Specify text layer. - ``orientation`` :index:`: ` [number|string] Specify the orientation (angle). - ``plugin`` :index:`: ` [string=''] Specify the plugin that provides extra variables for the text. - ``thickness`` :index:`: ` [number|string] Stroke thickness. - ``vjustify`` :index:`: ` [string='center'] [left,right,center] Vertical justification of the text. - ``voffset`` :index:`: ` [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system. - ``width`` :index:`: ` [number|string] Width of the characters (the same parameters as KiCAD uses). - ``text2`` :index:`: ` [dict] Used to add text to the panel. - Valid keys: - **text** :index:`: ` [string=''] The text to be displayed. Note that you can escape ; via \\. Available variables in text: *date* formats current date as --, *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:`: ` [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works. - ``anchor`` :index:`: ` [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:`: ` [number|string] Height of the characters (the same parameters as KiCAD uses). - ``hjustify`` :index:`: ` [string='center'] [left,right,center] Horizontal justification of the text. - ``hoffset`` :index:`: ` [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system. - ``layer`` :index:`: ` [string='F.SilkS'] Specify text layer. - ``orientation`` :index:`: ` [number|string] Specify the orientation (angle). - ``plugin`` :index:`: ` [string=''] Specify the plugin that provides extra variables for the text. - ``thickness`` :index:`: ` [number|string] Stroke thickness. - ``vjustify`` :index:`: ` [string='center'] [left,right,center] Vertical justification of the text. - ``voffset`` :index:`: ` [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system. - ``width`` :index:`: ` [number|string] Width of the characters (the same parameters as KiCAD uses). - ``text3`` :index:`: ` [dict] Used to add text to the panel. - Valid keys: - **text** :index:`: ` [string=''] The text to be displayed. Note that you can escape ; via \\. Available variables in text: *date* formats current date as --, *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:`: ` [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works. - ``anchor`` :index:`: ` [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:`: ` [number|string] Height of the characters (the same parameters as KiCAD uses). - ``hjustify`` :index:`: ` [string='center'] [left,right,center] Horizontal justification of the text. - ``hoffset`` :index:`: ` [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system. - ``layer`` :index:`: ` [string='F.SilkS'] Specify text layer. - ``orientation`` :index:`: ` [number|string] Specify the orientation (angle). - ``plugin`` :index:`: ` [string=''] Specify the plugin that provides extra variables for the text. - ``thickness`` :index:`: ` [number|string] Stroke thickness. - ``vjustify`` :index:`: ` [string='center'] [left,right,center] Vertical justification of the text. - ``voffset`` :index:`: ` [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system. - ``width`` :index:`: ` [number|string] Width of the characters (the same parameters as KiCAD uses). - ``text4`` :index:`: ` [dict] Used to add text to the panel. - Valid keys: - **text** :index:`: ` [string=''] The text to be displayed. Note that you can escape ; via \\. Available variables in text: *date* formats current date as --, *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:`: ` [string='none'] [none,simple] Currently fixed. BTW: don't ask me about this ridiculous default, is how KiKit works. - ``anchor`` :index:`: ` [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:`: ` [number|string] Height of the characters (the same parameters as KiCAD uses). - ``hjustify`` :index:`: ` [string='center'] [left,right,center] Horizontal justification of the text. - ``hoffset`` :index:`: ` [number|string] Specify the horizontal offset from anchor. Respects KiCAD coordinate system. - ``layer`` :index:`: ` [string='F.SilkS'] Specify text layer. - ``orientation`` :index:`: ` [number|string] Specify the orientation (angle). - ``plugin`` :index:`: ` [string=''] Specify the plugin that provides extra variables for the text. - ``thickness`` :index:`: ` [number|string] Stroke thickness. - ``vjustify`` :index:`: ` [string='center'] [left,right,center] Vertical justification of the text. - ``voffset`` :index:`: ` [number|string] Specify the vertical offset from anchor. Respects KiCAD coordinate system. - ``width`` :index:`: ` [number|string] Width of the characters (the same parameters as KiCAD uses). - **output** :index:`: ` [string='%f-%i%I%v.%x'] Filename for the output (%i=panel, %x=kicad_pcb). Affected by global options. - ``create_preview`` :index:`: ` [boolean=false] Use PcbDraw to create a preview of the panel. - ``default_angles`` :index:`: ` [string='deg'] [deg,°,rad] Angles used when omitted. - ``dnf_filter`` :index:`: ` [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:`: ` [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:`: ` [string=''] Text used to replace the sheet title. %VALUE expansions are allowed. If it starts with `+` the text is concatenated. - ``units`` :index:`: ` [string='mm'] [millimeters,inches,mils,mm,cm,dm,m,mil,inch,in] Units used when omitted. - ``variant`` :index:`: ` [string=''] Board variant to apply. - **type** :index:`: ` 'panelize' - ``category`` :index:`: ` [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:`: ` [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:`: ` [string=''] Copy the `options` section from the indicated output. Used to inherit options from another output of the same type. - ``groups`` :index:`: ` [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:`: ` [string=''] Text to use for the %I expansion content. To differentiate variations of this output. - ``priority`` :index:`: ` [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:`: ` [boolean=true] When enabled this output will be created when no specific outputs are requested.