EAGLE Central Forums
Where the EAGLE community meets. Sponsored by Stratford Digital.

Home » CadSoft Support Forums » eagle.userchat.ger » euro.scr
euro.scr [message #166333] Thu, 21 July 2016 16:49 Go to next message
ulli[1]
Messages: 26
Registered: March 2008
Junior Member
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
Re: euro.scr [message #166334 is a reply to message #166333] Thu, 21 July 2016 21:28 Go to previous messageGo to next message
Friedrich Bleikamp
Messages: 78
Registered: August 2005
Member
Am 21.07.2016 um 18:49 schrieb 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!
Re: euro.scr [message #167454 is a reply to message #166334] Sun, 09 October 2016 08:33 Go to previous messageGo to next message
user
Messages: 620
Registered: October 2004
Senior Member
Am 21.07.2016 um 23:28 schrieb Friedrich Bleikamp:
> Am 21.07.2016 um 18:49 schrieb 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.");
}
Re: euro.scr [message #167455 is a reply to message #166334] Sun, 09 October 2016 08:34 Go to previous messageGo to next message
user
Messages: 620
Registered: October 2004
Senior Member
Am 21.07.2016 um 23:28 schrieb Friedrich Bleikamp:
> Am 21.07.2016 um 18:49 schrieb 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.");
}
Aw: euro.scr [message #167490 is a reply to message #166333] Wed, 12 October 2016 18:17 Go to previous message
Achim H
Messages: 52
Registered: February 2010
Location: Herdecke (NRW)
Member
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
Previous Topic: Anordnungshilfe ULP Veröffentlichung und Anleitung
Next Topic: 3D Gerber Viewer ZofsPCB
Goto Forum:
  


Current Time: Tue Apr 25 00:50:48 GMT 2017