import tempfile
class HxmlWriter:
def __init__(self):
self.file_out = open(tempfile.gettempdir()+'/backplot.xml', 'w')
self.file_out.write('\n')
self.file_out.write('\n')
self.t = None
self.oldx = None
self.oldy = None
self.oldz = None
def __del__(self):
self.file_out.write('\n')
self.file_out.close()
def write(self, s):
self.file_out.write(s)
############################################
def begin_ncblock(self):
self.file_out.write('\t\n')
def end_ncblock(self):
self.file_out.write('\t\n')
def add_text(self, s, col, cdata):
s.replace('&', '&')
s.replace('"', '"')
s.replace('<', '<')
s.replace('>', '>')
if (cdata) : (cd1, cd2) = ('')
else : (cd1, cd2) = ('', '')
if (col != None) : self.file_out.write('\t\t'+cd1+s+cd2+'\n')
else : self.file_out.write('\t\t'+cd1+s+cd2+'\n')
def set_mode(self, units):
self.file_out.write('\t\t\n')
def metric(self):
self.set_mode(units = 1.0)
def imperial(self):
self.set_mode(units = 25.4)
def begin_path(self, col):
if (col != None) : self.file_out.write('\t\t\n')
else : self.file_out.write('\t\t\n')
def end_path(self):
self.file_out.write('\t\t\n')
def rapid(self, x=None, y=None, z=None, a=None, b=None, c=None):
self.begin_path("rapid")
self.add_line(x, y, z, a, b, c)
self.end_path()
def feed(self, x=None, y=None, z=None, a=None, b=None, c=None):
self.begin_path("feed")
self.add_line(x, y, z, a, b, c)
self.end_path()
def arc_cw(self, x=None, y=None, z=None, i=None, j=None, k=None, r=None):
self.begin_path("feed")
self.add_arc(x, y, z, i, j, k, r, -1)
self.end_path()
def arc_ccw(self, x=None, y=None, z=None, i=None, j=None, k=None, r=None):
self.begin_path("feed")
self.add_arc(x, y, z, i, j, k, r, 1)
self.end_path()
def tool_change(self, id):
self.file_out.write('\t\t\n')
self.t = id
def current_tool(self):
return self.t
def spindle(self, s, clockwise):
pass
def feedrate(self, f):
pass
def add_line(self, x, y, z, a = None, b = None, c = None):
self.file_out.write('\t\t\t\n')
if x != None: self.oldx = x
if y != None: self.oldy = y
if z != None: self.oldz = z
def add_arc(self, x, y, z, i, j, k, r = None, d = None):
self.file_out.write('\t\t\t\n')
if x != None: self.oldx = x
if y != None: self.oldy = y
if z != None: self.oldz = z