KiBot/docs/build/html/KiPlotYAML.html

381 lines
31 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>KiPlot YAML &mdash; KiBot 1.6.4 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Contributing" href="contributing.html" />
<link rel="prev" title="Proposed advanced KiCad usage" href="propose.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home">
KiBot
<img src="_static/kibot_370x200.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="usage.html">Usage</a></li>
<li class="toctree-l1"><a class="reference internal" href="usage_with_ci_cd.html">Usage for CI/CD</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Notes and extra information:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="notes_gerber.html">Notes about Gerber format</a></li>
<li class="toctree-l1"><a class="reference internal" href="notes_position.html">Notes about the position file</a></li>
<li class="toctree-l1"><a class="reference internal" href="notes_3d.html">Notes about 3D models</a></li>
<li class="toctree-l1"><a class="reference internal" href="propose.html">Proposed advanced KiCad usage</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">KiPlot YAML</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#the-basic-idea">The basic idea</a></li>
<li class="toctree-l2"><a class="reference internal" href="#basic-data-types">Basic data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="#compound-data-types">Compound data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="#indentation">Indentation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#compact-notation">Compact notation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#putting-all-together">Putting all together</a></li>
<li class="toctree-l2"><a class="reference internal" href="#advanced-tricks">Advanced tricks</a></li>
</ul>
</li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Final notes:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Indices and tables:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="genindex.html">Index</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">KiBot</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">KiPlot YAML</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="kiplot-yaml">
<span id="id1"></span><h1>KiPlot YAML<a class="headerlink" href="#kiplot-yaml" title="Permalink to this heading"></a></h1>
<p>You can find a lot of information about YAML format on internet. This
document doesnt pretend to be a complete YAML reference, just a
complement to understand how to use it for the configuration files.</p>
<p>YAML files are structured data arranged in a way thats easy to
understand.</p>
<section id="the-basic-idea">
<h2>The basic idea<a class="headerlink" href="#the-basic-idea" title="Permalink to this heading"></a></h2>
<p>You associate data with labels. After a label you put a colon (<strong>:</strong>)
and then the data:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
</pre></div>
</div>
<p>Here so associate the label <strong>version</strong> with the data value <strong>1</strong>.</p>
</section>
<section id="basic-data-types">
<h2>Basic data types<a class="headerlink" href="#basic-data-types" title="Permalink to this heading"></a></h2>
<p>We use three basic data types:</p>
<ul class="simple">
<li><p><strong>number</strong>: can be integer, floating point, positive and negative.</p></li>
<li><p><strong>boolean</strong>: can take only two values <em>true</em> and <em>false</em>.</p></li>
<li><p><strong>string</strong>: almost anything else.</p></li>
</ul>
<p>Here are some examples for numbers:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">v1</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<span class="nt">v2</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">5.3</span>
<span class="nt">v3</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-3</span>
</pre></div>
</div>
<p>Note that the decimal point is always a point, no matters what your
locale settings indicate.</p>
<p>Here are some examples for booleans:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">v1</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="nt">v2</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
</pre></div>
</div>
<p>And here are some examples for strings:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">v1</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Hi!</span>
<span class="nt">v2</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;3&#39;</span>
<span class="nt">v3</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;true&quot;</span>
<span class="nt">v4</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;</span><span class="nv"> </span><span class="s">I</span><span class="nv"> </span><span class="s">have</span><span class="nv"> </span><span class="s">spaces</span><span class="nv"> </span><span class="s">&quot;</span>
</pre></div>
</div>
<p>Note that quotes are optional and can be used to disambiguate.</p>
</section>
<section id="compound-data-types">
<h2>Compound data types<a class="headerlink" href="#compound-data-types" title="Permalink to this heading"></a></h2>
<p>We use two types:</p>
<ul class="simple">
<li><p><strong>list</strong>: just a list of data elements. Each element start with a
hyphen (<strong>-</strong>).</p></li>
<li><p><strong>dict</strong>: dictionaries or maps. Just a bunch of label with associated
data.</p></li>
</ul>
<p>Here is an example for a list of strings (<strong>list(string)</strong> in our case):</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">abc</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;3&#39;</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;true&quot;</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;</span><span class="nv"> </span><span class="s">I</span><span class="nv"> </span><span class="s">have</span><span class="nv"> </span><span class="s">spaces</span><span class="nv"> </span><span class="s">&quot;</span>
</pre></div>
</div>
<p>And here an example for a dict:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">v1</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Hi!</span>
<span class="nt">v2</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;3&#39;</span>
<span class="nt">v3</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;true&quot;</span>
<span class="nt">v4</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;</span><span class="nv"> </span><span class="s">I</span><span class="nv"> </span><span class="s">have</span><span class="nv"> </span><span class="s">spaces</span><span class="nv"> </span><span class="s">&quot;</span>
</pre></div>
</div>
<p>The list and dict elements can also be other lists and/or dicts. To
understand how this is achieved we need one more thing.</p>
</section>
<section id="indentation">
<h2>Indentation<a class="headerlink" href="#indentation" title="Permalink to this heading"></a></h2>
<p>YAML uses the indentation to group data that belongs to a label.</p>
<p>Here is an example of a list associated to a label:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">people</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">John</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Cindy</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Luca</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Laura</span>
</pre></div>
</div>
<p>We use two spaces, other values are possible, but you must keep
coherence in the indentation. And here we have a dict:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">John</span><span class="p">:</span>
<span class="w"> </span><span class="nt">age</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span>
<span class="w"> </span><span class="nt">gender</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">male</span>
</pre></div>
</div>
<p>And here is a mix of both:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">people</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">John</span><span class="p">:</span>
<span class="w"> </span><span class="nt">age</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span>
<span class="w"> </span><span class="nt">gender</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">male</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Cindy</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Luca</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Laura</span>
</pre></div>
</div>
<p>The indentation shows that <code class="docutils literal notranslate"><span class="pre">age</span></code> and <code class="docutils literal notranslate"><span class="pre">gender</span></code> are attached to
<code class="docutils literal notranslate"><span class="pre">John</span></code>, not directly applied to <code class="docutils literal notranslate"><span class="pre">people</span></code>.</p>
<p>Note that lists can be nested, here is a list of lists
(<strong>list(list(string))</strong>):</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">list_of_lists</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">a</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">b</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">c</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
</pre></div>
</div>
<p>In this example we have a list with two elements, the first is a list
with three elements and the second a list with four elements.</p>
</section>
<section id="compact-notation">
<h2>Compact notation<a class="headerlink" href="#compact-notation" title="Permalink to this heading"></a></h2>
<p>You can use a more compat notation for small lists and dicts. The
following list:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">list_of_lists</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">a</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">b</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">c</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
</pre></div>
</div>
<p>Can be defined in the following way:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">list_of_lists</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="w"> </span><span class="nv">a</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">b</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">c</span><span class="w"> </span><span class="p p-Indicator">]</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="w"> </span><span class="nv">1</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">2</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">3</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">4</span><span class="w"> </span><span class="p p-Indicator">]</span>
</pre></div>
</div>
<p>And this example:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">people</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">John</span><span class="p">:</span>
<span class="w"> </span><span class="nt">age</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span>
<span class="w"> </span><span class="nt">gender</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">male</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Cindy</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Luca</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Laura</span>
</pre></div>
</div>
<p>Can be defined as:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">people</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">John</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">{</span><span class="nt"> age</span><span class="p">:</span><span class="w"> </span><span class="nv">25</span><span class="p p-Indicator">,</span><span class="nt"> gender</span><span class="p">:</span><span class="w"> </span><span class="nv">male</span><span class="w"> </span><span class="p p-Indicator">}</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Cindy</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Luca</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Laura</span>
</pre></div>
</div>
</section>
<section id="putting-all-together">
<h2>Putting all together<a class="headerlink" href="#putting-all-together" title="Permalink to this heading"></a></h2>
<p>So a <strong>.kiplot.yaml</strong> file is basically a dict containing the following
labels:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">kiplot</span></code>: contains a dict with special global options. Currently
the format version used.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">preflight</span></code>: contains a dict with pre-flight (or pre-run) actions.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">outputs</span></code>: contains a list of outputs (or targets).</p></li>
</ul>
</section>
<section id="advanced-tricks">
<h2>Advanced tricks<a class="headerlink" href="#advanced-tricks" title="Permalink to this heading"></a></h2>
<p>If you have various similar outputs with repeating options you can use
<em>anchors</em>. This a nice YAML feature that allows to memorize a value and
reuse it.</p>
<p>Here is an example:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">kiplot</span><span class="p">:</span>
<span class="w"> </span><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<span class="nt">outputs</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PcbDraw 1</span>
<span class="w"> </span><span class="nt">comment</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;PcbDraw</span><span class="nv"> </span><span class="s">test</span><span class="nv"> </span><span class="s">top&quot;</span>
<span class="w"> </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pcbdraw</span>
<span class="w"> </span><span class="nt">dir</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PcbDraw</span>
<span class="w"> </span><span class="nt">options</span><span class="p">:</span><span class="w"> </span><span class="nl">&amp;pcb_draw_ops</span>
<span class="w"> </span><span class="nt">format</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">svg</span>
<span class="w"> </span><span class="nt">style</span><span class="p">:</span>
<span class="w"> </span><span class="nt">board</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#1b1f44&quot;</span>
<span class="w"> </span><span class="nt">copper</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#00406a&quot;</span>
<span class="w"> </span><span class="nt">silk</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#d5dce4&quot;</span>
<span class="w"> </span><span class="nt">pads</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#cfb96e&quot;</span>
<span class="w"> </span><span class="nt">clad</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#72786c&quot;</span>
<span class="w"> </span><span class="nt">outline</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#000000&quot;</span>
<span class="w"> </span><span class="nt">vcut</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;#bf2600&quot;</span>
<span class="w"> </span><span class="nt">highlight_on_top</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
<span class="w"> </span><span class="nt">highlight_style</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;stroke:none;fill:#ff0000;opacity:0.5;&quot;</span>
<span class="w"> </span><span class="nt">highlight_padding</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.5</span>
<span class="w"> </span><span class="nt">libs</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">default</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">eagle-default</span>
<span class="w"> </span><span class="nt">remap</span><span class="p">:</span>
<span class="w"> </span><span class="nt">L_G1</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;LEDs:LED-5MM_green&quot;</span>
<span class="w"> </span><span class="nt">L_B1</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;LEDs:LED-5MM_blue&quot;</span>
<span class="w"> </span><span class="nt">L_Y1</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;LEDs:LED-5MM_yellow&quot;</span>
<span class="w"> </span><span class="nt">PHOTO1</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;yaqwsx:R_PHOTO_7mm&quot;</span>
<span class="w"> </span><span class="nt">J8</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;yaqwsx:Pin_Header_Straight_1x02_circle&quot;</span>
<span class="w"> </span><span class="s">&#39;REF**&#39;</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="s">&quot;dummy:dummy&quot;</span>
<span class="w"> </span><span class="nt">G***</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;dummy:dummy&quot;</span>
<span class="w"> </span><span class="nt">svg2mod</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;dummy:dummy&quot;</span>
<span class="w"> </span><span class="nt">JP1</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;dummy:dummy&quot;</span>
<span class="w"> </span><span class="nt">JP2</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;dummy:dummy&quot;</span>
<span class="w"> </span><span class="nt">JP3</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;dummy:dummy&quot;</span>
<span class="w"> </span><span class="nt">JP4</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;dummy:dummy&quot;</span>
<span class="w"> </span><span class="nt">no_drillholes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">False</span>
<span class="w"> </span><span class="nt">mirror</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">False</span>
<span class="w"> </span><span class="nt">highlight</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">L_G1</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">L_B1</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">R10</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">RV1</span>
<span class="w"> </span><span class="nt">show_components</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">all</span>
<span class="w"> </span><span class="nt">vcuts</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">True</span>
<span class="w"> </span><span class="nt">warnings</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">visible</span>
<span class="w"> </span><span class="nt">dpi</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">600</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PcbDraw 2</span>
<span class="w"> </span><span class="nt">comment</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;PcbDraw</span><span class="nv"> </span><span class="s">test</span><span class="nv"> </span><span class="s">bottom&quot;</span>
<span class="w"> </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pcbdraw</span>
<span class="w"> </span><span class="nt">dir</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PcbDraw</span>
<span class="w"> </span><span class="nt">options</span><span class="p">:</span>
<span class="w"> </span><span class="nt">&lt;&lt;</span><span class="p">:</span><span class="w"> </span><span class="nv">*pcb_draw_ops</span>
<span class="w"> </span><span class="nt">style</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">set-red-enig</span>
<span class="w"> </span><span class="nt">bottom</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">True</span>
<span class="w"> </span><span class="nt">show_components</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">L_G1</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">L_B1</span>
<span class="w"> </span><span class="nt">remap</span><span class="p">:</span>
</pre></div>
</div>
<p>Here we have two outputs: PcbDraw 1 and PcbDraw 2. The options for
are big because we are including a custom color style and a list of
component remappings. In this case PcbDraw 2 wants to use the same
options, but with some changes. So we use an anchor in the first options
list (<code class="docutils literal notranslate"><span class="pre">&amp;pcb_draw_ops</span></code>) and then we copy the data with
<code class="docutils literal notranslate"><span class="pre">&lt;&lt;:</span> <span class="pre">*pcb_draw_ops</span></code>. The good thing is that we can overwrite options.
Here we choose another <code class="docutils literal notranslate"><span class="pre">style</span></code> (ridiculous example), the bottom side
(good example), a different list of components to show and we eliminate
the <code class="docutils literal notranslate"><span class="pre">remap</span></code> dict.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="propose.html" class="btn btn-neutral float-left" title="Proposed advanced KiCad usage" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="contributing.html" class="btn btn-neutral float-right" title="Contributing" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2023, Salvador E. Tropea/INTI/John Beard.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>