Browse Source

article number for program name; z move

master
Jörg Kurlbaum 3 years ago
parent
commit
b206f70d02
  1. 2
      freecad/LaserCladdingWorkbench/commands.py
  2. 23
      freecad/LaserCladdingWorkbench/kuka.py
  3. 7
      freecad/LaserCladdingWorkbench/program.py

2
freecad/LaserCladdingWorkbench/commands.py

@ -158,7 +158,7 @@ class LCSaveProg(): @@ -158,7 +158,7 @@ class LCSaveProg():
line.append(pose)
prog.append_hatchline(line, progpart.pathtype)
prog.save_prog(c.progpath)
prog.save_prog(c.article, c.progpath)
App.ActiveDocument.recompute()

23
freecad/LaserCladdingWorkbench/kuka.py

@ -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()

7
freecad/LaserCladdingWorkbench/program.py

@ -43,8 +43,11 @@ class LaserProgram: @@ -43,8 +43,11 @@ class LaserProgram:
obj.addProperty("App::PropertyBool", "simulation", "Roboter Parameter", "Use Simulation")
obj.simulation = True
obj.addProperty("App::PropertyFile", "progpath", "Export Parameters", "Where to store the Program")
obj.progpath = "/home/jk/test_export_workbench.src"
obj.addProperty("App::PropertyPath", "progpath", "Export Parameters", "Where to store the Program")
obj.progpath = "/home/jk/"
obj.addProperty("App::PropertyString", "article", "Export Parameters", "Article Number")
obj.article = "0000000"
obj.addExtension("App::GroupExtensionPython")
obj.Proxy = self

Loading…
Cancel
Save