summaryrefslogtreecommitdiff
path: root/docs/file-api.rst
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2022-02-01 22:08:54 +0100
committerjaseg <git@jaseg.de>2022-02-01 22:08:54 +0100
commit7473e471dc69d09a35bb0762549cc4f3ab8b04b3 (patch)
treedcd162f56a5dbeac6ee669fc85d582813fd48eea /docs/file-api.rst
parentc3ca4f95bd59f69d45e582a4149327f57a360760 (diff)
downloadgerbonara-7473e471dc69d09a35bb0762549cc4f3ab8b04b3.tar.gz
gerbonara-7473e471dc69d09a35bb0762549cc4f3ab8b04b3.tar.bz2
gerbonara-7473e471dc69d09a35bb0762549cc4f3ab8b04b3.zip
Add some documentation
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:
+