Discussion:
euro.scr
(zu alt für eine Antwort)
Ulli
2016-07-21 16:49:40 UTC
Permalink
hallo...
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
Friedrich Bleikamp
2016-07-21 21:28:57 UTC
Permalink
Post by Ulli
hallo...
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!
u***@domain.invalid
2016-10-09 08:33:26 UTC
Permalink
Post by Friedrich Bleikamp
Post by Ulli
hallo...
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.");
}
u***@domain.invalid
2016-10-09 08:34:21 UTC
Permalink
Post by Friedrich Bleikamp
Post by Ulli
hallo...
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 ine ulp. 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.");
}
Achim Hingst
2016-10-12 18:17:06 UTC
Permalink
Wenn man ein bestimmtes Board hÀufiger braucht, kann man sich dieses auch
als Bauteil erstellen und in einer Bibliothek abspeichern. Die Àußeren
Abmessungen mÃŒssen mit Layer20 (Dimension) gezeichnet werden.

Ich verwende aktuell auch verschiedene Boards, die ich fÌr kleine GehÀuse
gezeichnet habe. Da sind auch solche Boards dabei, die Rundungen haben,
Löcher zum Befestigen benötigen und/oder Sperrbereiche (hier darf kein
Bauteil gesetzt werden) enthalten.

Die 4 Striche, die einem als Board vorgegeben werden, kann man ruckzuck
löschen.

Bereits existierende Bibliotheken:
dimensions.lbr --> enthÀlt 1 Board fÌr eine 60mm Unterputzdose.
hohlraumdose.lbr --> enthÀlt 2 Boards fÌr eine 68mm Hohlraumdose.
muge.lbr --> enthÀlt 1 Board fÌr Muge43 c/o Strapubox 521.
..möglicherweise gibt es noch andere .lbr
--
Browser-Zugang zu den CadSoft-Support-Foren auf http://www.eaglecentral.ca
Loading...