diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 74 |
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 |