neingeist
/
arduinisten
Archived
1
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

56 lines
1.2 KiB
Plaintext

#usage "<b>Smash all gates of a schematic</b>\n"
"<p>"
"<author>Author: support@cadsoft.de</author>"
// THIS PROGRAM IS PROVIDED AS IS AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED
string cmd;
string c;
void visible(UL_SCHEMATIC S) {
sprintf(c, "DISP NONE;\nDISP ");
cmd += c;
S.layers(L) {
if (L.visible) {
sprintf(c, "%d ", L.number);
cmd += c;
}
}
cmd += ";\n";
return;
}
if (schematic) {
schematic(S) {
cmd = "DISPLAY NONE 94;\n";
cmd += "GRID MIL 1;\n";
S.sheets(SH) {
sprintf(c, "EDIT .s%d;\n", SH.number);
cmd += c;
SH.parts(P) {
if (P.device.package) { // **** only Devices with Package
// **** without Supply symbol Frames ect...
P.instances(I) {
if (I.sheet != 0) {
sprintf(c, "SMASH (%.2f %.2f);\n", u2mil(I.x), u2mil(I.y) );
cmd += c;
}
}
}
}
}
sprintf(c, "GRID INCH 0.1;\n");
cmd += c;
sprintf(c, "EDIT .S1;\n");
cmd += c;
visible(S);
exit (cmd);
}
}
else {
dlgMessageBox("\n Start this ULP in a Schematic \n");
exit (0);
}