|
|
|
|
@ -5,7 +5,7 @@ import time
@@ -5,7 +5,7 @@ import time
|
|
|
|
|
import Part |
|
|
|
|
import re |
|
|
|
|
import copy |
|
|
|
|
|
|
|
|
|
import os |
|
|
|
|
|
|
|
|
|
TeachPointFold = """ |
|
|
|
|
;FOLD LIN P4 Vel= 0.2 m/s CPDAT1 Tool[1] Base[0];%{PE}%R 5.4.27,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P4, 3:, 5:0.2, 7:CPDAT1 |
|
|
|
|
@ -134,10 +134,13 @@ class Kuka_Prog:
@@ -134,10 +134,13 @@ class Kuka_Prog:
|
|
|
|
|
def get_vectors(self): |
|
|
|
|
return [FreeCAD.Base.Vector(p.X, p.Y, p.Z) for p in poses for poses in self.contour_path_list ] |
|
|
|
|
|
|
|
|
|
def save_prog(self, filename): |
|
|
|
|
if not filename.endswith('.src'): |
|
|
|
|
filename = filename +'.src' |
|
|
|
|
srcfile = open(filename, 'w') |
|
|
|
|
def save_prog(self, article, path): |
|
|
|
|
if self.simulation: |
|
|
|
|
filename = "kvt_{}_sim.src".format(article) |
|
|
|
|
else: |
|
|
|
|
filename = "kvt_{}.src" |
|
|
|
|
|
|
|
|
|
srcfile = open(os.path.join(path, filename), 'w') |
|
|
|
|
srcfile.write(header_src) |
|
|
|
|
# subroutine definition |
|
|
|
|
srcfile.write("DEF "+filename+"( )\n\n") |
|
|
|
|
@ -179,8 +182,10 @@ class Kuka_Prog:
@@ -179,8 +182,10 @@ class Kuka_Prog:
|
|
|
|
|
srcfile.write(";- Contourpaths\n") |
|
|
|
|
for (poses, seg_type) in self.contour_path_list: |
|
|
|
|
# start laser code |
|
|
|
|
srcfile.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vproc) |
|
|
|
|
srcfile.write(";- Turn on Laser\n") |
|
|
|
|
srcfile.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vmax) |
|
|
|
|
srcfile.write("LIN_REL {Z 90.0} C_VEL; GENERATED\n") |
|
|
|
|
srcfile.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vproc) |
|
|
|
|
if seg_type == 'LIN': |
|
|
|
|
srcfile.write("LIN {} C_VEL; GENERATED\n".format(poses[0].translate_with(self.baseorigin).to_string())) |
|
|
|
|
srcfile.write("TRIGGER WHEN DISTANCE=0 DELAY=0 DO $OUT[%d]=True\n" % self.use_laser_out) |
|
|
|
|
@ -198,6 +203,8 @@ class Kuka_Prog:
@@ -198,6 +203,8 @@ class Kuka_Prog:
|
|
|
|
|
# end of subroutine |
|
|
|
|
|
|
|
|
|
srcfile.write(";- Hatchlines\n") |
|
|
|
|
srcfile.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vmax) |
|
|
|
|
srcfile.write("LIN_REL {Z 90.0} C_VEL; GENERATED\n") |
|
|
|
|
for (line, seg_type) in self.hatchlines_list: |
|
|
|
|
# start laser code |
|
|
|
|
srcfile.write(";- Hatchline\n") |
|
|
|
|
@ -212,6 +219,10 @@ class Kuka_Prog:
@@ -212,6 +219,10 @@ class Kuka_Prog:
|
|
|
|
|
srcfile.write("$OUT[%d] = FALSE\n" % self.use_laser_out) |
|
|
|
|
srcfile.write("$OUT[%d] = FALSE\n" % self.powder_out) |
|
|
|
|
srcfile.write("$OUT[%d] = FALSE\n" % self.inert_gas_out) |
|
|
|
|
srcfile.write("startp=$POS_ACT\n") |
|
|
|
|
srcfile.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vmax) |
|
|
|
|
#srcfile.write("LIN_REL {Z 90.0} C_DIS; GENERATED\n") |
|
|
|
|
srcfile.write("PTP {A1 -33.31, A2 -104.71, A3 114.60, A4 282.66, A5 -39.21, A6 -104.87, E1 -90, E2 1.0}\n") |
|
|
|
|
srcfile.write("\n;------------- end ------------\n") |
|
|
|
|
srcfile.write("END \n\n") |
|
|
|
|
srcfile.close() |
|
|
|
|
|