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