RobotStudio event

Face geometry not moving with part or body?

Options
RS 5.12.02

webwiz/40/WireTest.zip

The Pack&Go station has a box located at 0,0,0.

I start the 'WireTest' add-in under 'VSTA User Add-ins', then click the 'WireTest' button to launch 'Form1'.

I then select the top face of the box and click the 'Create Wire' button. The wire appears as expected on the selected face.

I repeatedly undo to restore the station to its original condition, then move the box to 0,0,100.

Now I repeat the procedure to create a wire on the top face of the box, but it appears below the box where the face was originally located.

Is this a bug, or have I done something stupid in my add-in code?

Thanks,

Kevin

Comments

  • Hi Kevin,

    I think this works as it should.
    CreateParametricCurve() works in the local coordinate system, so the transform of the box has no effect. Since you add the created body to myPart which has a zero transform, it will end up in a different place.

    regards,
    Johannes

    Johannes Weiman
    Software Engineer
    ABB Robotics
  • Kevin
    Options
    Thanks for the explanation Johannes,

    Kevin

  • Johannes
    I have this problem too, when I load a geometry, and move it to a position for example (0.2,0.2,0.2), I want to get some points on one of the edges, so I use "body.shells[0].wires[0].coedges[0].edge.GetPointAtParameter()", all the points appear in the place where the geometry was load; you have explaind it works in the local coordinate system, but can I set it works in world coordinate system? can we resolve this problem? I just want to get the points on the gometry after the moving, and then I can create target on the edge:thank you very much

    in robotstudio4 API.  there is a funtion called "createtargetoncurve", it exist in robotstudio5 API? I don't find it;

    best regards
  • Johannes
    I have this problem too, when I load a geometry, and move it to a position for example (0.2,0.2,0.2), I want to get some points on one of the edges, so I use "body.shells[0].wires[0].coedges[0].edge.GetPointAtParameter()", all the points appear in the place where the geometry was load; you have explaind it works in the local coordinate system, but can I set it works in world coordinate system? can we resolve this problem? I just want to get the points on the gometry after the moving, and then I can create target on the edge:thank you very much

    in robotstudio4 API.  there is a funtion called "createtargetoncurve", it exist in robotstudio5 API? I don't find it;

    best regards