Post by Friedrich BleikampPost by Ullihallo...
bin neuling in dem metier...
ich hätte gern ein *.scr ähnlich dem euro.scr - wo man die maße des zu erstellenden boards eintragen kann. nachdem dies geschehen -
erscheint im programmfenster das gewünschte maßhaltige board.
geht das?
gruß ulli
Schau mal hier. Hier werden mittels Scripts Leiterplatten
passend für Gehäuse der Firma Hammond erzeugt.
https://github.com/Gulpman/Eagle/tree/master/scripts/Hammond%20Cases/1551
Freundliche Grüße / Kind regards
Friedrich
-----------------------------------------------
... benutzen Sie nntp://news.cadsoft.de und einen
funktionierenden News-Reader wie Thunderbird!
... use NNTP://news.cadsoft.de and a
functional news reader like Thunderbird!
Hier ein ULP. der original Autor ist mir leider unbekannt.
#require 6.0000
real convert_unit(real Distance, int nUnitFrom, int nUnitTo)
{
int u;
switch(nUnitFrom)
{
case GRID_UNIT_MIC:
u = mic2u(Distance);
break;
case GRID_UNIT_MM:
u = mm2u(Distance);
break;
case GRID_UNIT_MIL:
u = mil2u(Distance);
break;
case GRID_UNIT_INCH:
u = inch2u(Distance);
break;
}
switch(nUnitTo)
{
case GRID_UNIT_MIC:
Distance = u2mic(u);
break;
case GRID_UNIT_MM:
Distance = u2mm(u);
break;
case GRID_UNIT_MIL:
Distance = u2mil(u);
break;
case GRID_UNIT_INCH:
Distance = u2inch(u);
break;
}
return Distance;
}
if(board) board(B)
{
string unit[] = { "mic", "mm", "mil", "inch" };
int curr_unit = B.grid.unit;
int prev_unit = curr_unit;
real width = convert_unit(160.0, GRID_UNIT_MM, curr_unit);
real height = convert_unit(100.0, GRID_UNIT_MM, curr_unit);
dlgDialog(filename(argv[0]))
{
dlgVBoxLayout
{
dlgGridLayout
{
dlgCell(0, 1) dlgRealEdit(width, 0, INT_MAX);
dlgCell(0, 0) dlgLabel("Width");
dlgCell(1, 1) dlgRealEdit(height, 0, INT_MAX);
dlgCell(1, 0) dlgLabel("Height");
dlgCell(2, 1) dlgComboBox(unit, curr_unit)
{
width = convert_unit(width, prev_unit, curr_unit);
height = convert_unit(height, prev_unit, curr_unit);
prev_unit = curr_unit;
}
dlgCell(2, 0) dlgLabel("Unit");
}
dlgStretch(1);
dlgHBoxLayout
{
dlgStretch(1);
dlgPushButton("+OK")
{
string cmd;
sprintf(cmd, "layer dimension; set wire_bend 0;
grid %s; wire 0 (0 0)(%f %f)(0 0); grid %s;", unit[curr_unit], width,
height,unit[B.grid.unit]);
exit(cmd);
}
dlgPushButton("-Cancel") dlgReject();
}
}
};
}
else
{
dlgMessageBox("This ULP requires a board context.");
}