pcb-tools-extension/test/test.py
2019-03-30 11:16:13 +09:00

98 lines
2.2 KiB
Python
Executable file

import os
import gerberex
from gerberex.dxf import DxfFile
import gerber
from gerber.render.cairo_backend import GerberCairoContext
def merge():
ctx = gerberex.GerberComposition()
a = gerberex.read('test.GTL')
a.to_metric()
ctx.merge(a)
b = gerberex.read('test.GTL')
b.to_metric()
b.offset(0, 25)
ctx.merge(b)
c = gerberex.read('test2.GTL')
c.to_metric()
c.offset(0, 60)
ctx.merge(c)
c = gerberex.read('test.GML')
c.to_metric()
ctx.merge(c)
ctx.dump('test-merged.GTL')
def merge2():
ctx = gerberex.DrillComposition()
a = gerberex.read('test.TXT')
a.to_metric()
ctx.merge(a)
b = gerberex.read('test.TXT')
b.to_metric()
b.offset(0, 25)
ctx.merge(b)
c = gerberex.read('test2.TXT')
c.to_metric()
c.offset(0, 60)
ctx.merge(c)
ctx.dump('test-merged.TXT')
os.chdir(os.path.dirname(__file__))
#merge2()
ctx = gerberex.DrillComposition()
base = gerberex.read('data/base.txt')
dxf = gerberex.read('data/mousebites.dxf')
dxf.draw_mode = DxfFile.DM_MOUSE_BITES
dxf.to_metric()
dxf.width = 0.5
ctx.merge(base)
ctx.merge(dxf)
ctx.dump('outputs/merged.txt')
dxf = gerberex.read('data/mousebite.dxf')
dxf.zero_suppression = 'leading'
dxf.write('outputs/a.gtl')
dxf.draw_mode = DxfFile.DM_MOUSE_BITES
dxf.width = 0.5
dxf.write('outputs/b.gml')
dxf.format = (3,3)
dxf.write('outputs/b.txt', filetype=DxfFile.FT_EXCELLON)
top = gerber.load_layer('outputs/a.gtl')
drill = gerber.load_layer('outputs/b.txt')
ctx = GerberCairoContext(scale=50)
ctx.render_layer(top)
ctx.render_layer(drill)
ctx.dump('outputs/b.png')
file = gerberex.read('data/test.GTL')
file.rotate(45)
file.write('outputs/test_changed.GTL')
file = gerberex.read('data/test.TXT')
file.rotate(45)
file.write('outputs/test_changed.TXT')
file = gerberex.read('data/outline.dxf')
file.to_metric()
w = file.width
file.draw_mode = DxfFile.DM_FILL
file.write('outline.GML')
copper = gerber.load_layer('test-merged.GTL')
ctx = GerberCairoContext(scale=10)
ctx.render_layer(copper)
outline = gerber.load_layer('test.GML')
outline.cam_source.to_metric()
ctx.render_layer(outline)
drill = gerber.load_layer('test-merged.TXT')
ctx.render_layer(drill)
ctx.dump('test.png')