def settool_epilog(self, **words): try: if not self.value_returned: r = self.blocks[self.remap_level].executing_remap self.set_errormsg( "the %s remap procedure %s did not return a value" % (r.name, r.remap_ngc if r.remap_ngc else r.remap_py)) return INTERP_ERROR if self.blocks[self.remap_level].builtin_used: #print "---------- M61 builtin recursion, nothing to do" return INTERP_OK else: if self.return_value > 0.0: self.current_tool = int(self.params["tool"]) self.current_pocket = int(self.params["pocket"]) emccanon.CHANGE_TOOL_NUMBER(self.current_pocket) # cause a sync() self.tool_change_flag = True self.set_tool_parameters() else: self.set_errormsg("M61 aborted (return code %.1f)" % (self.return_value)) return INTERP_ERROR except Exception, e: self.set_errormsg("M61/settool_epilog: %s)" % (e)) return INTERP_ERROR
def set_tool_number(self, **words): try: c = self.blocks[self.remap_level] if c.q_flag: toolno = int(c.q_number) else: self.set_errormsg("M61 requires a Q parameter") return status (status, pocket) = self.find_tool_pocket(toolno) if status != INTERP_OK: self.set_errormsg("M61 failed: requested tool %d not in table" % (toolno)) return status if words['q'] > -TOLERANCE_EQUAL: # 'greater equal 0 within interp's precision' self.current_pocket = pocket self.current_tool = toolno emccanon.CHANGE_TOOL_NUMBER(pocket) # cause a sync() self.tool_change_flag = True self.set_tool_parameters() return INTERP_OK else: self.set_errormsg("M61 failed: Q=%4" % (toolno)) return INTERP_ERROR except Exception, e: self.set_errormsg("M61/set_tool_number: %s" % (e)) return INTERP_ERROR
def set_tool_number(self, userdata,**words): toolno = int(words['q']) (status,pocket) = self.find_tool_pocket(toolno) if status != INTERP_OK: self.set_errormsg("M61 failed: requested tool %d not in table" % (toolno)) return status if words['q'] > -TOLERANCE_EQUAL: self.current_pocket = pocket emccanon.CHANGE_TOOL_NUMBER(pocket) # test: self.tool_table[0].offset.tran.z = self.tool_table[pocket].offset.tran.z # cause a sync() self.tool_change_flag = True self.set_tool_parameters() return INTERP_OK else: self.set_errormsg("M61 failed: Q=%4" % (toolno)) return INTERP_ERROR