I have been playing around with the set_tcp() function at bit and it seems like it sets the translation first and then gives it a rotation.
Is it possible somehow to set a rotation first and then based on that rotation set a translation?
I figured it out. To to this just write
newTCP = pose_trans(get_tcp_offset(), p[0,0, offset, 0,0,0])
This will make a new TCP in relation to the position translation of the current TCP and the new offset.
Pretty useful if you want to user the adjust the TCP in an orientation.