-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPower testing gcode gen.py
More file actions
65 lines (54 loc) · 1.94 KB
/
Power testing gcode gen.py
File metadata and controls
65 lines (54 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#User defined variables
fileName = 'half depth Power testing.gcode'
fileFolder = 'Latest'
cutterDiameter = 3 #mm
depthOfCut = 3
#mm
plungeSpeed = 250 #mm/min
nominalTrenchGap = 5 #mm
numberOfTrenches = 6
trenchLength = 1200 #mm
spindleSpeed = 19000 #RPM
feed = 4000 #mm/min
appendSeedToFile = True #True or False
#Calculated variables
fileName = fileFolder + "/" + fileName
if appendSeedToFile:
fileName = fileName[:len(fileName)-6] + " " + str(spindleSpeed//1000) + "k.gcode"
gapBetweenLines = nominalTrenchGap + cutterDiameter
def addLine(variable, line):
variable = variable + str(line) + "\n"
return variable
def drawLine(dimension, direction, feedRate):
gcode = ""
feedRate = str(feedRate)
dimension = str(dimension)
if direction == 1: #0 = +X , 1 = -X
dimension = "0"
gcode = addLine(gcode, "G90G1 X" + dimension + "F" + feedRate)
return gcode
def moveOver(dimension, feed):
gcode = ""
dimension = str(dimension)
feed = str(feed)
gcode = addLine(gcode, "G90G1 Y" + dimension + "F" + feed)
return gcode
#Write GCODE file
with open(fileName,"w+") as f:
gcode = ""
#MAIN CUT
direction = 0
gcode = addLine(gcode, "M3 S" + str(spindleSpeed) + "\nG90G0 X-5Y-5Z-2\nG90G0 X0Y0Z0") #Start spindle AND remove backlash
gcode = addLine(gcode, "G90G1 Z" + str(-1*depthOfCut) + "F" + str(plungeSpeed)) # Plunge Z
gcode = addLine(gcode, "\n(MAIN CUT)")
for i in range(numberOfTrenches):
gcode = addLine(gcode, "(new trench)")
gap = nominalTrenchGap * (i) + cutterDiameter * (i)
gcode = addLine(gcode, moveOver(gap, feed))
gcode = addLine(gcode, drawLine(trenchLength, direction, feed))
direction = not(direction)
gcode = addLine(gcode, "G90G0 Z2") #Lift Z
gcode = addLine(gcode, "M5") #Stop spindle
f.write(gcode)
f.close()
print(fileName + " written")