KiBot/docs/build/html/notes_gerber.html

184 lines
9.8 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>Notes about Gerber format &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="Notes about the position file" href="notes_position.html" />
<link rel="prev" title="Usage for CI/CD" href="usage_with_ci_cd.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 current"><a class="current reference internal" href="#">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"><a class="reference internal" href="KiPlotYAML.html">KiPlot YAML</a></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">Notes about Gerber format</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="notes-about-gerber-format">
<span id="index-0"></span><h1>Notes about Gerber format<a class="headerlink" href="#notes-about-gerber-format" title="Permalink to this heading"></a></h1>
<p>I found this topic poorly documented and quite complex. So here is what
I know, feel free to send me any corrections. Note that this is a very
dynamic topic and this text was written in november 2020.</p>
<p>The gerber format is controlled by
<a class="reference external" href="https://www.ucamco.com/en/">Ucamco</a>, a leading manufacturer of
equipment and software for PCB fabrication. Even when this isnt an open
standard they release the spec for free and interact with Jean-Pierre
Charras (father of KiCad). So KiCad support for gerber format is really
updated.</p>
<p>The gerber format evolved with time, here are the versions I know:</p>
<ul class="simple">
<li><p><strong>RS-274D</strong> obsolete version of the format.</p></li>
<li><p><strong>RS-274X</strong> (aka <strong>X1</strong>) this is the <em>extended</em> version of the
format. Is the most widely supported, but has some limitations.</p></li>
<li><p><strong>X2</strong> this is the format currently recommended by Ucamco and the
default for modern KiCad versions. This extension adds important
meta-data to the files. It helps CAM operators to know whats every
drawing in the image. So you know which are pads, tracks, etc. And
also more interesting information: impedance controlled tracks, the
role of each file, etc. Using X2 you can know what is each file
without the need of special names or file extensions. KiCad can
generate drill files using X2.</p></li>
<li><p><strong>X3</strong> this is the current draft. One interesting addition is the
<em>Components</em> role. These files replaces the position files, adding
important information about the footprint.</p></li>
</ul>
<p>In addition to them is the spec for the <strong>Gerber Job</strong> file. This file
was introduced between X2 and X3, and is used to group all the gerber
files. The <em>gbrjob</em> file contains all the missing stack-up information.</p>
<p>KiCad 5 can generate X1, X2 and gerber job files, including drill
information in gerber format. KiCad 5.99 (6.0 pre-release) can also
generate X3 files (position files in gerber format).</p>
<p>As you can see the idea of Ucamco is to unify all fabrication
information in one format.</p>
<p>The <strong>X2</strong> format was designed in a way that software that fully
implement <strong>X1</strong> can just ignore the added meta-data. In an ideal world
you shouldnt bother about it and generate <strong>X2</strong> files. Just use the
<strong>gbr</strong> file extension and a <em>gbrjob</em> file. The problem is with poorly
implemented CAM tools. In particular <strong>CAM350</strong>, used by various
important cheap China manufacturers. This software has known issues
interpretating aperture macros and some X2 data. If your manufacturer
has problems with your files check the following:</p>
<ul class="simple">
<li><p>Put gerber, drill and position files in the same directory.</p></li>
<li><p>Disable <strong>X2</strong> extensions (<code class="docutils literal notranslate"><span class="pre">use_gerber_x2_attributes</span></code> set to
<code class="docutils literal notranslate"><span class="pre">false</span></code>)</p></li>
<li><p>Use arcaic role mechanism (<code class="docutils literal notranslate"><span class="pre">use_protel_extensions</span></code> set to <code class="docutils literal notranslate"><span class="pre">true</span></code>)</p></li>
<li><p>Disable <strong>aperture macros</strong> (KiCad 6 only:
<code class="docutils literal notranslate"><span class="pre">disable_aperture_macros</span></code> set to <code class="docutils literal notranslate"><span class="pre">true</span></code>)</p></li>
</ul>
<p>The
<a class="reference external" href="https://github.com/g200kg/kicad-gerberzipper">kicad-gerberzipper</a> is
an action plugin for KiCad oriented to help to generate gerber and drill
files for some manufacturers. I adapted the configurations from
kicad-gerberzipper to KiBot configurations, they are available as
<a class="reference internal" href="configuration/outputs.html#import-templates"><span class="std std-ref">internal templates</span></a></p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="usage_with_ci_cd.html" class="btn btn-neutral float-left" title="Usage for CI/CD" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="notes_position.html" class="btn btn-neutral float-right" title="Notes about the position file" 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>