#usage "Export a SCH/BRD to IMAGE
" "Usage: RUN exp2image monochrome resolution image type layer [layer layer]" "
"
"ASSIGN Shift+Ctrl+Alt+I 'run exp2image monochrome 150 .tif 1 17 18 20;';
"
"or
"
"ASSIGN Shift+Ctrl+Alt+I 'run exp2image color 150 .bmp 91 92 94 95 96;';"
"");
dlgLabel("No Layers selected.");
}
dlgStretch(0);
}
dlgStretch(1);
}
dlgStretch(1);
} // ************ End of TAB | SHEET ***********
dlgTabPage("&Help") {
dlgHBoxLayout {
dlgSpacing(10);
dlgVBoxLayout {
dlgLabel(help);
dlgStretch(1);
}
}
}
} // ************ End of all TABs ***********
dlgHBoxLayout {
dlgLabel("&Image type");
dlgComboBox(filetype, select_type);
dlgSpacing(15);
dlgCheckBox("&Monochrome", sel_monochrome);
dlgSpacing(15);
dlgLabel("Resolution &DPI");
dlgIntEdit(Resolution, 50, 600);
dlgStretch(1);
}
dlgHBoxLayout {
dlgStretch(0);
dlgPushButton("+OK") dlgAccept();
dlgStretch(0);
dlgPushButton("-Cancel") dlgReject();
dlgStretch(1);
}
};
if (Result == 0) exit (0);
if (!absolutUsedLayer) exit(0);
if (sel_monochrome) monochrome = "MONOCHROME";
else monochrome = "";
string layer[] ;
int n = 0;
int ln = strsplit(layer, exp_Layers, ' ');
if(board || package) { // 2008-06-23
cmd += "SET DISPLAY_MODE REAL;\n";
if (ratsnest) cmd += "RATSNEST;\n";
cmd += "DISPLAY NONE ";
for (int x = 0; x < ln; x++) {
int num = strtod(layer[x]);
if (num < 90 || num > 100) {
if (useLayer[num]) {
sprintf(s, " %3s", layer[x]);
cmd += s;
if(num == 21) cmd += " -23 -25 -27 -51";
if(num == 22) cmd += " -24 -26 -28 -52";
n++;
}
}
}
cmd += ";\n";
if (board) commandPrint(brd_suffix);
else if (package) commandPrint("-PAC");
}
if(schematic || deviceset || symbol) {
cmd += "DISPLAY NONE ";
for (int x = 0; x < ln; x++) {
int num = strtod(layer[x]);
if (useLayer[num]) {
if (num >= 90) {
sprintf(s, " %3s", layer[x]);
cmd += s;
n++;
}
}
}
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");
}
cmd += "DISPLAY ";
if(board || package) {
for(int l = 1; l < 90; l++) {
if (useLayer[l]) {
if (lVisible[l]) {
sprintf(s, " %d", l);
cmd += s;
}
else {
sprintf(s, " -%d", l);
cmd += s;
}
}
}
for(l = 100; l < 256; l++) {
if (useLayer[l]) {
if (lVisible[l]) {
sprintf(s, " %d", l);
cmd += s;
}
else {
sprintf(s, " -%d", l);
cmd += s;
}
}
}
cmd += ";\n";
}
if(schematic || deviceset || symbol) { // 2008-06-23
for(int l = 91; l < 256; l++) {
if (useLayer[l]) {
if (lVisible[l]) {
sprintf(s, " %d", l);
cmd += s;
}
else {
sprintf(s, " -%d", l);
cmd += s;
}
}
}
cmd += ";\n";
if(schematic) { // 2008-06-23 alf@cadsoft.de
sprintf(s, "EDIT '.s%s';\n", actualsheet);
cmd += s;
}
}
exit (cmd);