184 lines
9.8 KiB
HTML
184 lines
9.8 KiB
HTML
<!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 — 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 isn’t 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 what’s 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 shouldn’t 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>© 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> |