03-30-2022, 08:25 PM
That's also a valid option. I know it sounds awful, and I've been preaching for us to have a variable-based way of programming, but it won't happen tomorrow.
One thing you can do is to use Python to automatically create your 64 programs though.
Something like that:
One thing you can do is to use Python to automatically create your 64 programs though.
Something like that:
Code:
from robodk import robolink # RoboDK API
from robodk import robomath # Robot toolbox
# Link to RoboDK
RDK = robolink.Robolink()
column = 8
row = 8
distance_x = 10
distance_y = 10
app_height = 100
RDK.Command("AddFolder", "Folder Pick Programs")
ref_target = RDK.Item("My_Reference_Target",robolink.ITEM_TYPE_TARGET)
ref_frame = RDK.Item("My_Reference_Frame",robolink.ITEM_TYPE_FRAME)
gripper = RDK.Item("My_Gripper",robolink.ITEM_TYPE_TOOL)
folder_prog = RDK.Item("Folder Pick Programs",robolink.ITEM_TYPE_FOLDER)
for i in range(column):
for j in range(row):
new_target = RDK.AddTarget("Pick_Target_"+str(i)+"_"+str(j),ref_frame)
new_target_pose = robomath.Offset(ref_target.Pose(),i*distance_x,j*distance_y,0)
new_target.setPose(new_target_pose)
new_target_app = RDK.AddTarget("App_Target_"+str(i)+"_"+str(j),ref_frame)
new_target_app_pose = robomath.Offset (new_target.Pose(),0,0,app_height)
new_target_app.setPose(new_target_app_pose)
new_prog = RDK.AddProgram("Pick_"+str(i)+"_"+str(j))
new_prog.setParent(folder_prog)
new_prog.setTool(gripper)
new_prog.setFrame(ref_frame)
new_prog.MoveJ(new_target_app)
new_prog.MoveL(new_target)
new_prog.MoveL(new_target_app)
Find useful information about RoboDK and its features by visiting ourOnline Documentationand by watching tutorials on ourYoutube Channel.