From 9febca7da6a730b3b3ca3a54129a9f88e5c44d14 Mon Sep 17 00:00:00 2001 From: opiopan Date: Thu, 21 Mar 2019 22:00:32 +0900 Subject: initial commit --- README.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 README.md (limited to 'README.md') 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.
+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. + +

+description +

+ + +## Installation +```shell +$ git clone https://github.com/opiopan/pcb-tools-extension.git +$ pip install pcb-tools-extension \ No newline at end of file -- cgit