.. Automatically generated by KiBot, please don't edit this file .. index:: pair: Pick & place; position Pick & place ~~~~~~~~~~~~ Generates the file with position information for the PCB components, used by the pick and place machine. This output is what you get from the 'File/Fabrication output/Footprint position (.pos) file' menu in pcbnew. Type: ``position`` Category: **PCB/fabrication/assembly** 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 `position` output. - Valid keys: - **format** :index:`: ` [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. - **only_smd** :index:`: ` [boolean=true] Only include the surface mount components. - **output** :index:`: ` [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. - **separate_files_for_front_and_back** :index:`: ` [boolean=true] Generate two separated files, one for the top and another for the bottom. - **units** :index:`: ` [string='millimeters'] [millimeters,inches,mils] Units used for the positions. Affected by global options. - ``bottom_negative_x`` :index:`: ` [boolean=false] Use negative X coordinates for footprints on bottom layer. - ``columns`` :index:`: ` [list(dict)|list(string)] Which columns are included in the output. - Valid keys: - **id** :index:`: ` [string=''] [Ref,Val,Package,PosX,PosY,Rot,Side] Internal name. - ``name`` :index:`: ` [string=''] Name to use in the output file. The id is used when empty. - ``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. - ``gerber_board_edge`` :index:`: ` [boolean=false] Include the board edge in the gerber output. - ``include_virtual`` :index:`: ` [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. - ``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. - ``quote_all`` :index:`: ` [boolean=false] When generating the CSV quote all values, even numbers. - ``right_digits`` :index:`: ` [number=4] number of digits for mantissa part of coordinates (0 is auto). - ``use_aux_axis_as_origin`` :index:`: ` [boolean=true] Use the auxiliary axis as origin for coordinates (KiCad default). Supported by the gerber format. - ``variant`` :index:`: ` [string=''] Board variant to apply. - **type** :index:`: ` [string=''] Type of output. - ``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.