summaryrefslogtreecommitdiff
path: root/docs/file-api.rst
blob: ed23672d2c385f2b53f51435bce6cf03dfa63ecb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Layers and Files
================

Gerbonara currently supports three file types: RS-274-X Gerber as `specified by Ucamco
<https://www.ucamco.com/en/gerber>`:py:class:`._` through :py:class:`.GerberFile`, Excellon/XNC through
:py:class:`.ExcellonFile`, and IPC-356 netlists through :py:class:`.Netlist`.

Usually, a PCB is sent to a manufacturer as a bundle of several of these files. Such a bundle of files (each of which is
either a :py:class:`.GerberFile` or an :py:class:`.ExcellonFile`) is represented by :py:class:`.LayerStack`.
:py:class:`.LayerStack` contains logic to automatcally recognize a wide variety of CAD tools from file name and
syntactic hints, and can automatically match all files in a folder to their appropriate layers.

.. autoclass:: gerbonara.layers.LayerStack
   :members:

.. autoclass:: gerbonara.rs274x.GerberFile
   :members:

.. autoclass:: gerbonara.excellon.ExcellonFile
   :members:

.. autoclass:: gerbonara.ipc356.Netlist
   :members: