Eding cnc V5.00-4.3.64 api (python & C)

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

Moderator: Moderators

Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12054
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door hugo stoutjesdijk »

Arie Kabaalstra schreef: 12 dec 2023 13:04 Als ik zo even naar de Code kijk, dit is knap werk!, voor welke besturing is het?, want ik kom Codes tegen die ik niet ken, G7, G9. dat zullen de polaire bewegingen zijn?..
Ja, dat is de Grundig Dialog4 die destijds op de Deckel machines zat.
G7 is afronden scherpe overgangen. (combinatie lijnen, cirkels, binnenhoek buitenhoek maakt niet uit, bij Heidenhain RND)
G9 is de poolcoordinaat functie, met een toevoeging G1 voor rechtlijnig, G2/3 voor cirkel.
A de poollengte bij lijnstukken,
W de hoek, M71/M72 de hoek als ingesloten hoek of absoluut,
I J natuurlijk het poolpunt. (al of niet in kettingmaten. )
Het stukje parameter berekening ziet er misschien een beetje krampachtig uit, dat was ook het uiterste wat ze nog uit die hardware hebben weten te persen in een eureka moment van een van de ontwikkelaars (volgens mij door de opkomst van object oriënted programming)). (1986/1987)
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door Arie Kabaalstra »

Hoe dat zit met een API waarmee je EdingCNC kan benaderen. Dat kunnen ze je het best vertellen bij EdingCNC.
Wat ik wel weet is dat er een Voorbeeld voor QT in EdingCNC zit, dus zul je mogelijk daar iets mee kunnen, in C++ (een taal die ik nog niet machtig ben..Ik vind Commodore Basic V2.0, 3.5 en 7.0, Turbo Pascal met USCD Compiler, Diverse G-Code dialecten, Heidenhain Klartekst en FK, Visual Basic, EPOC en C# voorlopig even genoeg.. Ohja.. ik ben ook E++ nog aan het ontwerpen.. E++ is niet alleen een Programmeeromgeving, maar ook een Taal.

Speaking of which:

Code: Selecteer alles

T4 M6 ( "TOOL NUMBER 4" )
#100=270 (STARTHOEK)
G00 X0 Y-6 Z20
WHILE [#100>90] (STARTHOEK > EINDHOEK)
    GOSUB PIPE1
    #100=[#100-10]
ENDWHILE
#100=90 (EINDHOEK)
GOSUB PIPE1

#100=90 (STARTHOEK)
G00 X0 Y70 Z20
WHILE [#100<270] (STARTHOEK > EINDHOEK)
    GOSUB PIPE2
    #100=[#100+10]
ENDWHILE
#100=270 (EINDHOEK)
GOSUB PIPE2

#100=90 (STARTHOEK)
G00 X0 Y70 Z20
WHILE [#100<225] (STARTHOEK > EINDHOEK)
    GOSUB PIPE3
    #100=[#100+10]
ENDWHILE
#100=225 (EINDHOEK)
GOSUB PIPE3
M2

SUB PIPE1
    G00 Z0 M3
    M33  X0 Z0
    M34 A#100 R10 F0
    G01 Y3.7868 F500
    M33 X-15 Y3.7868
    M37 A135
    M33
    M34 A225 R13.7868
    G00 Z25
    G00 X0 Y-6
ENDSUB

SUB PIPE2
    G00 Z3
    M33 X0 Z0
    M34 A#100 R10 F0
    G01 Y46.2132 F500
    M33 X-15 Y46.2132
    M36 A315
    M33
    M34 A225 R33.7868
    G00 Z25
    G00 X0 Y70
ENDSUB

SUB PIPE3
    G00 Z3
    M33 X0 Z0
    M34 A#100 R10 F0
    G01 Y3 F500
    G00 Z25
    G00 X0 Y70
ENDSUB
25054

"Hold my Beer!" :lol:

Code overzichtelijk gehouden... 3 routines die de Hoeken aftellen/optellen, en 3 Subs.. Pipe1, pipe2 en Pipe 3, de eerste gaat de krappe bocht bewerken, de tweede de ruime bocht, en de derde loopt gewoon rechtdoor om de boel op de splitsing te vlakken, daarom loopt ie ook niet door tot 180 graden ingesloten hoek, immers, dat deel is al meegenomen met de eerste 2 bewerkingen..

Nou is dit in één keer gefreesd, maar door het hele programma in een Sub te gooien, en de radius in een Parameter (M34 R10) die je elke keer een haartje groter zet, kun je em voor-en nabewerken in één programma

Die Grundig Dialog.. da's wel een mooie besturing dus..
in E++ is M33 het Poolpunt, CC in Heidenhain, M34 is Lineair Polair, M36 en M37 zijn Circulair Polair CW en CCW.
Eigenlijk is het Polaire gedeelte van E++ een Verdere versimpeling van de Code die ik ooit voor de Heidenhain TNC410 op mijn werk schreef, 't kwartje daarvoor viel toen ik in 2022 Bij een bedrijf werkte, waar men ook afrondingen wilde kunnen frezen, in plaats van schuren... 'k kwam toen op het idee om voor te positioneren met Poolcoordinaten in een verticaal vlak, zodat ik geen Parameterberekeningen meer in het programma hoefde te zetten.. dat liet ik vanaf toen aan de machine over.. en dat heeft ook zijn weg gevonden naar E++

Wat de RadiusCompensatie betreft, 'k heb in het verleden al eens Volle bak aan de slag gemoeten, Machines bouwen met mijn Freesbankje.. en dan is het wel fijn als de RadiusCompensatie voor Rechtlijnige contouren gewoon werkt, want gewoon rechttoe-rechtaan is goed genoeg voor Machinedelen over het algemeen.. Dus ik kon me er prima mee redden.. geen gedoe meer met verrekenen van de Freesradius.. dat deed de besturing wel voor me..

Het zal de meesten ook inderdaad Jeuken, omdat men tegenwoordig echt ALLES met CAM doet.. maar ik ben van de "Generatie" die in de werkplaats geen Computer had, en dat er een Chef met een schetsje bij me kreeg, met de vraag:" kun jij dit even maken/aanpassen?". Nou.. dan klop je wat Code in aan de machine..
Gebruikersavatar
san45
Berichten: 40
Lid geworden op: 27 sep 2012 19:51

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door san45 »

Arie Kabaalstra schreef: 12 dec 2023 14:26 E++ is niet alleen een Programmeeromgeving, maar ook een Taal.
Kan op internet er niets over vinden. Wordt waarschijnlijk niet veel gebruikt net zoals de cncapi. Chat gtp kent het niet en zegt dat het geen programmeertaal is in de traditionele zin:

Afbeelding

E++:

Afbeelding
Gebruikersavatar
serum
Berichten: 5418
Lid geworden op: 08 mar 2008 20:37
Locatie: Zwolle

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door serum »

Had je dat niet uit die 218.396 regels tekst gefilterd? (ik haak doorgaans halverwege regel 1 af, kennelijk ben ik niet de enige) Dat is allemaal zelfgemaakt. morgen krijg je de schriftelijke overhoring per aangetekende post. Maak je borst maar nat.
Gebruikersavatar
san45
Berichten: 40
Lid geworden op: 27 sep 2012 19:51

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door san45 »

Weet wel dat hij zelf een editor gemaakt had, maar aangezien hij soms samen met edingcnc werkte dacht ik dat E++ programmeertaal geïmplementeerd was in de edingcnc software. Wat ik tot zover kan vinden op de site van edingcnc is dat die (E++ programmeertaal) gewoon de marco script taal in edingcnc is. Beetje verwarrend om bij de edingcnc macro taal je eigen zelf verzonnen label E++ op te plakken.
Gebruikersavatar
hainjedaf
Donateur
Berichten: 2469
Lid geworden op: 01 aug 2011 10:01
Locatie: Amsterdam
Contacteer:

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door hainjedaf »

sommige mensen begrijpen het in een keer
Met vriendelijke groet,
Marout Sluijter-Borms,
Amsterdam

Prusa Mini+ Wifi & X1 Carbon met X1Plus
Sparren en tinkeren met iedereen en over alles wat techniek is.
Gebruikersavatar
andrefc101
Donateur
Berichten: 3733
Lid geworden op: 26 dec 2007 08:39
Locatie: Bergen op Zoom
Contacteer:

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door andrefc101 »

san45 schreef: 12 dec 2023 13:20 Zelf gebruik ik radius compensatie ook nooit, gebruik namelijk altijd een cam programma. Ik kan wel gcode schrijven, maar dit is gewoon fout gevoelig als je met allerlei dingen bezig bent. ( per ongeluk een 0 teveel in de z as) BAM dwars door de tafel. Bye bye spindel en vacuüm tafel en frees of touch probe. :lol: :lol:
Das een beetje dom dan, daarom dus altijd een simulatie, of droogfrezen, uit laten voeren. Niks moeilijks toch….
Gebruikersavatar
san45
Berichten: 40
Lid geworden op: 27 sep 2012 19:51

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door san45 »

De simulatie laat ik meestal door mijn cam software uitvoeren. Bij bepaalde complexe werkstukken is droogfrezen inderdaad ook een goede manier, maar het ging hier meer om dat als je alle code handmatig intypt er snel foutjes kunnen ontstaan. Bij cam software zie je veel sneller eventuele botsingen. Je ziet bij bijvoorbeeld Fusion360 ook het werkstuk wat je gaat frezen en niet alleen de freesbanen.
Volgens mij had iemand anders in een vorige post het hier ook over.
Gebruikersavatar
san45
Berichten: 40
Lid geworden op: 27 sep 2012 19:51

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door san45 »

hainjedaf schreef: 12 dec 2023 16:35 sommige mensen begrijpen het in een keer
Maar waarom je eigen label (E++) plakken op een macro taal die van edingcnc is. Als ik een editor maak voor C++ en ik programmeer hier code in dan ontwikkel ik toch niet de programmeertaal C++?
Kjelt
Donateur
Berichten: 6329
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door Kjelt »

san45 schreef: 12 dec 2023 16:26 Weet wel dat hij zelf een editor gemaakt had, maar aangezien hij soms samen met edingcnc werkte dacht ik dat E++ programmeertaal geïmplementeerd was in de edingcnc software.
Even voor de duidelijkheid, ook al had je het waarschijnlijk al begrepen maar dat zijn twee verschillende en gescheiden dingen:
E++ wordt niet door EdingCNC erkent of gesupport en is een eigen ontwikkeling van Arie Kabaalstra.
Gebruikersavatar
san45
Berichten: 40
Lid geworden op: 27 sep 2012 19:51

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door san45 »

Kjelt schreef: 12 dec 2023 17:05 Even voor de duidelijkheid, ook al had je het waarschijnlijk al begrepen maar dat zijn twee verschillende en gescheiden dingen:
E++ wordt niet door EdingCNC erkent of gesupport en is een eigen ontwikkeling van Arie Kabaalstra.
En E++ is ook niet een programmeertaal die ontwikkeld wordt door Arie Kabaalstra. Is namelijk gewoon de macro taal van edingcnc.

Afbeelding
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door Arie Kabaalstra »

Met dien verstande dat het geschreven is IN de Macro taal van EdingCNC, maar dat bepaalde zaken, M-Codes die je zelf aan kan maken, tot een Coherent geheel worden, zodat je dus bepaalde dingen in G Code NIET, kan schrijven, maar in E++ wel ( niet elk Dialect G-Code ondersteunt Polaire Coordinaten, Niet elk Dialect heeft CyclusDefinities, veel "Besturingen" of eigenlijk geen een PC-Besturing voor Retrofit heeft een ingebouwde of "aangebouwde" CodeEditor.

Kortom.. de E++ Editor is feitelijk een IDE, een ontwikkelomgeving, programmeerapplicatie, Code-Editor geschreven in C# (Ik ben nog maar een beginneling... ) en de Taal E++ is een taal met Cyclusdefinities, en een bepaalde structuur, maar ook Canned Cycles voor bewerkingen.
Met name dat laatste is iets waar ik "nog even flink" in moet gaan duiken, maar het komt hierop neer:
Bijvoorbeeld voor een Draaibank:

We staan op X60 Z1, en we gaan Vlakken..: M83 X-1 Z0 F300 D0.2 Das dus vlakdraaien tot X-1, Z0, met een snedediepte van 0.2, en een voeding van 300 mm/min.. Laten we echter de D weg, dan gaat ie in één keer naar Z0, voor het nadraaien..
Dan gaan we langsdraaien, : M84 X30 Z-40 F300 D0.4 , zelfde verhaal..maar.. als we daar nou eens C3 aan toevoegen?.. dan maakt iebij X30 Z-30 een Chamfer van 3 x 3 mm, ofwel een schuin kantje van X30 naar X36 van Z-27 naar Z-30... Zet je er een R3 in, dan krijg je een afronding, R3.. zelfde verhaal.. Tangentiaal Hol, Maar met O0 of O1 kun je dan de orientatie van de Afronding nog kiezen..O0 is Concaaf, O1 is Convex., Voegen we dan nog U en W toe als Secundaire Coordinaten, dan kunnen we een tweede punt opgeven in de Cyclus waarbij we bijvoorbeeld M84 X30 Z-25 U40 W-30, en dan krijgen we standaard een schuine kant, tenzij we een radius opgeven, met een orientatie, en die radius hoeft dan niet per definitie tangentiaal te zijn.
Gebruikersavatar
DaBit
Donateur
Berichten: 11041
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door DaBit »

serum schreef: 12 dec 2023 10:59 Zie ik daar nou een UI op dat android toestelletje Bart? Is toch allemaal niks voor jou? :mrgreen:
Er is sinds 2017 ook niks meer aan gebeurd. Het was even leuk spelen.
Maar, verder een prachtig pleidooi. Als iemand die voor het simpelste cirkeltje of vierkantje nog naar de cad/cam grijpt een feestje van anti-herkenning.
Echt, voor het allermeest poepsimpele onderdeeltje zit ik in Fusion.
Ik heb ze vandaag alle 3 door elkaar gehad. Fusion360 CAM voor wat zaken die een collega in Fusion getekend had. FreeCAD (de Path module voor CAM) voor een connectortje wat er bij ingeschoten was, want de F360 licentie van de baas was in gebruik en met FreeCAD kan ik het net zo snel. Als laatste gewoon doodsimpel MDI voor verzonken ronde wartelgaten; tegen een stuk of 6 regeltjes in MDI intikken kan ik niet tegenop CAMmen.

Overigens met op-de-machine radiuscompensatie voor de nafreescontouren. Als het dan net te krap is zet je de radius van je frees 0,05mm kleiner of groter en doe je de contour nog een keer. Kun je ook al niet tegenop CAMmen.

En verder, ach, jij hebt vast ook meer dan 1 stuk gereedschap om een schroef aan te draaien, en je pakt het stuk gereedschap dat op dat moment het handigste is.
'De trots' van CNC bewerkend Nederland zit hier op zijn luie stoel Bart, beetje bij te komen van een kennelijk slopend griepje.
Deze held ligt ook op de bank; bij mij is die ellende opkomend. Moet niet vervelender worden.

Maar ondertussen heeft die san45 nog steeds geen API met al dat geleuter van ons, toch?
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
san45
Berichten: 40
Lid geworden op: 27 sep 2012 19:51

Re: Eding cnc V5.00-4.3.64 api (python & C)

Bericht door san45 »

DaBit schreef: 12 dec 2023 17:50 Maar ondertussen heeft die san45 nog steeds geen API met al dat geleuter van ons, toch?
We weten inderdaad nog niet of de cncapi sdk bestanden weer terug gaan komen in de edingcnc V5 versie. Dan maar eens gaan kijken hoe ik dit met linux cnc kan doen.
Plaats reactie