Het "Bouwen" van Macro's voor USBCNC

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

Moderator: Moderators

Plaats reactie
xander janssen
Berichten: 276
Lid geworden op: 08 jan 2009 08:53
Locatie: België

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door xander janssen »

Bedankt. Als de kinderen zometeen slapen eens wat code kloppen
Gebruikersavatar
Arie Kabaalstra
Berichten: 10523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

ik heb hier een Macrootje voor het instellen van gereedschappen voor draaibanken:


Gallerij Link

De Bijbehorende Afbeelding

en de Macro(s)

Code: Selecteer alles

SUB M204
	#4908=[#5008]		(STORE TOOLNUMBER)
		DLGMSG "SELECT TOOL" "SELECT TOOL NUMBER" 5008
		GOSUB DLGCHECK
	#4400=[5400+#5008]	(ARRAY FOR Z-OFFSET)
	#4900=[5900+#5008]	(ARRAY FOR Z-DELTA)
	#4600=[5600+#5008]	(ARRAY FOR X-OFFSET)
	#4800=[5800+#5008]	(ARRAY FOR X-DELTA)
	#4500=[5500+#5008]	(ARRAY FOR TOOL-DIAMETER)
	#4700=[5700+#5008]	(ARRAY FOR TOOL-ORIENTATION)
	#4401=##4400		(ARRAY LOADING Z-OFFSET)
	#4901=##4900		(ARRAY LOADING Z-DELTA)
	#4601=##4600		(ARRAY LOADING X-OFFSET)
	#4801=##4800		(ARRAY LOADING X-DELTA)
	#4501=##4500		(ARRAY LOADING TOOL-DIAMETER)
	#4701=##4700		(ARRAY LOADING TOOL-ORIENTATION)
	#4501=[#4501/2]		(DIAMETER TO RADIUS)
		DLGMSG "TOOL DATA" "X-OFFSET" 4601 "Z-OFFSET" 4401 "X-DELTA" 4801 "Z-DELTA" 4901 "RADIUS" 4501 "ORIENTATION" 4701
		GOSUB DLGCHECK
	##4400=#4401		(ARRAY WRITE TO TOOL TABLE Z-OFFSET)
	##4900=#4901		(ARRAY WRITE TO TOOL TABLE Z-DELTA)
	##4600=#4601		(ARRAY WRITE TO TOOL TABLE X-OFFSET)
	##4800=#4801		(ARRAY WRITE TO TOOL TABLE X-DELTA)
	##4500=[#4501*2]	(ARRAY WRITE TO TOOL TABLE TOOL-DIAMETER)
	##4700=#4701		(ARRAY WRITE TO TOOL TABLE TOOL-ORIENTATION)
		IF [#4908==#5008]
			M6 T#5008
		ENDIF
ENDSUB
Allereerst de Macro voor het ingeven van de Tool Data:
X-Offset : Afstand van de beitelpunt tot aan de Centerlijn van de "boringbar" gaten in een Toolturret, ik stel de bank altijd zo af/in dat als de gaten voor Boringbars op de centerlijn liggen, dat dat Machine Coordinaat X 0 is
Z-Offset : Afstand vanaf de Beitelpunt tot de voorkant van de Turretplaat.
X-Delta : Correctiewaarde X
Z_Delta : Correctiewaarde Z (deze worden gebruikt om de machine "bij te stellen" ter compensatie van beitelslijtage bijvoorbeeld
Radius : de "neusradius" van de beitel, van belang als je met Radiuscompensatie gaat draaien
Orientation : de "stand van de beitel"

In de Macro die ik nu aan het schrijven ben, ga ik ook controleren of de gekozen beitelgeometrie ook past bij de bewerking die je geprogrammeerd hebt.
Dus als je een buitendraaicyclus programmeert met een beitel met orientatie 3 (op een machine met de beitels voor de Centerlijn, zoals de meeste "gewone draaibanken, waaronder ook de EMCO Compact 5 CNC ) dan geeft de machine een Error
de Oplettende kijker heeft al wel gezien dat de beitel op het plaatje getekend is als een beitel ACHTER de centerlijn.. klopt.. Ik ben in eerste instantie bezig met de afbeeldingen voor de EMCOTurn 120.

Dan hoort er nog een snippertje Code bij:

Code: Selecteer alles

SUB DLGCHECK
	IF [#5398 <1]
		MSG "USER CANCELLED OPERATION"
		M2
	ENDIF
niet heel spannend.. als het goed is, heeft iedereen die macro's schrijft met Dialogen deze al in de Code staan, of een vergelijkbare Subroutine, in de M204 Subroutine wordt ie 2 keer aangeroepen, omdat er 2 dialogen in zitten.. ALTIJD checken of je Dialoog met Ok of Cancel is afgesloten!

Er komen nog 2 velden bij.. voor kalibratie van het gereedschap, de dialoog zal dan de actuele X en Z coordinaten tonen, stel je hebt net een stukje gedraaid, en de beitel een stukje naar achter bewogen, dan meet je je werk op, en voert die maat in bij X Calibration, de Macro zal dan de nieuwe Offset berekenen, en die eveneens in de Tooltabel wegschrijven (indien het gekozen gereedschap ook het geplaatste gereedschap is), anders komen deze velden NIET tevoorschijn (dan gebruik ik gewoon een andere dialoog)
Maar dat komt later.
In elk geval heb je hiermee een Dialoog waarmee je makkelijker je gereedschapsdata aan kan passen..
bartL
Berichten: 491
Lid geworden op: 15 jan 2008 07:14
Locatie: Zuid hollandsche eilanden

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door bartL »

Hopenlijk kan iemand mij helpen met onderstaande. Ik ben geen programmeur maar kan me aardig redden mbt het schrijven van macro's alleen loop ik met het gebruik van de tangens functie steeds tegen een error.

Wanneer ik de regel schrijf zoals ik in dit topic heb gelezen:

Code: Selecteer alles

[#70=tan#57]
Dan krijg ik de error "No identifier found".

Wanneer ik hem schrijf zoals hieronder (ook een manier die ik hier ergens op het forum ben tegen gekomen)

Code: Selecteer alles

#70 = [tan#57]
Dan krijg ik de error "Left bracket misscing after unary operation name".

Iemand een idee wat ik hier fout doe? Voor de duidelijkheid #70 moet dus de uitkomst krijgen van Tangens#57.
Gebruikersavatar
Kars-cnc
Berichten: 790
Lid geworden op: 07 okt 2015 05:33
Locatie: Heerde (Gelderland)

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Kars-cnc »

Misschien [#70=tan(#57)] ?
bartL
Berichten: 491
Lid geworden op: 15 jan 2008 07:14
Locatie: Zuid hollandsche eilanden

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door bartL »

Kars-cnc schreef: 12 feb 2021 18:37 Misschien [#70=tan(#57)] ?
Ik heb hem nu werkend.
De juiste notatie is blijkbaar #70 = [tan[#57] ].
cnzim
Berichten: 24
Lid geworden op: 26 aug 2016 13:45
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door cnzim »

Hallo allemaal!

Is al weer even geleden dat ik nog op dit forum ben geweest.
Alvast merci Arie voor het goede werk rond macro's.
Zelf heb ik al wat kleine dingen gedaan en aanpassingen gemaakt aan bestaande om het nodige te bereiken.

Nu ben ik echter op zoek naar een manier om serienummers te graveren in een onderdeel. Hiervoor dacht ik dat macro's wel nodig zouden zijn. Ik ben al zo ver gekomen als het ophalen en wegschrijven van het serienummer:

Code: Selecteer alles

sub SerialNumber
	msg "Get serial number in #4200"
	msg "Current serial number = " #4200
	#4200 = [#4200 + 1]
endsub
	
Dit is natuurlijk het gemakkelijke gedeelte. Nu moet dit getalletje gegraveerd worden in mijn onderdeel. Ik ben al eens door dit topic gegaan, maar kan niet zo direct iets vinden hiervoor. Kunnen we hiervoor misschien de program->engrave functie voor aanroepen?
Of ga ik het verder moeten zoeken en een script in Python ofzo schrijven waar ik naar svg/dxf of zelfs NC(lijkt mij het meest logisch) schrijf en dit dan laden in de edingcnc software? En is dit dan laden in een subroutine die wordt uitgevoerd? Blijf ik dan in mijn origineel programma (misschien achteraan bijplakken)?

Als iemand wat pointers heeft, zeker welkom. Ik ben niet vies van programmeren, maar het uitzoekwerk kan soms veel tijd in beslag nemen.
Floppy
Berichten: 703
Lid geworden op: 11 apr 2007 23:40
Locatie: Zeddam

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Floppy »

Als je nu eens 10 subroutines maakt die ieder een getal maken.
Die kun je gewoon in je cad programma maken en copieren.
Het aanroepen van een subroutine graveert dan 1 cijfer. Met G10 en G51 kun je de postie en schaalfactor bepalen.
Je moet alleen nog het getal wat je hebt in losse digits splitsen.
Dat zou zoiets kunnen zijn:

Code: Selecteer alles

msg "Get serial number in #4200"
        #4200=1234
	msg "Current serial number = " #4200
	#4201=#4200
	#4202=fix[#4201/1000]
	msg "highest digit is= " #4202
        #4201=[#4201-[#4202*1000]]
	#4203=fix[#4201/100]
	msg "next digit is= " #4203
        #4201=[#4201-[#4203*100]]	
	#4204=fix[#4201/10]
	msg "next digit is= " #4204	
        #4201=[#4201-[#4204*10]]
	#4205=#4201
	msg "next digit is= " #4205
	
Gebruikersavatar
Arie Kabaalstra
Berichten: 10523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

Hmmm.. da's een leuke...

Ik heb in het verleden een besturing geschreven voor een graveermachine, in VB.Net, en daarmee was het vrij eenvoudig om teksten te graveren.
Hoe werkte dat?.. eigenlijk vrij simpel.. dat wil zeggen in VB.Net is het vrij simpel, je haalt karakter voor karakter uit de ingevoerde string, grabbelt daar de Ascii code van op, en gebruikt die om te verwijzen naar de juiste subroutine,

't genereren van een programma voor 1 karakter.. da's echt nog het makkelijke deel.. "here's what i did"
Met een CAM programma genereer je de NC programma's voor elk karakter wat je nodig hebt.
als de hoogte van de gravure, en daarmee de lettergrootte vaststaat.. dan is dat zo 'piept.. als je moet kunnen verschalen.. dan maak je NC programma's van de karakters met een hoogte van 1 mm.

je wilt alleen getallen.. dat scheelt.. er zijn er maar 10.. (heb je er ook aan gedacht om je serienummer binair weer te geven?.. dan kan het met 1 getallen, of zelfs met 1.. als je de 0 weglaat.. dan krijg je gewoon een streepjescode.. en een rechte lijn is makkelijk te verschalen. :lol:

Ooit gezien bij "How it's Made.. Tractorfabrikant John Deere snijdt het chassisnummer uit met een Laser, als streepjescode.. die kan op de productielijn met scanners gelezen worden. bij VW gebruiken ze RFID Tags, John Deere doet het dus veel simpeler.. ik hou daar wel van..

Goed.. terug naar jouw geval, je hebt binnen de kortste keren 10 programmaatjes van 1 tm 10

Code: Selecteer alles

G0 Z2.0
T1 M6
G0 X[#4001*0.6667] Y[#4001*0.2222]
G1 Z0 F30
G1 F30.0 Z[#4001*-0.2]
G1 F500.0 Y[#4001*0.0]
G1 X[#4001*0.0]
G1 X[#4001*0.5744] Y[#4001*0.5155]
G3 X[#4001*0.2222] Y[#4001*0.9444] I[#4001*-0.1855] J[#4001*0.2067]
G1 X[#4001*0.0758] Y[#4001*0.8347]
G0 Z2.0
Dit is een voorbeeldje van het getal 2 in Courier Cad Font, verschaalbaar.. Start EdingCNC maar eens, Sla bovenstaande code op als 2.nc, maak #4001 (de schaalfactor) 1.. laad het programma.. verander #4001 in .. laten we zeggen 50.. en Redraw het programma... look what happens!

Dan zit je met de Spatiëring.. nou.. als we gewoon monospaced werken.. dan voegen we aan elke X +#4001 toe.eh.. even wachten.. daar kunnen we beter een andere parameter voor pakken (#4002 ofzo) die we na het eerste getalletje pas gelijk maken aan #4001, ander begin je 50 mm verderop als je je getallen 50 mm hoog wilt hebben.. Da's geen RocketScience..

Code: Selecteer alles

G0 Z2.0
T1 M6
G0 X[[#4001*0.6667]+#4002] Y[#4001*0.2222]
G1 Z0 F30
G1 F30.0 Z[#4001*-0.2]
G1 F500.0 Y[#4001*0.0]
G1 X[[#4001*0.0]+#4002]
G1 X[[#4001*0.5744]+#4002] Y[#4001*0.5155]
G3 X[[#4001*0.2222]+#4002] Y[#4001*0.9444] I[#4001*-0.1855] J[#4001*0.2067]
G1 X[[#4001*0.0758]+#4002] Y[#4001*0.8347]
G0 Z2.0
Dan krijgen we dat dus.. Dat knoop je in een Subroutine.., je maakt dus programma's 0.nc tm 9.nc

Hoe breken we dan het getal op in losse nummers?.. Simpel.. Ik neem aan/ ga er vanuit dat je zelf wel een idee hebt van hoe groot het maximale serienummer zal zijn.
Voorbeeld: Max 10000 dan delen we #4200 door 1000 (stel.. #4200 =6543) gedeeld door 1000 is dat 6.543, daar nemen we't Integer van.. is 6.. da's je eerste getal.. dat trek je ervanaf.. dan vermenigvuldig je het *10.. en krijg je 5.43.. Integer nemen.. =5.. 5 eraf halen.. x 10.. integer.. =4... enzovoorts..

Je had het over Pointers.. da's een goeie.. je kunt de afzonderlijke getallen gewoon in een Array gooien.. als de Pointer 1 is.. heb je het eerste getal.. je gaat em frezen, verhoogt de pointer met 1, verandert #4002 van 0 naar #4001) , freest het tweede getalletje.. enzovoorts..

'k ben nog even aan het spitten.. kom er later even op terug om de getallen in een array te mikken...
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 9332
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door hugo stoutjesdijk »

typisch gevalletje van G91 toepassen lijkt me
Dan hoef je alleen de makro's nog maar op de juiste manier aan te roepen.
Je zet de frees op de startpositie, het makro eindigt altijd op de startpositie van de volgende letter.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Als je G21 G40 G49 G80 G90 in je startupfile zet wordt die eerste regel in je programma een stuk duidelijker.
Gebruikersavatar
Arie Kabaalstra
Berichten: 10523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

G91 is niet nodig, je spatiëring kun je uit de Array halen.. da's niet zo spannend.. moeilijker dan dat moet je het niet maken..

't uitpeuteren van de afzonderlijke "digits" is nog even een puzzeltje.. maar daar kom ik wel uit..
Floppy
Berichten: 703
Lid geworden op: 11 apr 2007 23:40
Locatie: Zeddam

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Floppy »

Arie Kabaalstra schreef: 16 feb 2021 14:10 't uitpeuteren van de afzonderlijke "digits" is nog even een puzzeltje.. maar daar kom ik wel uit..
Een paar posts hiervoor staat dat al uitgewerkt.
cnzim
Berichten: 24
Lid geworden op: 26 aug 2016 13:45
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door cnzim »

Merci voor de snelle reactie. Ik ben er ondertussen al vollebak ingevlogen.

Op dit moment ben ik ook eerder aan het nijgen richting G91. Mijn getalletjes zijn allemaal gemaakt met het nulpunt links-onder van het getal.
Als je bedoeld van de posities uit een array te halen, kan ik dat dan zien als werken met meerder coördinaatsystemen? Ik denk niet dat dat zomaar gaat om deze on the fly aan te passen tijdens het programma? Of mis ik het stukje waarbij je gemakkelijk een offset kunt meegeven aan een subroutine waar je bij ieder X en Y waarde een specifiek getal kunt optellen?

Ik hou jullie zeker op de hoogte!
Gebruikersavatar
Arie Kabaalstra
Berichten: 10523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

'k ben al met een vergelijkbaar stukje bezig.. alleen gebruik ik geen FIX maar INT, want dan "flikker je alles achter de komma overboord" en da's in mijn ogen de beste optie.

Code: Selecteer alles

DLGMSG "SERIAL NUMBER" "ENTER SERIAL NUMBER" 4200
	IF [#4200>=10000]
		MSG "SERIAL NUMBER TOO BIG"
		M2
	ENDIF
MSG "SERIAL NUMBER = " #4200
	#4201= [INT[#4200/1000]]
MSG "FIRST DIGIT = "#4201
	#4202=[#4200-[#4201*1000]]
	#4202=[INT[#4202/100]]
MSG "SECOND DIGIT = "#4202
	#4203=[#4200-[#4201*1000]-[#4202*100]]
	#4203=[INT[#4203/10]]
MSG "THIRD DIGIT = "#4203
	#4204=[#4200-[#4201*1000]-[#4202*100]-[#4203*10]]
MSG "FOURTH DIGIT = "#4204
	#1000=4201 (ARRAY POINTER)
	WHILE [#1000<4205]
		GOSUB ENGRAVE
		#1000=[#1000+1]
	ENDWHILE
M2

SUB ENGRAVE
MSG "CURRENT DIGIT: "##1000
MSG "ENGRAVING"
ENDSUB

'K heb er een Array van gemaakt, 1 based.. dus #4201 tm #4204 voor een serienummer van maximaal 9999
Wil je grotere nummers.. dan moet je gewoon de array uitbreiden vanaf #4204, en het is in de code wel duidelijk hoe je dan verder werkt..

Omdat je met een Array werkt, kun je met 1 If-Then routine uit de voeten, elke keer dat je de pointer verhoogt met 1, gaat de If then kijken naar de waarde van een andere parameter..

Code: Selecteer alles

#4001=3 (FONTSIZE)
#4002=0 (SPACING 0 FOR FIRST DIGIT)
DLGMSG "SERIAL NUMBER" "ENTER SERIAL NUMBER" 4200
	IF [#4200>=10000]
		MSG "SERIAL NUMBER TOO BIG"
		M2
	ENDIF
MSG "SERIAL NUMBER = " #4200
	#4201= [INT[#4200/1000]]
MSG "FIRST DIGIT = "#4201
	#4202=[#4200-[#4201*1000]]
	#4202=[INT[#4202/100]]
MSG "SECOND DIGIT = "#4202
	#4203=[#4200-[#4201*1000]-[#4202*100]]
	#4203=[INT[#4203/10]]
MSG "THIRD DIGIT = "#4203
	#4204=[#4200-[#4201*1000]-[#4202*100]-[#4203*10]]
MSG "FOURTH DIGIT = "#4204
	#1000=4201 (ARRAY POINTER)
	WHILE [#1000<4205]
		GOSUB ENGRAVE
		#1000=[#1000+1]
		#4002=[#4002+#4001]
	ENDWHILE
M2

SUB ENGRAVE
IF [1000>1]
	
	ENDIF
MSG "CURRENT DIGIT: "##1000
	IF [##1000==0]
		GOSUB ENGRAVE_0
	ENDIF
	IF [##1000==1]
		GOSUB ENGRAVE_1
	ENDIF
	IF [##1000==2]
		GOSUB ENGRAVE_2
	ENDIF
	IF [##1000==3]
		GOSUB ENGRAVE_3
	ENDIF
	IF [##1000==4]
		GOSUB ENGRAVE_4
	ENDIF
	IF [##1000==5]
		GOSUB ENGRAVE_5
	ENDIF
	IF [##1000==6]
		GOSUB ENGRAVE_6
	ENDIF
	IF [##1000==7]
		GOSUB ENGRAVE_7
	ENDIF
	IF [##1000==8]
		GOSUB ENGRAVE_8
	ENDIF
	IF [##1000==9]
		GOSUB ENGRAVE_9
	ENDIF
ENDSUB

SUB ENGRAVE_0
	MSG "ENGRAVING 0"
ENDSUB

SUB ENGRAVE_1
	MSG "ENGRAVING 1"
ENDSUB

SUB ENGRAVE_2
	MSG "ENGRAVING 2"
	G0 Z2.0
	T1 M6
	G0 X[[#4001*0.6667]+#4002] Y[#4001*0.2222]
	G1 Z0 F300
	G1 F300.0 Z[#4001*-0.2]
	G1 F3000.0 Y[#4001*0.0]
	G1 X[[#4001*0.0]+#4002]
	G1 X[[#4001*0.5744]+#4002] Y[#4001*0.5155]
	G3 X[[#4001*0.2222]+#4002] Y[#4001*0.9444] I[#4001*-0.1855] J[#4001*0.2067]
	G1 X[[#4001*0.0758]+#4002] Y[#4001*0.8347]
	G0 Z2.0
ENDSUB

SUB ENGRAVE_3
	MSG "ENGRAVING 3"
ENDSUB

SUB ENGRAVE_4
	MSG "ENGRAVING 4"
ENDSUB

SUB ENGRAVE_5
	MSG "ENGRAVING 5"
ENDSUB

SUB ENGRAVE_6
	MSG "ENGRAVING 6"
ENDSUB

SUB ENGRAVE_7
	MSG "ENGRAVING 7"
ENDSUB

SUB ENGRAVE_8
	MSG "ENGRAVING 8"
ENDSUB

SUB ENGRAVE_9
	MSG "ENGRAVING 9"
ENDSUB
Dit moet het wel doen.. Ik heb alleen de "geCNCde 2" in SUB ENGRAVE_2 ingevoegd, maar daarmee is wel duidelijk hoe je een cijfer van 1 mm hoog verschaalt en transleert (#4001 is de schaalfactor, en #4002 is de translatie /Spatiëring), die wordt na de eerste aanroep in

Code: Selecteer alles

WHILE [#1000<4205]
		GOSUB ENGRAVE
		#1000=[#1000+1]
		#4002=[#4002+#4001]
	ENDWHILE
Vermeerderd met de schaalfactor, bovenin het programma wordt ie standaard op 0 gezet..
Je kunt daar ook, en dat raad ik wel aan, de Feedrates voor het graveren in zetten.. in het voorbeeld staat de Feedrate op 3000 en de Plunge op 300.
Verder heb ik de Diepte ook als functie van de Lettergrootte in het progje gezet..

Code: Selecteer alles

G1 F300.0 Z[#4001*-0.2]
Bij Lettergrootte 1 gaat ie dus 0.2 diep, bij Lettergroote 5 is dat 1 mm.. Dat kun je aanpassen naar eigen smaak.. je kunt 't ook gewoon aan een Parameter toewijzen, en die eveneens bovenaan neerzetten..
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 9332
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door hugo stoutjesdijk »

Arie Kabaalstra schreef: 16 feb 2021 14:10 G91 is niet nodig,
Nodig niet, maar het scheelt heeeeel veel rotzooi die je niet nodig hebt. Maar als je aan parameters verslaafd bent, schrijf je het toch gewoon uit. :lol:

Code: Selecteer alles

SUB ENGRAVE_2
	MSG "ENGRAVING 2"
	(uitvoeren in G91)
	G0 Z2.0
	G0 X0.6667 Y0.2222
	G1 Z0 F300
	G1 F300.0 Z-0.2
	G1 F3000.0 Y0.0
	G1 X0.0
	G1 X0.5744 Y0.5155
	G3 X0.2222 Y0.9444 I-0.1855 J0.2067
	G1 X0.0758 Y0.8347
	G0 Z2.0
	G0 X1 Y0
ENDSUB
O, vergeten, je zult wel niet de mogelijkheid tot scaling hebben bij EdingCNC, ja dan moet je toch nog een vermenigvuldig parametertje toe voegen.
Ik zou dan wel nog even de Feed voor XY en Z in een parametertje stoppen, hoef je al die subjes niet door te lopen als het een keer sneller of langzamer moet.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Als je G21 G40 G49 G80 G90 in je startupfile zet wordt die eerste regel in je programma een stuk duidelijker.
Plaats reactie