Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Attach an object in python
#1
Hello,

How to write code correctly in python so that it attaches an object?


I added attach condition to my python code, but after running this code "main program" is created and gripper doesnt attach the object.


Hope you understand what i mean

Thank you.


Attached Files Thumbnail(s)
       
#2
I understand you want to add an instruction to your program to attach an object to the gripper, correct?

The line you highlighted will attach the object to the gripper right the same moment you call that instruction (it does not add it to the program).

The following example will help you add the attach event instruction to your program:
Code:
RDK = Robolink()

prog = RDK.AddProgram("test1")
target = RDK.Item("Target")
tool = RDK.Item("Gripper")
framepallet = RDK.Item("Pallet")

prog.MoveL(target)

INS_TYPE_EVENT = 7
EVENT_ATTACH = 0
EVENT_DETACH = 1

ins_event_attach = {'Type': INS_TYPE_EVENT, 'Behavior': EVENT_ATTACH, 'ToolPtr': str(tool.item)}
ins_event_detach = {'Type': INS_TYPE_EVENT, 'Behavior': EVENT_DETACH, 'ToolPtr': str(tool.item), 'FramePtr': str(framepallet.item)}
prog.setParam("Add",ins_event_attach)
prog.setParam("Add",ins_event_detach)

You can find a similar example here:
https://robodk.com/doc/en/PythonAPI/exam...structions
#3
Is there a way to add an instruction to attach a specific RoboDK item (3D object) by name to the event attach dictionary?

For example:
Code:
tube_1 = RDK.Item('Tube_1', ITEM_TYPE_OBJECT)

ins_event_attach = {'Type': INS_TYPE_EVENT, 'Behavior': EVENT_ATTACH, 'ToolPtr': str(tool.item),
'Object': tube_1}


My current issue is that I need to attach several 3D objects to the robot tool but only the closest object will attach.

Thank you.
#4
This is currently not possible using an instruction but you can trigger a program call to a Python script that will change the parent an object is attached to.
  




Users browsing this thread:
1 Guest(s)