Files
-
/
-
boards-archive / base-station-v2.0 / base-station.brd
-
boards-archive / base-station-v2.0 / base-station.sch
-
boards-archive / breakbeam-2015-c / breakbeam.brd
-
boards-archive / breakbeam-2015-c / breakbeam.sch
-
boards-archive / capacitor-board-2015-c / capacitor-board.brd
-
boards-archive / capacitor-board-2015-c / capacitor-board.sch
-
boards-archive / cc1101-breakout-v1 / cc1101-breakout.brd
-
boards-archive / cc1101-breakout-v1 / cc1101-breakout.sch
-
boards-archive / control-v2.1 / control.brd
-
boards-archive / control-v2.1 / control.sch
-
boards-archive / control-v2.1 / control-v2.1 / control.brd
-
boards-archive / encoder-tester / encoder-tester.brd
-
boards-archive / encoder-tester / encoder-tester.sch
-
boards-archive / kicker-tester-c / kicker-tester-c.brd
-
boards-archive / kicker-tester-c / kicker-tester-c.sch
-
boards-archive / kicker-v2.2 / kicker.brd
-
boards-archive / kicker-v2.2 / kicker.sch
-
boards-archive / kicker-v3.0-IGBT / kicker.brd
-
boards-archive / kicker-v3.0-IGBT / kicker.sch
-
boards-archive / kicker-v3.0 / kicker.brd
-
boards-archive / kicker-v3.0 / kicker.sch
-
boards-archive / kicker-v3.1-IGBT-EMG57 / kicker.brd
-
boards-archive / kicker-v3.1-IGBT-EMG57 / kicker.sch
-
boards-archive / kicker-v3.1-IGBT / kicker.brd
-
boards-archive / kicker-v3.1-IGBT / kicker.sch
-
boards-archive / mcp23017-v1 / mcp23017.brd
-
boards-archive / mcp23017-v1 / mcp23017.sch
-
boards-archive / motor-breakout-a / motor-breakout.brd
-
boards-archive / motor-breakout-a / motor-breakout.sch
-
boards-archive / motor-v2.0 / motor.brd
-
boards-archive / motor-v2.0 / motor.sch
-
boards-archive / radio-v2.1 / radio.brd
-
boards-archive / radio-v2.1 / radio.sch
-
boards-archive / reflow-oven-controller-v2 / reflow-oven-controller.brd
-
boards-archive / reflow-oven-controller-v2 / reflow-oven-controller.sch
-
boards-archive / shell-id-v1.0 / shell-id.brd
-
boards-archive / shell-id-v1.0 / shell-id.sch
-
boards / breakbeam-v1.0 / breakbeam-v1.0.brd
-
boards / breakbeam-v1.0 / breakbeam-v1.0.sch
-
boards / control-v3.2 / control.brd
-
boards / control-v3.2 / control.sch
-
boards / kicker-3.2 / kicker.brd
-
boards / kicker-3.2 / kicker.sch
-
boards / radio-v3.0 / radio-v3.0.brd
-
boards / radio-v3.0 / radio-v3.0.sch
Last update 5 years 5 months
by
Matthew White
ExportToPNG.ulp#usage "<b>Export a SCH/BRD to IMAGE</b><p>" "Usage: RUN exp2image monochrome resolution image type layer <i>[layer layer]</i>" "<p><nobr>" "Tip: Assign a funktion key with<br>" "<tt>ASSIGN Shift+Ctrl+Alt+I 'run exp2image monochrome 150 .tif 1 17 18 20;';</tt><br>" "or<br>" "<tt>ASSIGN Shift+Ctrl+Alt+I 'run exp2image color 150 .bmp 91 92 94 95 96;';</tt>" "<p></nobr>" "<author>Author: support@cadsoft.de</author>" // THIS PROGRAM IS PROVIDED AS IS AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED // 2005-02-17 alf@cadsoft.de empty layers are not selectable // 2008-06-23 alf@cadsoft.de do it also in deviceset, symbol and package string file_name; string brd_suffix; int ratsnest = 0; // start Ratsnest befor export image int sheetprint_from; int sheetprint_to; int lastsheet = 0; string actualsheet; int sheetprint = 0; // 0 = All, 1 = From To, 2 = Actual string exp_Layers; string sec_usedlayer[]; int absolutUsedLayer = 0; int lVisible[]; int useLayer[]; string lNames[] = { " " }; int Resolution = 1200; // DPI string monochrome = ""; int sel_monochrome = 0; string filetype[] = { ".bmp", // Windows-Bitmap-Datei ".png", // Portable-Network-Graphics-Datei ".pbm", // Portable-Bitmap-Datei ".pgm", // Portable-Grayscale-Bitmap-Datei ".ppm", // Portable-Pixelmap-Datei ".xbm", // X-Bitmap-Datei ".xpm", // X-Pixmap-Datei ".tif" // Tiff-Datei }; int select_type = 1; string cmd = ""; int Result = 0; string s; string help = usage; // *** functions *** void commandPrint(string name_suffix) { string h; sprintf(h, "EXPORT IMAGE '%s%s%s' %s %d;\n", file_name, name_suffix, filetype[select_type], monochrome, Resolution); cmd += h; return; } if (argv[1]) { brd_suffix = strupr(argv[1]); } if (schematic) { schematic(S) { file_name = filesetext(S.name, ""); if (sheet) sheet(SH) sprintf(actualsheet, "%d", SH.number); S.sheets(SH) { lastsheet = SH.number; } S.layers(L) { lNames[L.number] = L.name; lVisible[L.number] = L.visible; useLayer[L.number] = L.used; } } sheetprint_to = lastsheet; } else if (board) { board(B) { file_name = filesetext(B.name, ""); B.layers(L) { lNames[L.number] = L.name; lVisible[L.number] = L.visible; useLayer[L.number] = L.used; } } } else if (package || symbol || deviceset) { library(LBR) { if (package) package(P) file_name = P.name; else if(symbol) symbol(SYM) file_name = SYM.name; else if (deviceset) deviceset(DEV) file_name = DEV.name; LBR.layers(L) { lNames[L.number] = L.name; lVisible[L.number] = L.visible; useLayer[L.number] = L.used; } } } else { dlgMessageBox("Start this ULP in a SCH, BRD, DEV, PAC or SYM:", "OK"); exit(-1); } //if (sel_monochrome) monochrome = "MONOCHROME"; //else monochrome = ""; monochrome = ""; string layer[] ; int n = 0; int ln = strsplit(layer, exp_Layers, ' '); if(board || package) { // 2008-06-23 cmd += "SET DISPLAY_MODE REAL;\n"; cmd += ";\n"; if (board) commandPrint(brd_suffix); else if (package) commandPrint("-PAC"); } if(schematic || deviceset || symbol) { cmd += ";\n"; string sh; string shn; if (schematic) { // 2008-06-23 switch (sheetprint) { case 0 : schematic(S) { S.sheets(SH) { sprintf(sh, "EDIT '.s%d';\n", SH.number); cmd += sh; sprintf(shn, "_s%d", SH.number); commandPrint(shn); } } break; case 1 : for (int prn = sheetprint_from; prn <= sheetprint_to; prn++) { sprintf(sh, "EDIT '.s%d';\n", prn); cmd += sh; sprintf(shn, "_s%d", prn); commandPrint(shn); } break; case 2 : sprintf(sh, "EDIT '.s%s';\n", actualsheet); cmd += sh; sprintf(shn, "_s%s", actualsheet); commandPrint(shn); break; } } else if (deviceset) commandPrint("-DEV"); else if (symbol) commandPrint("-SYM"); } if(schematic) { // 2008-06-23 alf@cadsoft.de sprintf(s, "EDIT '.s%s';\n", actualsheet); cmd += s; } exit (cmd);