A head scratcher for me

More
7 years 11 months ago #120491 by rcKeith
Replied by rcKeith on topic A head scratcher for me
Hi Andy

Here's the wing g-code for the left with UV on the big side attached is the full file. Here the first 30 or so lines

%
; Begin Header section
;hawk outer wing section
; root on left
G21
;UV plane selected
G17.1
G90
; End Header section
F 75.0000
; Switch On Hot wire
M3
; Go Home
G00 U 0.0000 V 0.0000 X 0.0000 Y 0.0000
; Go X Home
G00 U 0.0000 V 47.0717 X 0.0000 Y 17.2227
; Approaching Airfoil trailing edge
G01 U 0.0883 V 47.0717 X -0.0061 Y 17.2227 F 75.0000
; Begin Airfoil contour
G01 U 10.0376 V 47.0171 X 9.8755 Y 18.9244
G01 U 10.4867 V 47.0297 X 9.9371 Y 18.9339
G01 U 10.9357 V 47.0422 X 9.9987 Y 18.9434
G01 U 11.3846 V 47.0547 X 10.0604 Y 18.9530
G01 U 11.8335 V 47.0673 X 10.1220 Y 18.9625
G01 U 12.2822 V 47.0799 X 10.1836 Y 18.9717
G01 U 12.7309 V 47.0921 X 10.2452 Y 18.9809
G01 U 13.1796 V 47.1038 X 10.3068 Y 18.9901
G01 U 13.6281 V 47.1156 X 10.3684 Y 18.9993
G01 U 14.0766 V 47.1274 X 10.4300 Y 19.0085
G01 U 14.5250 V 47.1392 X 10.4916 Y 19.0176
G01 U 14.9734 V 47.1506 X 10.5532 Y 19.0268
G01 U 15.4217 V 47.1615 X 10.6148 Y 19.0362
G01 U 15.8699 V 47.1724 X 10.6763 Y 19.0456
G01 U 16.3181 V 47.1829 X 10.7378 Y 19.0552
G01 U 16.7662 V 47.1933 X 10.7994 Y 19.0647
G01 U 17.2142 V 47.2036 X 10.8609 Y 19.0742
G01 U 17.6621 V 47.2139 X 10.9224 Y 19.0838
G01 U 18.1100 V 47.2242 X 10.9839 Y 19.0934

Please Log in or Create an account to join the conversation.

More
7 years 11 months ago #120494 by andypugh
Replied by andypugh on topic A head scratcher for me
OK, my suggestion is that you set up LinuxCNC to run a filter on the G-code file that converts the file from G94 to G93.

The filter would compare the distances in the XY and UV planes and use the largest to calculate a G93 feed rate.

How is your Python? (I am willing to have a go, but I am at work at the moment so can't do it until later)

Please Log in or Create an account to join the conversation.

More
7 years 11 months ago #120513 by rcKeith
Replied by rcKeith on topic A head scratcher for me
Hi Andy
I've done a bit in Python but I not sure how I'd caluclate the feed rate. If you can point me in the right direction then I can have a go.

Thanks for your help

Keith

Please Log in or Create an account to join the conversation.

More
7 years 11 months ago #120524 by andypugh
Replied by andypugh on topic A head scratcher for me
I have run out of time tonight, but this is close.

In the INI file add this to the [FILTER] section
Code:
PROGRAM_EXTENSION = .foam foam foam = /home/{YOUR USERNAME}/linuxcnc/filter.py

Now save this at that path as filter.py
Code:
#! /usr/bin/python import re import sys import math infile = sys.argv[1] f = open(infile, 'r') feedrate = 1 X = 0.0 Y = 0.0 U = 0.0 V = 0.0 oldX = X oldY = Y oldU = U oldV = V for line in f: Ff = re.match(r".*F\s*([\d\.,]+)", line) Xf = re.match(r".*X\s*([\d\.,]+)", line) Yf = re.match(r".*Y\s*([\d\.,]+)", line) Uf = re.match(r".*U\s*([\d\.,]+)", line) Vf = re.match(r".*V\s*([\d\.,]+)", line) G1f = re.match(r".*G\s*0*1\D", line) if Xf: X = float(Xf.group(1)) if Yf: Y = float(Yf.group(1)) if Uf: U = float(Uf.group(1)) if Vf: V = float(Vf.group(1)) hXY = math.sqrt((oldX-X)**2 + (oldY-Y)**2) hUV = math.sqrt((oldU-U)**2 + (oldV-V)**2) if hXY > hUV and hXY != 0: F93 = float(feedrate / hXY) elif hUV != 0: F93 = float(feedrate / hUV) if Ff: feedrate = float(Ff.group(1)) print "( feedrate = %f)" % feedrate print "G93" elif G1f: print "%s F%f" % (line.rstrip(), F93) else: print line.rstrip() oldX = X oldY = Y oldU = U oldV = V print "M2"

Now any gcode file with a .foam extension will run through that filter, example output:



It probably needs work, I am not sure that my G93 feedrate calculation is correct, but the structure is there.
The following user(s) said Thank You: aleksamc

Please Log in or Create an account to join the conversation.

More
7 years 11 months ago #120535 by rcKeith
Replied by rcKeith on topic A head scratcher for me
Hi Andy

Thank you so much that awesome. I'll give it a try and let you know. Looks a nice peice of code

Keith

Please Log in or Create an account to join the conversation.

More
7 years 11 months ago #120826 by rcKeith
Replied by rcKeith on topic A head scratcher for me
Hi Andy
Just tested on the machine and it works fantastic. Thank you so much. You're a wizard.

Keith

Please Log in or Create an account to join the conversation.

Time to create page: 0.375 seconds
Powered by Kunena Forum