E++, Custom EdingCNC Editor

Nederlandse CNC controller op basis van de usb poort of Ethernet.

Moderator: Moderators

Plaats reactie
hfjbuis
Donateur
Berichten: 3057
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Arie Kabaalstra schreef: 08 mar 2023 22:49 Github blijft dan wel voor het delen....kan ik een Private Repository ook delen eigenlijk?.. of moet dat met een Pull Request?..
Als ik het mij goed herinner, kun je een private repository delen als de persoon de link (of SSH key) heeft. Daarmee kan hij hem niet wijzigen. Daarvoor moet je hem collaborator rechten geven.
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Maar hoe zit het met "updaten" van een Suppository.. herstel Repository.. een Suppository is een USB-Zetpil :lol:
kan ik em gewoon overschrijven?..dat zou het makkelijkste zijn tenslotte..
hfjbuis
Donateur
Berichten: 3057
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Maar hoe zit het met "updaten" van een Suppository.. herstel Repository.. een Suppository is een USB-Zetpil :lol:
kan ik em gewoon overschrijven?..dat zou het makkelijkste zijn tenslotte..
  • Je wijzigt je lokale repositiory (wijzigingen kun je ongedaan maken)
  • Dan commit je de wijzigingen in je lokale repository (commit kun je ongedaan maken)
  • Je voegt een aantal commits samen (kun je ongedaan maken)
  • Je pushed de wijzigingen op git (kun je niet meer ongedaan maken zonder veel trammelant)
Als ik een copy van de repostory op git maak (fork) en die wijzig, dan kan ik middels een pull request vragen om de wijzigingen in de originele versie op te nemen. Zo kun je met meerdere personen aan een stukje code werken waarbij toch de beheerder (eigenaar van de repository) bepaald welke wijzigingen in de code worden gemaakt.

Git heeft geen echte database, alle wijzigingen worden in een lokaal bestand opgeslagen.

Je kunt van je code een nieuwe brach maken om te testen. Die branch kun je weer samen voegen met de hoofd branche of verwijderen als het niet goed is. Ook kun je zo meerdere versies van een pakket beheren/maken. Ik heb voor de [Grbl-L-Mega versie](https://github.com/MetalWorkerTools/grbl-L-Mega) een branche voor een Arduino Mega met een Ramps 1.4/1.6 shield. Als je de link opent, zie je de Edge branch (hoofd branche) en kunt ook de Ramps branche selecteren. Zo kun je ook een branch om te testen publiceren en die later weer verwijderen.

Je kunt van een branch een release maken. Zo kun je als gebruiker gemakkelijk een andere (ouder) release gebruiken bij problemen. Als ontwikkelaar kun je een versie (commit) selecteren en die testen. Zo kun je b.v. achterhalen wanneer een fout in de code is ontstaan en dan git laten aangeven wat de verschillen zijn met een andere commit.
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Naar wat ik begrepen heb.. kan ik geen Forks maken, ik heb maar de basis graties GitNaaf....
Ik moet er maar eens op mijn Dooie gemakkie naar kijken.. de Hema is dichtbij. en daar kan ik makkelijk een Source Suppository halen... (Ja.. een USB-Zetpil)..

We houden em erin...Ik ga met mijn Sourcecontrol van een Repository naar een Suppository.. steek dat maar in je ... :lol:

Ik heb versie 0.0.0.1 wel werkend nu.. als je voor het eerst opstart dan toont ie een Messagebox, met de tekst.."hmm.. het lijkt erop dat dit de eerste keer is dat je dit programma gebruikt, kies alsjeblieft een Cyclus bestandje", maar dan in het engels.. en dan ongeveer hetzelfde voor een NC werkbestandje.

Je moet tenslotte eerst een bestand aanmaken voor je het gaat vullen met code, anders sta je maar code in een Bodemloze put te gooien..

Knop om naar EdingCNC over te schakelen, en daar een dialoogje vol te blaffen werkt, als je dat gedaan hebt, keert ie automagisch terug, zodat je de code erin kan smijten.. maar je kunt met een slimmigheidje ook vanuit EdingCNC "geforceerd" terug... door gewoon een macrootje in te duimen dat alleen maar even je Cyclusbestandje opent en weer sluit, en er verder niets aan toevoegt... ach.. al zou ie Ezechiel 25 vers 17 erin mieteren.. boeie... E++ Leest toch alleen wat er tussen ;CYCLE en ;ENDCYCLE staat...

Nu de Documentatie op orde brengen... er is een bepaalde structuur nodig als je je Macro.CNC gaat schrijven... alle parameters moeten, bij voorkeur met de omschrijving erbij, in je Cyclusbestandje worden geschreven.. en elke keer als je een dialoog volkwietert, moet de oude versie gewist worden..

Volgende stap, als ik het voor elkaar krijg... is het versturen van toetsaanslagen naar EdingCNC.. dan kan ik ook een menu met UserFunctions in E++ mikken.. en dan vanuit E++ direct dialogen in EdingCNC openen..
Het is jammer dat de EdingCNCWrapper nergens meer te vinden is.. anders zou ik die erin gieten, omdat ik dan makkelijker de boel als één applicatie kan laten gedragen...De reden van het verdwijnen van dat stukje software is Jammer maar helaas...Dus zal ik het wiel zelf opnieuw uit moeten vinden... maar goed.. daar leer ik weer meer van... someone's loss, is my gain.. :lol:
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Ik kreeg net nog een ideetje.., van een ander Forumlid dat met het idee kwam om de parameters ook in kleuren weer te geven.. maar dan zo dat alles onder de 4000 een kleur heeft.. 4000 tm 4999 een andere kleur, en alles boven de 5000 weer een andere kleur...
Da's toch "redelijk simpel" te Regexen denk ik dan zo.. elke combinatie van #1 tm #3 van maximaal 4 getallen lang wordt. donkerrood.. ik noem maar wat.. dan alles wat begint met #4 van minimaal 4 getallen lang wordt dan blauw.. of groen... en machine parameters.. dus vanaf #5 en dan minimaal 4 getallen lang wordt grijs ofzo..., of ik geef ze de zelfde kleur, maar laat de tint uitmaken in welke groep ze horen..

Kortom... Ik kan weer even aan de bak...
Gebruikersavatar
DaBit
Donateur
Berichten: 11017
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: E++, Custom EdingCNC Editor

Bericht door DaBit »

Ik draai mijn eigen git-server hier thuis om mijn digitale productsels te beheren.

Als je voor de spelerij niet alles mogelijk open en bloot op GitHub wil pompen dan maak ik wel een accountje voor je aan. Gemiddeld genomen gaat dat spul nooit plat, is het altijd bereikbaar, en gaan er versleutelde backups naar een disk in de schuur en naar online opslag, maar toch geld 'garantie tot aan de digitale deur'. En ik kan je bestanden zien als ik dat zou willen.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Code: Selecteer alles

   
        public Regex VolatileParameter = new Regex(@"#([1-3]{1}[0-9]{0,3})?");
        public Regex NonVolatileParameter = new Regex(@"#(4[0-9]{3})?");
        public Regex MachineParameter = new Regex(@"#(5[0-9]{3})?");
        
't is nog steeds Malbolge voor me.. hoewel... het begint trekjes van BrainFuck te krijgen.. dat kun je met een beetje moeite nog wel lezen..

maar... wat heeft bovenstaande tot gevolg?.. Nou.. dat #1 tm 3999 worden uitgefilterd door "VolatileParameter" #4000 tm #4999 door NonVolatile.. en alles in de #5000 door Machine...

en dat ziet er dan zo uit..

Afbeelding

Ja Man!.. Ik krijg ineens zin om een Joint op te steken...😁 het zal door de kleuren komen..
Georg..Dank je.. dat was een goed idee...
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

#5999=[#444+#5003/[#4000-#2000]

Ergens gaat nog iets mis dus.. >3999 wordt oranje, maar >400<500 kleurt helemaal niet...

er zit dus ergens.. public Regex VolatileParameter = new Regex(@"#([1-3]{1}[0-9]{0,3})?"); Daar een vaudje.. #2400?.. geen probleem.. #4, #40 #400.. nope... als er een 4 direct achter de # staat.. pakt ie em niet... Verdikke.. en ik was al zo blij dat het gisteren leek te werken.. alleen om er vanmorgen achter te komen dat ik toch een reeks miste..
hfjbuis
Donateur
Berichten: 3057
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Code: Selecteer alles

public Regex VolatileParameter = new Regex(@"#([1-3]{1}[0-9]{0,3})?");
444 begint met een 4 maar bovenstaande regel zegt dat het getal met een 1,2 of 3 moet beginnen
Je verwacht een # gevolgd door 1..3 cijfers

Als je deze regel toevoegt, kleuren ook de getallen 0..999.

Code: Selecteer alles

public Regex VolatileParameter = new Regex(@"#([0-9]{1,3})?");
There are only 2 limits, the sky and your imagination
Gebruikersavatar
PE1BEY
Berichten: 120
Lid geworden op: 27 aug 2013 14:50
Locatie: Best

Re: E++, Custom EdingCNC Editor

Bericht door PE1BEY »

Tis dat jullie zo'n end van elkaar afwonen, maar als jullie eens samen voor de PC gingen zitten, dan kwam er het mooiste programma voor CNCers uit wat je maar kan bedenken...
Ik heb weinig met software, maar dit volg ik met belangstelling...

Kees
Mechanische stabiliteit geeft ook elektrische stabiliteit...
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

hfjbuis schreef: 10 mar 2023 14:41

Code: Selecteer alles

public Regex VolatileParameter = new Regex(@"#([1-3]{1}[0-9]{0,3})?");
444 begint met een 4 maar bovenstaande regel zegt dat het getal met een 1,2 of 3 moet beginnen
Je verwacht een # gevolgd door 1..3 cijfers

Als je deze regel toevoegt, kleuren ook de getallen 0..999.

Code: Selecteer alles

public Regex VolatileParameter = new Regex(@"#([0-9]{1,3})?");

Ehh... Nee.. Want.. 0-999 is groen.. maar alles <3999 kleurt groen, op het laatste getal na, alles tussen 4000 en 4000 daarvan is het laatste cijfer nu Oranje, en bij 5000 of meer is het rood..

Het is dus de bedoeling om:
Parameters 1tm 3999 Groen te kleuren, als in.. doe er wat leuks mee.. volgende keer als je opstart zijn ze toch weer 0
Parameters 4000 tm 4999 Oranje, Pas op.. deze houden hun waarde, ook als je de volgende keer opstart
parameters 5000 tm 5999 (Als ik het even goed heb zijn er nog geen 6000 reeks parameters) Rood, Doe voorzichtig.. als je hierin gaat zitten knoeien.. kan je perongeluk je Tooldata wijzigen, om maar een voorbeeld te geven..
PE1BEY schreef: 10 mar 2023 15:49 Tis dat jullie zo'n end van elkaar afwonen, maar als jullie eens samen voor de PC gingen zitten, dan kwam er het mooiste programma voor CNCers uit wat je maar kan bedenken...
Ik heb weinig met software, maar dit volg ik met belangstelling...

Kees
De afstand zou nog niet eens het probleem zijn momenteel, maar meer het feit dat ik nog niet kan autorijden.. en niet langdurig kan zitten..
Wat ik van plan ben is een Editor maken die "leunt" op EdingCNC, door de dialogen van EdingCNC (mits volgens een bepaalde structuur gebouwd) automatisch te kopieren, en de Editor naar de voorgrond te brengen als je het programma waar je de dialogen in wegschrijft wijzigt..

Zoals ik het nu al werkend heb.. Je start EdingCNC en E++ op.. Dan begin je in E++ een nieuwe NC file, of je gaat gewoon door met die van de vorige keer.. want die wordt automatisch geladen.., dan druk je op F12, en schakelt E++ automatisch over naar EdingCNC, daar open je ook dat bestandje.. want zodra je uit E++ weggaat.. slaat ie het bestand op..dus je laadt em, en laten we zeggen.. we gaan een onderdeeltje draaien... Ik heb een nieuw bestandje aangemaakt in E++, en daar heb ik alleen M100 in gezet... opslaan van de huidige positie van de slede.., dan laad je em dus ook in EdingCNC.. en dan staat er nog niets op je scherm.. Maar nu.. je opent in EdingCNC je Usermenu, en je kiest een vlakdraaibewerking... je vult de dialoog in.. en zodra je op Enter Heit. slaat ie een bestandje op, wat E++ in de gaten houdt.., dus E++ komt weer naar voren.. en daar kun je de code voor die bewerking (een reeks parameters feitelijk), zo in je programma mikken..M99 er onder typen. zodat ie em uitvoert, en als je dan terug gaat naar EdingCNC..dan staat ie al op je scherm...How Cool's that?.. zo kun je stapje voor stapje je werk programmeren..

Op de Freesbank is het straks niet anders.. zoals eerder in dit topic getoond, je progt een bewerking.. stuurt em naar een positie.. M99 erachter.. en gaan..Volgende positie... M99.. Nummer 2.. en met het wijzigen van sommige parameters kun je de vorm of de afmetingen aanpassen...

hoe mooi wil je het hebben?.. Ik heb jarenlang met Heidenhain gewerkt.. en daar werkt het net zo... Nou.. dat moeten we toch voor een deel na kunnen maken?... :lol:
Gebruikersavatar
elvis3
Donateur
Berichten: 284
Lid geworden op: 08 dec 2017 13:54
Locatie: Tilburg

Re: E++, Custom EdingCNC Editor

Bericht door elvis3 »

Ik heb er ook geen verstand van.
ik vind het echt knap als je dit uit je pen kan toveren.
Later kom je erachter, wat je vroeger had moeten doen.
Oud worden is niet alleen een kwestie van wachten, dat moet je ook leren.
hfjbuis
Donateur
Berichten: 3057
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Code: Selecteer alles

public Regex VolatileParameter = new Regex(@"#([0-9]{1,3})?");
Arie Kabaalstra schreef: 10 mar 2023 16:47 Ehh... Nee.. Want.. 0-999 is groen.. maar alles <3999 kleurt groen, op het laatste getal na, alles tussen 4000 en 4000 daarvan is het laatste cijfer nu Oranje, en bij 5000 of meer is het rood..
Dat had ik min of meer verwacht. Ik denk dat je dit kunt oplossen door de volgorde van de regex te wijzigen. Bovenstaande regel moet dan als laatste komen.
Als dat niet werkt, probeer deze regel. De "=" zal dan ook kleuren. Om dat op te lossen moet ik in de regex duiken maar ik meen dat er iets voor is.

Code: Selecteer alles

public Regex VolatileParameter = new Regex(@"#([0-9]{1,3}=)?");
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

elvis3 schreef: 10 mar 2023 16:49 Ik heb er ook geen verstand van.
Zo ben ik ook begonnen... 39 jaar geleden... zat ik daar als puisterig pubertje op de LTS ineens achter een Commodore 64.. en dat was toen al heel wat... later zelf een Commodore 16 gekocht, en mijn eerste stapjes gemaakt... op de MTS mijn eerste schreden in Pascal. en toen een hele poos niets..tot 2008 da's 20 jaar later dus.. toen Visual Basic geleerd van een Collega.. en mijn eerste programmeer applicatie geschreven Want. de Beagle had ik toen al, en die draaide ook net op EdingCNC, toen nog USBCNC..en nog zonder dialogen..
ik vind het echt knap als je dit uit je pen kan toveren.
Ieder zijn vak.. zoals bekend heb ik een paar maanden geleden een motorongeluk gehad.. en een bekende merkte op, gelukkig ben je er nog, en bij je volle verstand..
Nou... mijn verstand is nog lang niet vol.. en daarom leer ik nu C#.. Ik ben ook al bezig voor de EMCOturn 120, om RS232 Communicatie in een Editor te proppen... ideetjes genoeg.. ik zou zelfs EdingCNC erachter kunnen hangen, om de Code middels EdingCNC te schrijven, maar dan moet je feitelijk een EdingCNC programma weer om gaan zetten naar EMCO.. of automagisch 2 programma's genereren.. hoop gedoe.. ik bouw de EMCOturn 120 wel om naar EdingCNC, dan kan deze software erop, als de boel klaar is.. en dan hebben we een mooi systeem...

Bovendien... ben ik er ook wel achter dat wat je zelf bedenkt niet per definitie beter is dan wat de fabriek verzint... Neem nou EMCO's G84 Code..
Als je G84 X... Z... D3(Snedediepte) F... programmeert.. dan gaat ie vanaf het punt waar ie staat tot de coordinaten die je hebt geprogrammeerd in die regel afdraaien met Snedediepte D3, en voeding F...
Draai je X en Z om, gaat ie niet langsdraaien, maar Vlakdraaien.. huh?.. Ja.. met het zelfde commando.. Da'k em leuk vind!!.. Ik heb inmiddels ook de nodige vlieguren op de EMCO gemaakt.. en het is dat ik niet in staat ben om G-Code regels voor Eding te maken.. anders gooide ik deze er zeker in...zo'n G84 regel is veel korter dan:

Code: Selecteer alles

;CYCLE FACING
    #1001=80          (X1)
    #1003=4          (Z1)
    #1011=-1          (X2)
    #1013=0          (Z2)
    #4001=500          (R-FEED)
    #4002=1          (R-DOC)
    #4060=2          (R-TOOL)
    #4011=300          (F-FEED)
    #4012=0.1          (F-DOC)
    #4061=4          (F-TOOL)
    #4050=0.1          (F-STOCK)
    #4000=0.25          (SAFETY DIST.)
    #1100=1          (CYCLE INDEX)
;ENDCYCLE
toegegeven.. daar staat voor en nadraaien in.. en een startcoordinaat.. , en een veiligheidsafstand..maar als je voor en nabewerking apart neemt.. Wat je eigenlijk moet doen.. dan zit je met 2 veel kortere cyclus definities.. en.. Truc van het huis.. als je de Cycle Index in een 2 veranderd.. dan gaat ie langsdraaien.. want 1 is vlakken.. 2 is langsdraaien.. Dus.. daar kunnen we ook weer een dialoog mee uitsparen... gewoon de bewerkingsrichting aangeven.. 1 is X-as.. 2 is Z-as.. om maar wat te noemen..
Dus en ook Ergo.. daar moet ik nog even over breinstormen met mezelf....
Plaats reactie