Browse Source

configure gas and powder from gui; missing refpose

master
Jörg Kurlbaum 3 years ago
parent
commit
4072003956
  1. 2
      freecad/LaserCladdingWorkbench/commands.py
  2. 18
      freecad/LaserCladdingWorkbench/kuka.py

2
freecad/LaserCladdingWorkbench/commands.py

@ -157,6 +157,8 @@ class LCSaveProg():
prog.set_velocity(c.laser_feedrate, c.laser_speed) prog.set_velocity(c.laser_feedrate, c.laser_speed)
prog.set_laser_power(c.laser_power) prog.set_laser_power(c.laser_power)
prog.set_laser_out(c.laser_real_out) prog.set_laser_out(c.laser_real_out)
prog.set_powder_out(c.laser_powder_out)
prog.set_inert_gas_out(c.laser_gas_out)
prog.set_simulation(c.simulation) prog.set_simulation(c.simulation)
prog.set_label(c.Label) prog.set_label(c.Label)
for pad in pads: for pad in pads:

18
freecad/LaserCladdingWorkbench/kuka.py

@ -38,8 +38,8 @@ class Kuka_Prog:
self.laser_out = 3 self.laser_out = 3
self.laser_pilot_out = 4 # default is pilot laser self.laser_pilot_out = 4 # default is pilot laser
self.use_laser_out = self.laser_pilot_out self.use_laser_out = self.laser_pilot_out
self.inert_gas_out = 9 self.inert_gas_out = 7 # gas
self.powder_out = 7 self.powder_out = 8 # first powder pot
self.simulation = True self.simulation = True
self.label = "REPLACEME" self.label = "REPLACEME"
@ -59,6 +59,12 @@ class Kuka_Prog:
def set_laser_power(self, power): def set_laser_power(self, power):
self.laser_power = power self.laser_power = power
def set_powder_out(self, powder):
self.powder_out = powder
def set_inert_gas_out(self, inert_gas):
self.inert_gas_out = inert_gas
def set_laser_out(self, laser_output): def set_laser_out(self, laser_output):
self.laser_out = laser_output self.laser_out = laser_output
@ -171,18 +177,18 @@ class Kuka_Prog:
f.write(";- Hatchline\n") f.write(";- Hatchline\n")
segment = line[0] segment = line[0]
f.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vmax) f.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vmax)
f.write("LIN {}:{} C_VEL; move to first hatch point but with z_up\n".format(segment.translate_with(self.baseorigin).to_string(), z_up_pose)) f.write("LIN refpose:{}:{} C_VEL; move to first hatch point but with z_up\n".format(segment.translate_with(self.baseorigin).to_string(), z_up_pose))
# One Hatchline # One Hatchline
f.write(";- First Point in line \n") f.write(";- First Point in line \n")
f.write("LIN {} C_VEL; GENERATED\n".format(segment.translate_with(self.baseorigin).to_string())) f.write("LIN refpose:{} C_VEL; GENERATED\n".format(segment.translate_with(self.baseorigin).to_string()))
f.write("TRIGGER WHEN DISTANCE=0 DELAY=0 DO $OUT[%d]=True; Turn on Laser at point \n" % self.use_laser_out) f.write("TRIGGER WHEN DISTANCE=0 DELAY=0 DO $OUT[%d]=True; Turn on Laser at point \n" % self.use_laser_out)
# each segment # each segment
for segment in line[1:-1]: for segment in line[1:-1]:
f.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vproc) f.write("$VEL.CP = %f ; m/s ; m/s \n" % self.vproc)
f.write("LIN {} C_VEL; GENERATED\n".format(segment.translate_with(self.baseorigin).to_string())) f.write("LIN refpose:{} C_VEL; GENERATED\n".format(segment.translate_with(self.baseorigin).to_string()))
segment = line[-1] segment = line[-1]
f.write(";- Last Point in line \n") f.write(";- Last Point in line \n")
f.write("LIN {} C_VEL; GENERATED\n".format(segment.translate_with(self.baseorigin).to_string())) f.write("LIN refpose:{} C_VEL; GENERATED\n".format(segment.translate_with(self.baseorigin).to_string()))
f.write("TRIGGER WHEN DISTANCE=0 DELAY=0 DO $OUT[%d]=FALSE; Turn off Laser at point\n" % self.use_laser_out) f.write("TRIGGER WHEN DISTANCE=0 DELAY=0 DO $OUT[%d]=FALSE; Turn off Laser at point\n" % self.use_laser_out)
f.write(";- End line \n") f.write(";- End line \n")

Loading…
Cancel
Save