F_dest = coord[3] distance = (X_dest-toolPos_X)**2+(Y_dest-toolPos_Y)**2 if distance >= maxDistance : splitLongEtchMove(distance) if distance < minDistance and (Z_dest-toolPos_Z)**2 < 0.001**2 : # Make sure it is not a Z movement print("Ignoring " + str(distance**0.5) + "mm segment!") continue Z_real = Z_dest+Z_origin_offset+getZoffset(X_dest, Y_dest)+Z_global_offset cy.moveXYZ(X_dest, Y_dest, Z_real, F_dest) # print("Coords: Speed: " + str(F_dest)) toolPos_refresh(X_dest, Y_dest, etching=1) toolPos_X = X_dest toolPos_Y = Y_dest toolPos_Z = Z_dest toolPos_F = F_dest sys.stdout.flush() # Panelizing supported! for x_i in range(N_copies_X): for y_i in range(N_copies_Y): doPath(x_i*(boardSizeX+margin_copies_X), y_i*(boardSizeY+margin_copies_Y)) cy.homeZXY() # It is important to send a blocking command in the end cy.close() # Close the connection with Cyclone #print("Done. Press enter to exit...") #val = sys.stdin.readline()
if distance >= maxDistance: splitLongEtchMove(distance) if distance < minDistance and ( Z_dest - toolPos_Z )**2 < 0.001**2: # Make sure it is not a Z movement print("Ignoring " + str(distance**0.5) + "mm segment!") continue Z_real = Z_dest + Z_origin_offset + getZoffset( X_dest, Y_dest) + Z_global_offset cy.moveXYZ(X_dest, Y_dest, Z_real, F_dest) # print("Coords: Speed: " + str(F_dest)) toolPos_refresh(X_dest, Y_dest, etching=1) toolPos_X = X_dest toolPos_Y = Y_dest toolPos_Z = Z_dest toolPos_F = F_dest # Panelizing supported! for x_i in range(N_copies_X): for y_i in range(N_copies_Y): doPath(x_i * (boardSizeX + margin_copies_X), y_i * (boardSizeY + margin_copies_Y)) cy.homeZXY() # It is important to send a blocking command in the end cy.close() # Close the connection with Cyclone print("Done. Press enter to exit...") val = sys.stdin.readline()