from vismach import *
import hal
c = hal.component("puma560gui")
c.newpin("joint1", hal.HAL_FLOAT, hal.HAL_IN)
c.newpin("joint2", hal.HAL_FLOAT, hal.HAL_IN)
c.newpin("joint3", hal.HAL_FLOAT, hal.HAL_IN)
c.newpin("joint4", hal.HAL_FLOAT, hal.HAL_IN)
c.newpin("joint5", hal.HAL_FLOAT, hal.HAL_IN)
c.newpin("joint6", hal.HAL_FLOAT, hal.HAL_IN)
c.newpin("grip", hal.HAL_FLOAT, hal.HAL_IN)
c.ready()
floor = Collection([Box(-50,-50,-3,50,50,0)])
floor = Color([0,1,0,0],[floor])
work = Capture()
tool = Capture()
tooltip = Capture()
tool = Collection([tooltip, tool])
link7 = AsciiOBJ(filename="puma_link7.obj")
link7 = Color([0.3,0.3,0.3,1],[link7])
link7 = Translate([link7],0,0,-0.4)
link7 = Collection([link7, tool])
link7 = Translate([link7],0,0,0.4)
link7 = HalRotate([link7],c,"joint6",1,0,0,1)
link6 = AsciiOBJ(filename="puma_link6.obj")
link6 = Color([0.5,0.5,0.5,1],[link6])
link6 = Rotate([link6],-90,0,1,0)
link6 = Translate([link6],0,0,-1.8) link6 = Collection([link7, link6])
link6 = Translate([link6],0,0,1.8)
link6 = HalRotate([link6],c,"joint5",1,1,0,0)
link5 = AsciiOBJ(filename="puma_link5.obj")
link5 = Color([0.5,0.5,0.5,1],[link5])
link5 = Translate([link5],0,0,-2.8)
link5 = Collection([link6, link5])
link5 = Translate([link5],0,0,2.8)
link5 = HalRotate([link5],c,"joint4",1,0,0,1)
link4 = AsciiOBJ(filename="puma_link4.obj")
link4 = Rotate([link4],90,1,0,0)
link4 = Rotate([link4],-90,0,1,0)
link4 = Rotate([link4],90,0,0,1)
link4 = Translate([link4],0,0,-14.25) link4 = Collection([link5, link4])
link4 = Translate([link4],1.85,0,14.25) link4 = Rotate([link4],-90,1,0,0)
link4 = HalRotate([link4],c,"joint3",1,1,0,0)
link3 = AsciiOBJ(filename="puma_link3.obj")
puma_text = AsciiOBJ(filename="puma_text.obj")
puma_text = Rotate([puma_text],180,0,0,1)
puma_text = Translate([puma_text],9,1,4)
puma_text = Color([0,0,1,1],[puma_text])
link3 = Collection([link3, puma_text])
link3 = Rotate([link3], 90,0,1,0)
link3 = Rotate([link3], 180,0,0,1)
link3 = Rotate([link3], 180,1,0,0)
link3 = Translate([link3],0,0,-17)
link3 = Collection([link4, link3])
link3 = Translate([link3],0,0,17)
link3 = Rotate([link3],-90,1,0,0)
link3 = HalRotate([link3],c,"joint2",1,1,0,0)
link2 = AsciiOBJ(filename="puma_link2.obj")
link2 = Rotate([link2], -90,0,0,1)
link2 = Rotate([link2], -90,0,1,0)
link2 = Translate([link2], 11.2,0,0) link2 = Collection([link3, link2])
link2 = Translate([link2],-7.2,0,3) link2 = Rotate([link2], -90,0,0,1)
link2 = HalRotate([link2],c,"joint1",1,0,0,1)
link2 = Translate([link2], 0,0,23.45)
link1 = AsciiOBJ(filename="puma_link1.obj");
link1 = Color([0.18,0.19,0.2,1],[link1])
link1 = Rotate([link1], 180,0,0,1)
puma = Collection([link2, link1])
model = Collection([tooltip, puma, floor, work])
main(model, tooltip, work,50)