Bruikbare G-code

Vragen die je boven niet kwijt kunt, kan je hier stellen.

Moderator: Moderators

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

Re: Bruikbare G-code

Bericht door hugo stoutjesdijk »

newhumanoid schreef: 26 jan 2023 16:13
hugo stoutjesdijk schreef: 26 jan 2023 15:25
:lol: Super
Nou, ik krijg bijna hetzelfde resultaat.
Bijna is net niet goed genoeg. ;-)
Waar zit het gat in het midden?
2023-01-26 17_25_51-Window.jpg
Bedoel je deze?
Daar zit het cirkel middelpunt op X0 Y48.98979
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
newhumanoid
Berichten: 102
Lid geworden op: 07 okt 2022 17:23
Locatie: Oekraïne, Nikolajev

Re: Bruikbare G-code

Bericht door newhumanoid »

hugo stoutjesdijk schreef: 26 jan 2023 17:24 Bedoel je deze?
Wit is het resultaat van Parel
Groen is mijn resultaat.
Maar geen van hen heeft gaten in het midden. Er zijn bosjes bogen aan de zijkanten
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
bartL
Berichten: 1154
Lid geworden op: 15 jan 2008 07:14
Locatie: Zuid hollandsche eilanden

Re: Bruikbare G-code

Bericht door bartL »

Floppy schreef: 26 jan 2023 15:57 Na wat zoeken ben ik een perl script tegengekomen die direct de NCL file om zou moeten zetten.
Een eerste testje lijkt wel goed te zijn.

Code: Selecteer alles

#!/usr/bin/perl

if(!open(inputFile, $ARGV[0]))
	{
	die("*** Input file unfit for processing");
	}
@inputFileList = <inputFile>;
close(inputFile);
print("; Custom UNCX01.P01 conversion from $ARGV[0]\nG90\nG17\n");
$counter = 0;
$g00Toggle = "G01";
$prevX = 0;
$prevY = 0;
$circleX = 0;
$circleY = 0;
$circleRadius;
$circleToggle = "";
foreach $inputFileLine (@inputFileList)
	{
	chop($inputFileLine);
	@lineTokens = ($inputFileLine =~ /([\-0-9A-Za-z.]+)/g);
	if(($lineTokens[0] eq "UNITS") && ($lineTokens[1] eq "INCHES"))
		{
		print("G20\n");
		}
	elsif($lineTokens[0] eq "UNITS")
		{
		print("G21\n");
		}
	elsif($lineTokens[0] eq "RAPID")
		{
		$g00Toggle = "G00";
		}
	elsif($lineTokens[0] eq "FEDRAT")
		{
		$g00Toggle = "G01";
		print("G94 F$lineTokens[1]\n");
		}
	elsif($lineTokens[0] eq "GOTO")
		{
		if($circleToggle eq "")
			{
			print("$g00Toggle X$lineTokens[1] Y$lineTokens[2] Z$lineTokens[3]\n");
			}
		else
			{
			print("$g02Toggle X$lineTokens[1] Y$lineTokens[2] I$circleX J$circleY\n");
			$circleToggle = "";
			}
		$prevX = $lineTokens[1];
		$prevY = $lineTokens[2];
		}
	elsif($lineTokens[0] eq "CIRCLE")
		{
		$circleX = $lineTokens[1] - $prevX;
		$circleY = $lineTokens[2] - $prevY;
		$circleToggle = "M02";
		}
	elsif($circleToggle)
		{
		if($lineTokens[2] < 0)
			{
			$g02Toggle = "G02";
			}
		else
			{
			$g02Toggle = "G03";
			}
		$circleRadius = $lineTokens[3];
		}
	}
print("\nM30\n")
Dat is helemaal interessant. Knap dat je dat gevonden hebt. Dit was mij niet gelukt.
Deze insteek staat me wel aan want direct vanuit het ncl bestand converteren elimineerd weer 1 stap waarin fout kunnen ontstaan.
Is het met dit script ook mogelijk een windows programmaatje te maken zoals newhumanoid had gemaakt voor dat andere script?
Gebruikersavatar
newhumanoid
Berichten: 102
Lid geworden op: 07 okt 2022 17:23
Locatie: Oekraïne, Nikolajev

Re: Bruikbare G-code

Bericht door newhumanoid »

bartL schreef: 26 jan 2023 18:18
Heb je deze code van Perl op je systeem gecontroleerd?
Past hij echt bij jou?
Die. zit er een gaatje in het midden?
bartL
Berichten: 1154
Lid geworden op: 15 jan 2008 07:14
Locatie: Zuid hollandsche eilanden

Re: Bruikbare G-code

Bericht door bartL »

newhumanoid schreef: 26 jan 2023 18:46 Heb je deze code van Perl op je systeem gecontroleerd?
Past hij echt bij jou?
Ik kan dit niet controleren omdat ik niet weet hoe ik zoiets moet doen zonder programmaatje die het script draait.
Gebruikersavatar
newhumanoid
Berichten: 102
Lid geworden op: 07 okt 2022 17:23
Locatie: Oekraïne, Nikolajev

Re: Bruikbare G-code

Bericht door newhumanoid »

bartL schreef: 26 jan 2023 19:38
newhumanoid schreef: 26 jan 2023 18:46 Heb je deze code van Perl op je systeem gecontroleerd?
Past hij echt bij jou?
Ik kan dit niet controleren omdat ik niet weet hoe ik zoiets moet doen zonder programmaatje die het script draait.
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Floppy
Berichten: 774
Lid geworden op: 11 apr 2007 23:40
Locatie: Zeddam

Re: Bruikbare G-code

Bericht door Floppy »

Ik had ook geen Perl op mijn computer maar heb snel Strawberry Perl gedownload.
https://strawberryperl.com/
Zover ik weet is Perl alleen een command taal en omzetten naar iets voor windows zal lastig zijn omdat Perl heel veel mogelijkheden heeft om regular expressions te gebruiken.
Verder werkt het heel simpel: in een command window (DOS prompt) geef je

Code: Selecteer alles

perl gcode.pl op010.ncl.3
That's all.
bartL
Berichten: 1154
Lid geworden op: 15 jan 2008 07:14
Locatie: Zuid hollandsche eilanden

Re: Bruikbare G-code

Bericht door bartL »

Floppy schreef: 26 jan 2023 19:56 Verder werkt het heel simpel: in een command window (DOS prompt) geef je

Code: Selecteer alles

perl gcode.pl op010.ncl.3
That's all.
Simpel is het bij mij nooit. :lol:
Ik heb strawberry gedownload en dat script opgeslagen als gcode.pl in dezelfde map maar krijg bij een command zoals jij hem opgeeft de melding:
Can't open perl script "gcode.pl": no such file or directory
Floppy
Berichten: 774
Lid geworden op: 11 apr 2007 23:40
Locatie: Zeddam

Re: Bruikbare G-code

Bericht door Floppy »

Dat gcode.pl moet dan ook in dezelde map staan als op010.ncl.3.
bartL
Berichten: 1154
Lid geworden op: 15 jan 2008 07:14
Locatie: Zuid hollandsche eilanden

Re: Bruikbare G-code

Bericht door bartL »

Ohja dat werkt wel inderdaad!

Kan je die output ook naar een bestandje wegschrijven? Nu heb ik hem gekopieerd vanuit de CMD maar bij een lange code is dat best een gedoe.
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Bruikbare G-code

Bericht door hugo stoutjesdijk »

dan zet je er >test.nc achter

Code: Selecteer alles

perl gcode.pl op010.ncl.3 >test.nc
ik vind dat perl wel aanstekelijk :lol:
Het converteren is wel heel basic, je zou de niet veranderende XYZ niet nog een keer willen hebben in de volgende regels. (afronden op 3 cijfers achter de punt mag ook wel, maar dat is zo aangepast)
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
bartL
Berichten: 1154
Lid geworden op: 15 jan 2008 07:14
Locatie: Zuid hollandsche eilanden

Re: Bruikbare G-code

Bericht door bartL »

hugo stoutjesdijk schreef: 27 jan 2023 13:28 dan zet je er >test.nc achter

Code: Selecteer alles

perl gcode.pl op010.ncl.3 >test.nc
Dat werkt mooier inderdaad, bedankt!
hugo stoutjesdijk schreef: 27 jan 2023 13:28 Het converteren is wel heel basic, je zou de niet veranderende XYZ niet nog een keer willen hebben in de volgende regels.
Mjah, het zit me ook niet in de weg eigenlijk.
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Bruikbare G-code

Bericht door hugo stoutjesdijk »

bartL schreef: 27 jan 2023 15:43
hugo stoutjesdijk schreef: 27 jan 2023 13:28 Het converteren is wel heel basic, je zou de niet veranderende XYZ niet nog een keer willen hebben in de volgende regels.
Mjah, het zit me ook niet in de weg eigenlijk.
Nee, dat is zo, en de tijd dat er geheugenproblemen waren met de besturing hebben we achter ons liggen. (althans de meeste van ons)
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
newhumanoid
Berichten: 102
Lid geworden op: 07 okt 2022 17:23
Locatie: Oekraïne, Nikolajev

Re: Bruikbare G-code

Bericht door newhumanoid »

It's been a long time.
Wrote a conversion option from the NCL format.
Maybe someone needs.
Some M-codes. and spindle speed
https://drive.google.com/file/d/1wDUbwg ... sp=sharing
Plaats reactie