def start_point(self): if (self.verifica_medicao()): return xyz = controle_cnc.current_pos(self.serial_cnc) self.start_point_x = float(xyz[0]) self.start_point_y = float(xyz[1]) self.lbl_par_5.config(text=( ("%.2f %.2f" % (self.start_point_x, self.start_point_y)).replace('.', ','))) self.atualiza_passo()
def end_point( self ): #da pra melhorar juntado star_point com end_point passando pra função se é start ou end if (self.verifica_medicao()): return xyz = controle_cnc.current_pos(self.serial_cnc) self.end_point_x = float(xyz[0]) self.end_point_y = float(xyz[1]) self.lbl_par_6.config( text=(("%.2f %.2f" % (self.end_point_x, self.end_point_y)).replace('.', ','))) self.atualiza_passo()
def meas_ponto(self, row, col): if (self.verifica_medicao()): return #Verifica se ponto superior esquerdo foi definido e atribui a variaveis #de coordenada try: if (self.start_point_x < self.end_point_x): x = float(self.start_point_x) else: x = float(self.end_point_x) if (self.start_point_y > self.end_point_y): y = float(self.start_point_y) else: y = float(self.end_point_y) print("ponto inicial= " + str(x) + ' ' + str(y)) except AttributeError: messagebox.showwarning(title="Erro!!!Limites não definidos", message="Pontos não definidos ") return self.flag_medindo = True print("Medir ponto x=" + str(col) + " y=" + str(row)) xyz = controle_cnc.current_pos(self.serial_cnc) x = x + (self.var_step_x * col) - float(xyz[0]) if not (x == 0): #Vai para a coordenada do ponto no eixo x print("movimento x=" + str(x)) if (x > 0): direcao = self.dict_jog['right'] elif (x < 0): direcao = self.dict_jog['left'] self.meas_movimento_cnc(direcao, abs(x)) time.sleep(4) #colocar delay y = y + (self.var_step_y * row) - float(xyz[1]) if not (y == 0): #Vai para a coordenada do ponto no eixo y print("movimento y=" + str(y)) if (y > 0): direcao = self.dict_jog['up'] elif (y < 0): direcao = self.dict_jog['down'] self.meas_movimento_cnc(direcao, abs(y)) time.sleep(4) #colocar delay self.flag_medindo = False
def measurement(self): if (self.verifica_medicao()): return #Verifica se ponto superior esquerdo foi definido e atribui a variaveis #de coordenada try: if (self.start_point_x < self.end_point_x): x = float(self.start_point_x) else: x = float(self.end_point_x) if (self.start_point_y > self.end_point_y): y = float(self.start_point_y) else: y = float(self.end_point_y) print("ponto inicial= " + str(x) + ' ' + str(y)) except AttributeError: messagebox.showwarning(title="Erro!!!Limites não definidos", message="Pontos não definidos ") return self.meas_time = datetime.now() self.flag_medindo = True self.var_pb.set(1) xyz = controle_cnc.current_pos(self.serial_cnc) x = x - float(xyz[0]) if not (x == 0): #Vai para a coordenada do ponto no eixo x print("movimento x=" + str(x)) if (x > 0): direcao = self.dict_jog['right'] elif (x < 0): direcao = self.dict_jog['left'] self.meas_movimento_cnc(direcao, abs(x)) time.sleep(4) #colocar delay y = y - float(xyz[1]) if not (y == 0): #Vai para a coordenada do ponto no eixo y print("movimento y=" + str(y)) if (y > 0): direcao = self.dict_jog['up'] elif (y < 0): direcao = self.dict_jog['down'] self.meas_movimento_cnc(direcao, abs(y)) time.sleep(4) #colocar delay self.matrix_meas = [[-80 for _ in range(self.cols)] for _ in range(self.rows)] var_progressbar = 0 self.var_pb.set(var_progressbar) step_progressbar = 100 / ((self.rows) * (self.cols)) flag_ordem = True #false=esquerda pra direita for i in range(0, self.rows): #linha if (flag_ordem): for j in range(0, self.cols): #coluna if (self.flag_stop): return self.matrix_meas[i][j] = -40 # entra valor medido self.button_matriz[i][j].config(text="meas+\nx=%d\ny=%d" % (j + 1, i + 1)) var_progressbar = var_progressbar + step_progressbar self.var_pb.set(var_progressbar) self.master.update() print("Mede") if (j + 1 < self.cols): time.sleep(self.tempo_entre_medidas ) #pra teste da tela atualizando self.meas_movimento_cnc(self.dict_jog['right'], self.var_step_x) flag_ordem = False else: for j in reversed(range(0, self.cols)): #coluna if (self.flag_stop): return self.matrix_meas[i][j] = 4 # entra valor medido self.button_matriz[i][j].config(text="meas-\nx=%d\ny=%d" % (j + 1, i + 1)) var_progressbar = var_progressbar + step_progressbar self.var_pb.set(var_progressbar) self.master.update() print("Mede") if (j != 0): time.sleep(self.tempo_entre_medidas ) #pra teste da tela atualizando self.meas_movimento_cnc(self.dict_jog['left'], self.var_step_x) flag_ordem = True if (i + 1 < self.rows): time.sleep( self.tempo_entre_medidas) #pra teste da tela atualizando self.meas_movimento_cnc(self.dict_jog['down'], self.var_step_y) self.flag_medindo = False