summaryrefslogtreecommitdiff
path: root/trunk/users/metalab/python/gCalibrator/generate_oozetester_decel.py
blob: 23f4bd557f50fd6be0419aef209994937924b514 (plain)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/usr/bin/env python

from gcodegen import *
import math

    

feedrate = 1500.0
layerHeight = 0.372
extruderPWM = 255

testRuns = 15
testHeight = 4
preRun = 10.0
run = 10.0
runPauseFactor = 20.0
offLength=40

steps=10

raftHeight = (testRuns+2)*testHeight
raftWidth = 5.0
raftParts = int(math.ceil((2*(preRun+run)+offLength)/raftWidth))

print """
(homing routing)
G21
G90
G92 X0 Y0 Z0
G0 Z10
M104 S220 T0
M108 S255
M6 T0
G04 P5000
M101
G04 P5000
M103
M01 (Ready to print?)
G0 Z0	
(end of start.)
"""

print "G21"
print "G90"
print "G28"
print "M103"
setExtruderPWM(extruderPWM)


print "M101"


(x,y,z)=(0,0,layerHeight/2.0)


#layerStart(z);
moveTo(x,y,z,feedrate);
for i in range(0, raftParts):
    (x, y) = raftPartX(x, y, raftWidth, raftHeight) 

(x,y) = moveToXY(x,y+raftHeight-testHeight)


z += layerHeight
layerStart(z);
moveTo(x,y,z,feedrate);

testStartX = x

for i in range(0, testRuns):
    (x,y) = moveToXY(x - preRun, y)

    setExtruderPWM(-extruderPWM)
    startExtruder()

    (x,y) = linInterConstDist(x,y, x - run, y, feedrate, feedrate/(i+1), steps)

    pause(i*runPauseFactor)
    stopExtruder()

    (x,y) = moveToXY(x - offLength, y)

    setExtruderPWM(extruderPWM)
    startExtruder()
    
    (x,y) = linInterConstDist(x,y, x - run, y, feedrate/(i+1), feedrate, steps)

    #(x,y) = moveToXY(x - preRun, y)
    (x,y) =  moveToXY(0,y)
    (x,y) = sCurveYAbs(x,y,testStartX,y-testHeight)

z += 10
print "M103"
moveTo(x,y,z,feedrate)