summaryrefslogtreecommitdiff
path: root/docs/file-api.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/file-api.rst')
-rw-r--r--docs/file-api.rst25
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/file-api.rst b/docs/file-api.rst
new file mode 100644
index 0000000..d73b5f1
--- /dev/null
+++ b/docs/file-api.rst
@@ -0,0 +1,25 @@
+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:
+