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

Home » CadSoft Support Forums » eagle.support.ger » euro.scr...
euro.scr... [message #166338] Fri, 22 July 2016 08:50 Go to next message
ulli[1]
Messages: 26
Registered: March 2008
Junior Member
hallo...
bin neuling in dem metier...
ich hätte gern für eagle 5.10 ein *.scr ähnlich dem euro.scr - wo man aber 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 #166339 is a reply to message #166338] Fri, 22 July 2016 09:07 Go to previous messageGo to next message
rk
Messages: 386
Registered: February 2005
Senior Member
Hi!

Das geht, und ich habe das vor etlichen Jahren sogar mal gemacht. Das
ist dann zwar ein ULP anstelle des SCR geworden, aber das ist ja wohl
nicht so schlimm, denke ich.

Ich habe Dir das Machwerk einfach mal angehängt.

Gruß,
René


#require 5.0000

real convert_unit(real Distance, int nUnitFrom, int nUnitTo)
{
if(nUnitFrom != nUnitTo)
{
switch(nUnitFrom)
{
case GRID_UNIT_MIC:
Distance /= 25.4;
break;
case GRID_UNIT_MM:
Distance /= 0.0254;
break;
case GRID_UNIT_MIL:
break;
case GRID_UNIT_INCH:
Distance *= 1000;
break;
}

switch(nUnitTo)
{
case GRID_UNIT_MIC:
Distance *= 25.4;
break;
case GRID_UNIT_MM:
Distance *= 0.0254;
break;
case GRID_UNIT_MIL:
break;
case GRID_UNIT_INCH:
Distance /= 1000;
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, GRID_UNIT_MM, curr_unit);
real height = convert_unit(100, GRID_UNIT_MM, curr_unit);

dlgDialog(filename(argv[0]))
{
dlgVBoxLayout
{
dlgGridLayout
{
dlgCell(0, 1) dlgRealEdit(width, 0, 2147483647);
dlgCell(0, 0) dlgLabel("Width");
dlgCell(1, 1) dlgRealEdit(height, 0, 2147483647);
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, "change width 0; layer dimension; set wire_bend 0; grid %s; wire (0 0)(%f %f)(0 0); grid mm; change width 0.4064; grid %s;", unit[curr_unit], width, height, unit[B.grid.unit]);
exit(cmd);
}

dlgPushButton("-Cancel") dlgReject();
}
}
};
}
Re: euro.scr... [message #166346 is a reply to message #166338] Fri, 22 July 2016 16:30 Go to previous message
Friedrich Bleikamp
Messages: 79
Registered: August 2005
Member
Am 22.07.2016 um 10:50 schrieb Ulli:
> hallo...
> bin neuling in dem metier...
> ich hätte gern für eagle 5.10 ein *.scr ähnlich dem euro.scr - wo man aber 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
>
Hallo Ulli,
Doppelposts sind nicht so toll. ;)
Ich hatte dir in eagle.userchat.ger gestern abend schon
geantwortet.
Link auf Beispiele in:
https://github.com/Gulpman/Eagle/tree/master/scripts/Hammond%20Cases/1551

Freundliche Grüße / Kind regards
Friedrich (Omega-5 at FHEM)
-----------------------------------------------
.... 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!
Previous Topic: Online Datenabfragen via ULP
Next Topic: Board Objektstruktur
Goto Forum:
  


Current Time: Wed Aug 23 00:45:13 GMT 2017