Homebrewでimagemagickをインストールしておく。
$ brew install imagemagick
以下を用意する。
makepng.scr
#Create folder for output RUN mkdir-desktop #Make top side png image DISPLAY ALL RATSNEST DISPLAY None DISPLAY Top Pads Vias EXPORT IMAGE ~/Desktop/eagle_png/top.png MONOCHROME 2000 DISPLAY Bottom Unrouted Dimension tPlace bPlace #Make bottom side png image DISPLAY ALL RATSNEST DISPLAY None DISPLAY Bottom Pads Vias EXPORT IMAGE ~/Desktop/eagle_png/bottom.png MONOCHROME 2000 DISPLAY Top Unrouted Dimension tPlace bPlace #Invert PNG image for etching (no need for fab modules) RUN invert-png #Flip PNG image horizontally for etching (if necessary) RUN flip-png
mkdir-desktop.ulp
system("mkdir ~/Desktop/eagle_png");
invert-png.ulp
int res1 = system("/usr/local/bin/convert ~/Desktop/eagle_png/top.png -negate ~/Desktop/eagle_png/top-invert.png"); int res2 = system("/usr/local/bin/convert ~/Desktop/eagle_png/bottom.png -negate ~/Desktop/eagle_png/bottom-invert.png"); string errorMsg; sprintf(errorMsg,"An error occured when inverting image. %d %d",res1,res2); if (res1 == 0 && res2 == 0){ dlgMessageBox("Image successfully inverted."); } else { dlgMessageBox(errorMsg); }
flip-png.ulp
int res1 = system("/usr/local/bin/convert ~/Desktop/eagle_png/top-invert.png -flop ~/Desktop/eagle_png/top-invert-flop.png"); int res2 = system("/usr/local/bin/convert ~/Desktop/eagle_png/bottom-invert.png -flop ~/Desktop/eagle_png/bottom-invert-flop.png"); string errorMsg; sprintf(errorMsg,"An error occured when flipping image. %d %d",res1,res2); if(res1 == 0 && res2 == 0){ dlgMessageBox("Image successfully flipped."); } else { dlgMessageBox(errorMsg); }
以上をscr, ulpフォルダに入れた後、
script makepng;
で走る。