[Eagle] Ratsnest zonder polygon vullen

Ik wil met een functietoets de ratsnest functie uitvoeren en gelijk alle polygonen ontkleuren. Ik heb daarvoor al een ULP commando gevonden maar die reset ook het commando waarmee je bezig bent. Dat begint me nu te storen.
Ik zoek nu dus iets om in een ULP het laatst uitgevoerde commando (meestal Route of Ripup ) te herstellen. Ik heb er al naar gezocht in de manual en weet niet of het uberhaupt mogelijk is maar ik word hier wel eens verrast.

Ik heb de volgende code, dmv. een ULP bestand, aan een toets gekoppeld (met menu/option/assign)

code:

if( board ) {
    exit( "RAT *; RIP @;\n" );
}

Wat zou ik daar nog aan toe kunnen voegen om de laatste aktie te behouden?

reading can seriously damage your ignorance
fatbeard

Honourable Member

Waarom zo moeilijk :?
Je kunt de commando-sequence (rat *; rip @;) gewoon direkt aan een functie-toets toekennen...
Eagle houdt per editor een lijst bij van deze assignments in eaglerc.usr.

"ratsnetst" is een commando, het is dus volkomen normaal dat het lopende commando daardoor wordt afgebroken; onafhankelijk hoe het wordt opgeroepen.
Er is voorzover mij bekend geen methode om binnen een ULP of een script het 'lopende' commando op te vragen.
Maar dat zouden ze na v5.12 kunnen hebben toegevoegd, geen idee...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Ik had het in een ulp bestand gezet om er wat mee te kunnen experimenteren. Ondertussen ben ik er achter dat iedere ulp het lopende commando uitschakelt, zelf als je alleen "exit("");" in het bestand zet.
Het is trouwens niet de "RAT *;" die het commando uitschakelt maar de "RIP @;". Ik heb beide apart in een assigned toets gezet om het te testen. Er zijn in Eagle wel een paar situaties die je kunt herstellen. Het display commando "DIS NONE" kun je herstellen met "DIS LAST". Ik had gehoopt dat er ook zoiets zou zijn voor het lopende commando maar ik denk dat ik me maar over dit gebrek heen moet zetten. Ook in de Eagle 6.6 manual heb ik er niet over kunnen vinden en een 7.7 manual ben ik nog niet tegengekomen.

reading can seriously damage your ignorance
elmowww

Golden Member

Goh, handig dat RIP @;, die kende ik nog niet! Maar ik kan je verder niet helpen.

Hoewel, je kan wel instellen dat ie de polygonen niet proces't tijdens ratsnest:

Polygon processing
SET POLYGON_RATSNEST OFF | ON;

Heel misschien is dat voldoende voor jou, en kan je dan de gewone ratsnest knop/functie gebruiken?

Daarnaast toekennen aan een functie toets klinkt ook als optie (geen ULP nodig), maar dat moet je dan even proberen.

PA0EJE - www.eje-electronics.nl - e.jongerius[aapje]eje-electronics.nl - EJE Electronics - Elektronica/firmware ontwikkeling

Die was ik ook al tegengekomen op een of ander forum.

code:

SET POLYGON_RATSNEST OFF; RAT *; SET POLYGON_RATSNEST ON;

Werkt bij mij niet

reading can seriously damage your ignorance
fatbeard

Honourable Member

Dûh! 8)7
Die bewerking heb je net zelf afgezet met set polygon_ratsnest off; !

Een versie 7 manual zit in de installer voor v7.7, die is hier te vinden.

[Bericht gewijzigd door fatbeard op maandag 21 februari 2022 21:28:12 (43%)

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

code:

SET POLYGON_RATSNEST ON; RAT *; SET POLYGON_RATSNEST OFF;

Zo doet hij het ook niet.

Het enige wat je aan of uitzet is of het ratsnest commando de polygons wel of niet opvult. Als ze al zijn opgevuld, dan wordt de vulling niet weggehaald. Dat is waarnaar ik op zoek was.

reading can seriously damage your ignorance
fatbeard

Honourable Member

Dan zul je ermee moeten leren leven.
Meestal als je aan het routen/ripuppen bent is dat gemixed met moves omdat je ergens nèt niet tussendoor kunt, en dan is het ook maar een muisklik (of toets!) extra om weer terug te komen in je commando.

Wist je trouwens dat je een net compleet met alle via's kunt rippen door er op te dubbelklikken?
Dan verwijdert-ie alles tussen twee pads/smd's. Is wel ff wennen, soms doet-ie meer dan je wilde...

Een andere truuk die ik wel eens uithaal is het tijdelijk afzetten van de visibility van de layer waar de polygon op staat, geeft ook een hoop rust...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

F8 = SET POLYGON_RATSNEST ON; RAT *;
F9 = SET POLYGON_RATSNEST ON; RAT *; SET POLYGON_RATSNEST OFF; RIP @;

Dit is het geworden. Twee knoppen om het vullen aan of uit te zetten.
Het kwam nogal eens voor dat ik op de ratsnest button klikte terwijl ik eigenlijk geen vulling wilde zien.

Het uitzetten van de top of bottom layer doe ik ook wel eens maar zelden en nooit langdurig. Het komt dan wel eens voor dat ik zonder na te denken een via verplaats. Ook daar kijkt Murphy mee, die via eindigt dan altijd onder een trace.

De dubbelklik functie kende ik niet. Ik had al wel eens per ongeluk een ripup op een unrouted trace gedaan, dan gebeurt er hetzelfde. Als je een setting weet om dat uit te zetten dan hoor ik dat graag.

reading can seriously damage your ignorance
fatbeard

Honourable Member

Wat een hoop lettertjes... :+
Ik heb de polygon processing eigenlijk altijd aan staan en verder

code:

Alt+R  = rip @;
Ctrl+R = rat *; rip @;
Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

code:

ASSIGN A+R rip @ *;
ASSIGN C+R 'rat *; ripup @ *';

Ik weet niet hoe jullie dat voor mekaar krijgen maar ik moest dit in m'n eagle.scr zetten. Ik hou niet zo van dat afkorten, maar ik moest de * achter de @ zetten voordat 't deed wat ik gewend ben.

Als jullie een andere manier hebben, dan hoor ik dat graag.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
fatbeard

Honourable Member

Options - assign

Wijst zich de weg vanzelf...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.