gerbmerge/gerbmerge/strokes.py

39 lines
13 KiB
Python

#!/usr/bin/env python
# This file was automatically generated by genstroke.py
StrokeMap = {'"': [[(400, 500), (300, 400)], [(400, 500), (400, 700)], [(200, 700), (200, 500), (100, 400)]], '$': [[(250, -100), (250, 700)], [(350, 600), (450, 500)], [(350, 600), (150, 600), (50, 500), (50, 400), (150, 300), (350, 300), (450, 200), (450, 100), (350, 0), (150, 0), (50, 100)]], '&': [[(150, 600), (50, 500), (50, 400), (450, 0)], [(450, 200), (250, 0), (150, 0), (50, 100), (50, 200), (250, 400), (250, 500), (150, 600)]], '(': [[(350, 600), (150, 400), (150, 200), (350, 0)]], '*': [[(450, 300), (50, 300)], [(50, 500), (450, 100)], [(250, 100), (250, 500)], [(450, 500), (50, 100)]], ',': [[(150, -200), (350, 0), (250, 0), (250, 100), (350, 100), (350, 0)]], '.': [[(200, 100), (300, 100), (300, 0), (200, 0), (200, 100)]], '0': [[(150, 0), (50, 100), (450, 500), (450, 100), (350, 0), (150, 0)], [(50, 100), (50, 500), (150, 600), (350, 600), (450, 500)]], '2': [[(50, 0), (450, 400), (450, 500), (350, 600), (150, 600), (50, 500)], [(50, 0), (450, 0)]], '4': [[(50, 300), (450, 300)], [(350, 0), (350, 600), (50, 300)]], '6': [[(50, 300), (50, 100), (150, 0), (350, 0), (450, 100), (450, 200), (350, 300), (50, 300), (250, 500), (450, 600)]], '8': [[(50, 100), (50, 200), (150, 300), (350, 300), (450, 200), (450, 100), (350, 0), (150, 0), (50, 100)], [(150, 300), (50, 400), (50, 500), (150, 600), (350, 600), (450, 500), (450, 400), (350, 300)]], ':': [[(200, 400), (200, 300), (300, 300), (300, 400), (200, 400)], [(200, 100), (200, 0), (300, 0), (300, 100), (200, 100)]], '<': [[(50, 300), (450, 0)], [(50, 300), (450, 600)]], '>': [[(450, 300), (50, 0)], [(450, 300), (50, 600)]], '@': [[(450, 100), (350, 0), (150, 0), (50, 100), (50, 500), (150, 600), (350, 600), (450, 500), (450, 300), (350, 200), (350, 400), (150, 400), (150, 200), (350, 200)]], 'B': [[(50, 300), (350, 300), (450, 200), (450, 100), (350, 0), (50, 0), (50, 600), (350, 600), (450, 500), (450, 400), (350, 300)]], 'D': [[(50, 600), (50, 0), (350, 0), (450, 100), (450, 500), (350, 600), (50, 600)]], 'F': [[(50, 300), (250, 300)], [(50, 600), (450, 600)], [(50, 600), (50, 0)]], 'H': [[(50, 0), (50, 600)], [(50, 300), (450, 300)], [(450, 600), (450, 0)]], 'J': [[(50, 100), (150, 0), (250, 0), (350, 100), (350, 600)], [(250, 600), (450, 600)]], 'L': [[(50, 0), (450, 0)], [(50, 0), (50, 600)]], 'N': [[(50, 0), (50, 600), (450, 0), (450, 600)]], 'P': [[(450, 300), (350, 200), (50, 200)], [(50, 0), (50, 600), (350, 600), (450, 500), (450, 300)]], 'R': [[(450, 300), (350, 200), (50, 200)], [(50, 0), (50, 600), (350, 600), (450, 500), (450, 300)], [(250, 200), (450, 0)]], 'T': [[(450, 600), (50, 600)], [(250, 600), (250, 0)]], 'V': [[(450, 600), (450, 200), (250, 0), (50, 200), (50, 600)]], 'X': [[(450, 0), (50, 600)], [(450, 600), (50, 0)]], 'Z': [[(50, 600), (450, 600), (450, 500), (50, 100), (50, 0), (450, 0)]], '\\': [[(450, 0), (50, 600)]], '^': [[(450, 300), (250, 500), (50, 300)]], '`': [[(200, 700), (200, 500), (300, 400)]], 'b': [[(450, 100), (450, 300), (350, 400), (50, 400)], [(50, 600), (50, 0), (350, 0), (450, 100)]], 'd': [[(450, 400), (150, 400), (50, 300), (50, 100), (150, 0), (450, 0), (450, 600)]], 'f': [[(350, 300), (150, 300)], [(250, 500), (250, 0)], [(250, 500), (350, 600)]], 'h': [[(450, 300), (450, 0)], [(450, 300), (350, 400), (150, 400), (50, 300)], [(50, 600), (50, 0)]], 'j': [[(250, -200), (350, -100), (350, 400)], [(350, 600), (350, 700)], [(250, -200), (150, -200)]], 'l': [[(350, 0), (150, 0)], [(250, 0), (250, 600), (150, 600)]], 'n': [[(450, 0), (450, 300), (350, 400), (50, 400), (50, 0)]], 'p': [[(50, -200), (50, 400), (350, 400), (450, 300), (450, 100), (350, 0), (50, 0)]], 'r': [[(400, 400), (300, 400), (100, 200)], [(100, 0), (100, 400)]], 't': [[(250, 500), (250, 100), (350, 0)], [(350, 400), (150, 400)]], 'v': [[(50, 400), (250, 0), (450, 400)]], 'x': [[(50, 400), (450, 0)], [(50, 0), (450, 400)]], 'z': [[(50, 400), (450, 400), (50, 0), (450, 0)]], '|': [[(250, 0), (250, 600)]], '~': [[(50, 600), (150, 700), (350, 500), (450, 600)]], '!': [[(250, 0), (250, 100)], [(250, 200), (250, 700)]], '#': [[(450, 200), (50, 200)], [(50, 400), (350, 400), (450, 400)], [(350, 600), (350, 0)], [(150, 0), (150, 600)]], '%': [[(500, 600), (0, 0)], [(0, 500), (0, 600), (100, 600), (100, 500), (0, 500)], [(400, 100), (500, 100), (500, 0), (400, 0), (400, 100)]], "'": [[(200, 400), (300, 500), (300, 700)]], ')': [[(150, 600), (350, 400), (350, 200), (150, 0)]], '+': [[(250, 100), (250, 500)], [(50, 300), (450, 300)]], '-': [[(50, 300), (450, 300)]], '/': [[(50, 0), (450, 600)]], '1': [[(150, 500), (250, 600), (250, 0)], [(150, 0), (350, 0)]], '3': [[(50, 100), (150, 0), (350, 0), (450, 100), (450, 200), (350, 300), (250, 300)], [(350, 300), (450, 400), (450, 500), (350, 600), (150, 600), (50, 500)]], '5': [[(50, 300), (250, 400), (350, 400), (450, 300), (450, 100), (350, 0), (150, 0), (50, 100)], [(50, 300), (50, 600), (450, 600)]], '7': [[(50, 600), (450, 600), (450, 500), (50, 100), (50, 0)]], '9': [[(50, 400), (150, 300), (450, 300)], [(450, 100), (450, 500), (350, 600), (150, 600), (50, 500), (50, 400)], [(50, 100), (150, 0), (350, 0), (450, 100)]], ';': [[(150, -200), (350, 0), (250, 0), (250, 100), (350, 100), (350, 0)], [(350, 300), (250, 300), (250, 400), (350, 400), (350, 300)]], '=': [[(450, 400), (50, 400)], [(50, 200), (450, 200)]], '?': [[(450, 400), (250, 200)], [(250, 100), (250, 0)], [(450, 400), (450, 500), (350, 600), (150, 600), (50, 500)]], 'A': [[(50, 0), (50, 400), (250, 600), (450, 400), (450, 0)], [(450, 300), (50, 300)]], 'C': [[(50, 500), (50, 100), (150, 0), (350, 0), (450, 100)], [(450, 500), (350, 600), (150, 600), (50, 500)]], 'E': [[(450, 600), (50, 600), (50, 0), (450, 0)], [(250, 300), (50, 300)]], 'G': [[(50, 100), (150, 0), (350, 0), (450, 100), (450, 300), (250, 300)], [(450, 500), (350, 600), (150, 600), (50, 500), (50, 100)]], 'I': [[(150, 0), (350, 0)], [(250, 0), (250, 600)], [(150, 600), (350, 600)]], 'K': [[(50, 600), (50, 0)], [(50, 200), (450, 600)], [(150, 300), (450, 0)]], 'M': [[(50, 0), (50, 600), (250, 400), (450, 600), (450, 0)]], 'O': [[(450, 100), (450, 500), (350, 600), (150, 600), (50, 500), (50, 100), (150, 0), (350, 0), (450, 100)]], 'Q': [[(450, 0), (250, 200)], [(350, 0), (150, 0), (50, 100), (50, 500), (150, 600), (350, 600), (450, 500), (450, 100), (350, 0)]], 'S': [[(450, 100), (350, 0), (150, 0), (50, 100)], [(150, 300), (50, 400), (50, 500), (150, 600), (350, 600), (450, 500)], [(350, 300), (450, 200), (450, 100)], [(350, 300), (150, 300)]], 'U': [[(450, 600), (450, 100), (350, 0), (150, 0), (50, 100), (50, 600)]], 'W': [[(450, 0), (450, 600)], [(250, 200), (450, 0)], [(250, 200), (50, 0), (50, 600)]], 'Y': [[(50, 600), (50, 500), (250, 300), (250, 0)], [(250, 300), (450, 500), (450, 600)]], '[': [[(350, 600), (150, 600), (150, 0), (350, 0)]], ']': [[(350, 0), (350, 600), (150, 600)], [(150, 0), (350, 0)]], '_': [[(450, -100), (50, -100)]], 'a': [[(450, 200), (150, 200), (50, 100), (150, 0), (450, 0), (450, 300), (350, 400), (150, 400)]], 'c': [[(450, 400), (150, 400), (50, 300), (50, 100), (150, 0), (450, 0)]], 'e': [[(450, 300), (450, 200), (50, 200)], [(50, 300), (150, 400), (350, 400), (450, 300)], [(350, 0), (150, 0), (50, 100), (50, 300)]], 'g': [[(450, 0), (150, 0), (50, 100), (50, 300), (150, 400), (450, 400), (450, -100), (350, -200), (250, -200)]], 'i': [[(350, 0), (150, 0)], [(250, 0), (250, 400), (150, 400)], [(250, 600), (250, 700)]], 'k': [[(400, 400), (100, 200), (400, 0)], [(100, 0), (100, 600)]], 'm': [[(450, 0), (450, 300), (350, 400), (250, 300), (250, 0)], [(250, 300), (150, 400), (50, 400), (50, 0)]], 'o': [[(450, 100), (450, 300), (350, 400), (150, 400), (50, 300), (50, 100), (150, 0), (350, 0), (450, 100)]], 'q': [[(450, 400), (450, -200)], [(450, 0), (150, 0), (50, 100), (50, 300), (150, 400), (450, 400)]], 's': [[(450, 400), (150, 400), (50, 300), (150, 200), (350, 200), (450, 100), (350, 0), (50, 0)]], 'u': [[(150, 0), (450, 0), (450, 400)], [(50, 400), (50, 100), (150, 0)]], 'w': [[(50, 400), (50, 100), (150, 0), (250, 100), (350, 0), (450, 100), (450, 400)]], 'y': [[(50, 400), (50, 100), (150, 0), (450, 0)], [(450, -100), (350, -200), (250, -200)], [(450, -100), (450, 400)]], '{': [[(400, 600), (300, 600), (200, 500), (200, 400), (100, 300), (200, 200), (200, 100), (300, 0), (400, 0)]], '}': [[(100, 0), (200, 0), (300, 100), (300, 200), (400, 300), (300, 400), (300, 500), (200, 600), (100, 600)]]}
MaxHeight = 700
MaxWidth = 500
# Each drill stroke is in a box with corners (-400,-400) to (400,400). The center of the box at (0,0)
# is the drill center.
DrillStrokeList = [ \
[[(-400, -400), (400, 400)], [(400, -400), (-400, 400)], [(-400, 0), (400, 0)]], \
[[(0, 0), (-400, 0)], [(0, 0), (400, 400), (400, -400), (0, 0)]], \
[[(0, 0), (400, 0)], [(0, 0), (-400, 400), (-400, -400), (0, 0)]], \
[[(-400, 0), (400, 0)], [(0, -400), (0, 400)], [(-390, 0), (-388, 39), (-382, 79), (-372, 117), (-358, 154), (-341, 189), (-320, 223), (-296, 254), (-269, 283), (-239, 308), (-206, 331), (-172, 350), (-135, 366), (-98, 378), (-59, 386), (-20, 389), (20, 389), (59, 386), (98, 378), (135, 366), (172, 350), (206, 331), (239, 308), (269, 283), (296, 254), (320, 223), (341, 189), (358, 154), (372, 117), (382, 79), (388, 39), (390, 0), (388, -39), (382, -79), (372, -117), (358, -154), (341, -189), (320, -223), (296, -254), (269, -283), (239, -308), (206, -331), (172, -350), (135, -366), (98, -378), (59, -386), (20, -389), (-20, -389), (-59, -386), (-98, -378), (-135, -366), (-172, -350), (-206, -331), (-239, -308), (-269, -283), (-296, -254), (-320, -223), (-341, -189), (-358, -154), (-372, -117), (-382, -79), (-388, -39), (-390, 0)]], \
[[(-400, 0), (400, 0)], [(0, -400), (0, 400)], [(-390, 0), (-388, 39), (-382, 79), (-372, 117), (-358, 154), (-341, 189), (-320, 223), (-296, 254), (-269, 283), (-239, 308), (-206, 331), (-172, 350), (-135, 366), (-98, 378), (-59, 386), (-20, 389), (20, 389), (59, 386), (98, 378), (135, 366), (172, 350), (206, 331), (239, 308), (269, 283), (296, 254), (320, 223), (341, 189), (358, 154), (372, 117), (382, 79), (388, 39), (390, 0), (388, -39), (382, -79), (372, -117), (358, -154), (341, -189), (320, -223), (296, -254), (269, -283), (239, -308), (206, -331), (172, -350), (135, -366), (98, -378), (59, -386), (20, -389), (-20, -389), (-59, -386), (-98, -378), (-135, -366), (-172, -350), (-206, -331), (-239, -308), (-269, -283), (-296, -254), (-320, -223), (-341, -189), (-358, -154), (-372, -117), (-382, -79), (-388, -39), (-390, 0)], [(-195, 0), (-193, 28), (-187, 56), (-177, 83), (-163, 108), (-145, 130), (-125, 150), (-102, 166), (-76, 179), (-49, 189), (-21, 194), (7, 195), (35, 192), (63, 185), (89, 173), (113, 159), (135, 140), (154, 119), (170, 95), (182, 70), (190, 42), (194, 14), (194, -14), (190, -42), (182, -70), (170, -95), (154, -119), (135, -140), (113, -159), (89, -173), (63, -185), (35, -192), (7, -195), (-21, -194), (-49, -189), (-76, -179), (-102, -166), (-125, -150), (-145, -130), (-163, -108), (-177, -83), (-187, -56), (-193, -28), (-195, 0)]], \
[[(-400, 0), (400, 0), (0, 400), (0, -400), (-400, 0)]], \
[[(-400, 0), (400, 0)], [(0, -400), (0, 400)], [(-390, 390), (390, 390), (390, -390), (-390, -390), (-390, 390)]], \
[[(-400, 0), (400, 0)], [(0, -400), (0, 400)]], \
[[(-400, 0), (400, 0)], [(0, -400), (0, 400)], [(-390, 390), (390, 390), (390, -390), (-390, -390), (-390, 390)], [(-195, 195), (195, 195), (195, -195), (-195, -195), (-195, 195)]], \
[[(-400, 0), (400, 0), (0, -400), (0, 400), (-400, 0)]], \
[[(-400, -400), (400, 400), (400, -400), (-400, 400), (-400, -400)]], \
[[(-400, -400), (400, 400), (-400, 400), (400, -400), (-400, -400)]], \
[[(0, 0), (0, 400), (400, 0), (0, -400), (-400, 0), (0, 400)]], \
[[(0, -400), (0, 0), (-400, 400), (400, 400), (0, 0)]], \
[[(400, -400), (-400, 400)], [(-400, -400), (400, 400)]], \
[[(0, 0), (0, 400)], [(0, 0), (-400, -400), (400, -400), (0, 0)]], \
[[(0, 0), (0, 400), (400, 400), (400, -400), (-400, -400), (-400, 400), (0, 400)]], \
[[(-400, -400), (400, 400)], [(400, -400), (-400, 400)], [(0, 400), (0, -400)]], \
[[(-390, 0), (-388, 39), (-382, 79), (-372, 117), (-358, 154), (-341, 189), (-320, 223), (-296, 254), (-269, 283), (-239, 308), (-206, 331), (-172, 350), (-135, 366), (-98, 378), (-59, 386), (-20, 389), (20, 389), (59, 386), (98, 378), (135, 366), (172, 350), (206, 331), (239, 308), (269, 283), (296, 254), (320, 223), (341, 189), (358, 154), (372, 117), (382, 79), (388, 39), (390, 0), (388, -39), (382, -79), (372, -117), (358, -154), (341, -189), (320, -223), (296, -254), (269, -283), (239, -308), (206, -331), (172, -350), (135, -366), (98, -378), (59, -386), (20, -389), (-20, -389), (-59, -386), (-98, -378), (-135, -366), (-172, -350), (-206, -331), (-239, -308), (-269, -283), (-296, -254), (-320, -223), (-341, -189), (-358, -154), (-372, -117), (-382, -79), (-388, -39), (-390, 0)], [(-400, -400), (400, 400)]], \
[[(400,400), (0,0), (-400,0), (0,-400), (0,0)]], \
[[(-400,400), (0,0), (0, -400), (400,0), (0,0)]], \
[[(-400,-400), (0,0), (0,400), (400,0), (0,0)]], \
[[(400,-400), (0,0), (0,400), (-400,0), (0,0)]], \
[[(0,0), (-400,0), (-400,400), (400,400), (400,-400), (-400,-400), (-400,0)]], \
[[(0,0), (0,-400), (-400,-400), (-400,400), (400,400), (400,-400), (0,-400)]], \
[[(0,0), (400,0), (400,-400), (-400,-400), (-400,400), (400,400), (400,0)]] ]
MaxNumDrillTools = len(DrillStrokeList)