Nie wiem czy jest możliwe wydrukowanie elementów z warstwy centerDrill jeśli widoczne są inne wyższe warstwy, wygląda na to że nie. Ale znalazłem kompromisowe rozwiązanie, do CAM Procesora dwa narzędzia, które generując plik .ps zmniejszając otwory pod przelotki do określonej w konfiguracji średnicy. Dodać należy do pliku ./bin/eagle.def definicję dodatkowych urządzeń. Ja dodałem pod definicjami [PS] oraz [PS_INVERTED]
Pierwsze które jest odwzorowaniem narzędzia CAM Procesora "PS", dodatkowo zmniejsza średnicę przelotek, co pomaga złapać punkt wiercenia. Kod który należy dodać to eagle.def:
Kod:
[PS-Drill_aid]
@EPS
Long = "Postscript with max hole size in pads/etc, ala drill-aid.ulp"
Header3 = "%% 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 4500 gt {\n"\
" /d 4500 def\n %% But override it to 0.45mm\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"\
"%% The drawing\n"
Oraz kod który pozwala wygenerować negatyw zmniejszając średnice otworów, w zasadzie jako że robię metodą fotochemiczną najbardziej brakowało mi tej opcji
Kod:
[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)
Oba fragmenty konfiguracji dodają do CAM Procesora dwa narzędzia o nazwach "PS-Drill_aid" oraz "PS-inverted-Drillaid". Wadą tego rozwiązania jest fakt że definiujemy określony rozmiar otworów, którego nie możemy zmienić z poziomu eagle, by go zmienić musimy zmienić wartość w pliku konfiguracyjnym "eagle.def".
W zasadzie warstwa centerDrill jest do tego bezużyteczna, oba narzędzie nie korzystają z niej, jeśli nieużywana w innych celach to można ją usunąć z projektu.
Może powyższe rozwiązanie pomoże innym, dlatego też umieściłem go tutaj i nie trzymam tylko dla siebie.