import nc import emc2b class NoAddress(): def __init__(self, *args, **kwargs): self.str = None def set(self, *args,**kwargs): pass def write(self, *args,**kwargs): return '' class Creator(emc2b.Creator): def __init__(self): emc2b.Creator.__init__(self) self.s = NoAddress() self.can_do_helical_arcs = False self.output_tool_definitions = False def COOLANT_OFF(self): return('') def COOLANT_MIST(self): return('') def COOLANT_FLOOD(self): return('') def TOOL(self): return('') def TOOL_DEFINITION(self): return('') def imperial(self): raise RuntimeError('Machine only support metric mode') def metric(self): self.fmt.number_of_decimal_places = 3 def set_plane(self, plane): if (plane != 0) : raise RuntimeError('Machine only support XY plane mode') def polar(self, on=True): if (on) : raise RuntimeError('Machine does not support polar mode') def set_temporary_origin(self, x=None, y=None, z=None, a=None, b=None, c=None): raise RuntimeError('Machine does not support temporary origin') def PROGRAM_END(self): return( 'M02') def program_begin(self, id, comment): self.write( '(GCode adapted to .knc file for proxxon milling machine.)\n') emc2b.Creator.program_begin(self, id, comment) self.write( '\n(Starting Spindle)\n' ) self.write('M10 O6.1\n') def tool_change(self, id): if self.output_comment_before_tool_change: self.comment('tool change to %s - %s' %( self.tool_defn_params[id]['name'], self.z_for_g53)) self.write('M05\n') self.write('G54 Z0') nc.creator = Creator()