Eagle CAD drill-aid inverted PS

Drill-aid.upl хорошая штука, да вот драйвер PS игла на неё плюет, поискав немного, решение таки нашлось у немцев

Добавить новую секцию в $EAGLEDIR/bin/eagle.def:

[PS-inverted-Drillaid]
 
@PS_INVERTED
Long     = "Postscript (printable) with max hold size ala Drill-aid.ulp"
 
Header2  = "%% redefine our /h function with a fixed diameter\n"\
           "/h {  %% draw a hole\n"\
           "   /d  exch def\n  %% Still need to pop diam off stack\n"\
           "   d 5000 gt {\n"\
           "      /d  5000 def\n  %% But override it to 0.5mm\n"\
           "   } if\n"\
           "   /y  exch def\n"\
           "   /x  exch def\n"\
           "   d 0 gt {\n"\
           "     newpath\n"\
           "     x EU y EU d 2 div EU 0 360 arc\n"\
           "     currentgray dup\n"\
           "     1 exch sub setgray\n"\
           "     fill\n"\
           "     setgray\n"\
           "     } if\n"\
           "   } def\n"\
           "%% Remainder of Header2 copied from define for PS device\n"\
           "%% the real drawing size:\n"\
           "\n"\
           "/MinDrawX %6d EU def\n"\
           "/MinDrawY %6d EU def\n"\
           "/MaxDrawX %6d EU def\n"\
           "/MaxDrawY %6d EU def\n"\
           "\n"\
           "%% the usable page size:\n"\
           "\n"\
           "/LeftMargin 0.25 inch def  %% change these if drawing gets clipped!\n"\
           "/BotMargin  0.25 inch def\n"\
           "/PageWidth  %7.4f inch def\n"\
           "/PageHeight %7.4f inch def\n"\
           "\n"\
           "%% are we going to rotate?:\n"\
           "\n"\
           "/RotateDrawing %d 0 ne def\n"\
           "\n"
           ;(x1, y1, x2, y2, Width, Height, DoRotate)

ну и чтобы не потерялось, не инверсный:

[PS-Drillaid]
 
@PS
Long     = "Postscript (printable) with max hold size ala Drill-aid.ulp"
 
Header2  = "%% redefine our /h function with a fixed diameter\n"\
           "/h {  %% draw a hole\n"\
           "   /d  exch def\n  %% Still need to pop diam off stack\n"\
           "   d 5000 gt {\n"\
           "      /d  5000 def\n  %% But override it to 0.5mm\n"\
           "   } if\n"\
           "   /y  exch def\n"\
           "   /x  exch def\n"\
           "   d 0 gt {\n"\
           "     newpath\n"\
           "     x EU y EU d 2 div EU 0 360 arc\n"\
           "     currentgray dup\n"\
           "     1 exch sub setgray\n"\
           "     fill\n"\
           "     setgray\n"\
           "     } if\n"\
           "   } def\n"\
           "%% Remainder of Header2 copied from define for PS device\n"\
           "%% the real drawing size:\n"\
           "\n"\
           "/MinDrawX %6d EU def\n"\
           "/MinDrawY %6d EU def\n"\
           "/MaxDrawX %6d EU def\n"\
           "/MaxDrawY %6d EU def\n"\
           "\n"\
           "%% the usable page size:\n"\
           "\n"\
           "/LeftMargin 0.25 inch def  %% change these if drawing gets clipped!\n"\
           "/BotMargin  0.25 inch def\n"\
           "/PageWidth  %7.4f inch def\n"\
           "/PageHeight %7.4f inch def\n"\
           "\n"\
           "%% are we going to rotate?:\n"\
           "\n"\
           "/RotateDrawing %d 0 ne def\n"\
           "\n"
           ;(x1, y1, x2, y2, Width, Height, DoRotate)