73 lines
1.5 KiB
Python
Executable file
73 lines
1.5 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()
|
|
|
|
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')
|