add mouse bites generator function

This commit is contained in:
opiopan 2019-03-30 11:16:13 +09:00
parent 7e8f90b372
commit fcd704e1ee
9 changed files with 2785 additions and 48 deletions

View file

@ -1,9 +1,9 @@
PCB tools extension
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 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.
pcb-tools-extension adds following function to pcb-tools.
- Rotate PCB data
- Write back loded PCB data (original PCB tools does not work completely)
@ -13,7 +13,7 @@ PCB tools extension adds following function to PCB tools.
Only RS-274x format and Excellon drill format data can be handled by current version of this library.
## Install
PCB tools extension is not registerd to PyPI repository.<br>
pcb-tools-extension is not registerd to PyPI repository.<br>
Please install from GitHub repository as below.
```shell
$ pip install git+https://github.com/opiopan/pcb-tools-extension
@ -62,6 +62,8 @@ ctx.dump('panelized-board.txt')
```
## DXF file translation
### PCB Outline
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.
@ -96,8 +98,33 @@ dxf.draw_mode = gerberex.DxfFile.DM_FILL
dxf.write('outline.gml')
```
### Mouse bites
<img alt="mouse bites" src="https://raw.githubusercontent.com/wiki/opiopan/pcb-tools-extension/images/mousebites.png" width=200 align="right">
If ```DM_MOUSE_BITES``` is specified for ```drawing_mode```, filled circles will arranged along a DXF line object at equal intervals. <br>
DXF file object in this state can be merged to excellon file also. That means you can arrange mouse bites easily.
```python
import gerberex
ctx = gerberex.DrillComposition()
drill = gerberex.read('drill.txt')
ctx.merge(drill)
dxf = gerberex.read('mousebites.dxf')
dxf.draw_mode = gerberex.DxfFile.DM_MOUSE_BITES
dxf.to_metric()
dxf.width = 0.5
dxf.pitch = 1
ctx.merge(dxf)
ctx.dump('merged_drill.txt')
```
## Panelized board image Example
This image is generated by original [PCB tools](https://github.com/curtacircuitos/pcb-tools) fucntion.
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>