1 from collections import OrderedDict
2 from config import config
3 from StringIO import StringIO
4 import gcodes
5 import math
6 import sys
7 import time
8 from RuntimeParameters import RuntimeParameters
9 from GcodeCommand import GcodeCommand
10
12 '''Runtime data for conversion of 3D model to gcode.'''
13
15
16 self.runtimeParameters = RuntimeParameters()
17 self.layers = OrderedDict()
18
19 self.startGcodeCommands = []
20 self.endGcodeCommands = []
21 self.elementOffsets = None
22
23 self.svgText = None
24 self.carvingCornerMaximum = None
25 self.carvingCornerMinimum = None
26
27
28 self.rotatedLoopLayers = []
29
31 '''Get the string representation.'''
32 output = StringIO()
33
34 output.write("\nRuntimeParameters:\n%s\n" % vars(self.runtimeParameters))
35
36 output.write("\nelementOffsets: %s\n" % self.elementOffsets)
37
38 output.write("\nrotatedLoopLayers:\n")
39 for rotatedLoopLayer in self.rotatedLoopLayers:
40 output.write('%s\n' % vars(rotatedLoopLayer))
41
42 output.write("\nstartGcodeCommands:\n")
43 for startGcodeCommand in self.startGcodeCommands:
44 output.write(GcodeCommand.printCommand(startGcodeCommand, self.runtimeParameters.verboseGcode))
45
46 output.write("\nlayers:\n")
47 for key in sorted(self.layers.iterkeys()):
48 output.write('%s\n' % self.layers[key])
49
50 output.write("\nendGcodeCommands:\n")
51 for endGcodeCommand in self.endGcodeCommands:
52 output.write(GcodeCommand.printCommand(endGcodeCommand, self.runtimeParameters.verboseGcode))
53
54 return output.getvalue()
55