summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authoropiopan <opiopan@gmail.com>2019-03-21 22:00:32 +0900
committeropiopan <opiopan@gmail.com>2019-03-21 22:00:32 +0900
commit9febca7da6a730b3b3ca3a54129a9f88e5c44d14 (patch)
tree3f260096ab0c40eca527195630ab004208b4ee78 /README.md
downloadgerbonara-9febca7da6a730b3b3ca3a54129a9f88e5c44d14.tar.gz
gerbonara-9febca7da6a730b3b3ca3a54129a9f88e5c44d14.tar.bz2
gerbonara-9febca7da6a730b3b3ca3a54129a9f88e5c44d14.zip
initial commit
Diffstat (limited to 'README.md')
-rw-r--r--README.md74
1 files changed, 74 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e3fb731
--- /dev/null
+++ b/README.md
@@ -0,0 +1,74 @@
+PCB tools extension
+===
+PCB tools extension is a Python library to panelize gerber files.
+This library is designed based on [PCB tools](https://github.com/curtacircuitos/pcb-tools) which provides cool functionality to handle PCB such as generationg PCB image from gerber files.
+
+PCB tools extension adds following function to PCB tools.
+
+- Rotate PCB data (imprementation is not completed)
+- Save loding PCB data
+- Merge multiple PCB data
+- Translate DXF file to gerber data
+
+Only RS-274x format and Excellon drill format data can be handled by current version of this library.
+
+## How to panelize
+Following code is a example to panelize two top metal layer files.
+
+``` python
+import gerberex
+
+ctx = gerberex.GerberComposition()
+
+metal1 = gerberex.read('board1.gtl')
+ctx.merge(metal1)
+
+metal2 = gerberex.read('board2.gtl')
+metal2.to_metric()
+metal2.offset(30, 0)
+ctx.merge(metal2)
+
+ctx.dump('panelized-board.gtl')
+```
+
+In case of Excellon drill data, you have to use ```DrillCompositon``` instead of ```GerberComposition```.
+
+```python
+import gerberex
+
+ctx = gerberex.DrillComposition()
+
+drill1 = gerberex.read('board1.txt')
+ctx.merge(drill1)
+
+drill2 = gerberex.read('board2.txt')
+drill2.to_metric()
+drill2.offset(30, 0)
+ctx.merge(drill2)
+
+ctx.dump('panelized-board.txt')
+```
+
+## DXF file translation
+You can also load a dxf file and handle that as same as RX-274x gerber file.<br>
+This function is useful to generate outline data of pnanelized PCB boad.
+
+```python
+import gerberex
+
+ctx = gerberex.GerberComposition()
+dxf = gerberex.read('outline.dxf')
+ctx.merge(dxf)
+```
+## Panelized board image Example
+This image is generated by original [PCB tools](https://github.com/curtacircuitos/pcb-tools) fucntion.
+
+<p align="center">
+<img alt="description" src="https://raw.githubusercontent.com/wiki/opiopan/pcb-tools-extension/images/panelized.jpg" width=750>
+</p>
+
+
+## Installation
+```shell
+$ git clone https://github.com/opiopan/pcb-tools-extension.git
+$ pip install pcb-tools-extension \ No newline at end of file