Positon patern to repeat same movement at another place

I give you an exemple of what I try to do:

Imagine that you have a sheet of paper. On this sheet, you’ve got to write 10 x “S” vith a space between letters of 20mm on one line. like this:


How to, just program the first “S” of the line and deplace it each 20mm? The goal is to add 20mm to start point but I don’t understand how I could do.

Thanks for your help


Okay so I think there are a lots of different ways to achieve what you want, I can think of 3 at the moment but the urcommunity might have some additional or better solutions for you

a) Remote TCP (if you are familiar with NC tool paths) you could use the URcap from Universal Robotics to load the Gcode into the robot and then all you have to do is match the WCS to your fixture, not much programming on the robot side just some setup for the gcode, URcap and coordinate system - check this link Remote TCP & Toolpath FAQ

b) Palletizing, you could add the palletizing feature into your program and set the rows = 1 (so you get a single line in one direction) I have not used this feature much but you would perform an “action” at each position in the “pallet” (in your case draw an “S”) but I’m pretty sure this would work as well

c) Loop(), if you plan to use Polyscope on the teach pendant to program, you may want to use the LOOP and set this to a value (let’s say 5, by default it loops infinitely) within the loop have your drawing movements, then add a DIRECTION MOVE and set that to 20mm (relative to… base, tool, a feature… etc. up to you). It should now: draw, move 20mm … rinse, dry, and repeat 4 more times.

Hope that helps and maybe gets some ideas flowing for you but someone else may be able to help a little more. Anyways best of luck!

In my experience, this is really easy to achieve using Features. First just create a Feature Plane in the Installation. Then, teach your points relative to that Feature. By default they will all be taught to Base, so be sure to change this. You’ll find this option inside the MoveL/J/P node.

Once you’re done with drawing the first “S”, use an Assignment node to assign the Plane feature a new value. This new value will be a Pose_Add() of the feature’s const and your 20mm offset.


Now, because we are using the Plane’s CONST inside the Pose_Add, as it stands, this will only ever shift over once, no matter how many times you run this. What I like to do instead is either pass the Plane’s POSE instead of it’s CONST, or just make the added pose some multiple of 20mm and feed that in instead.

Something like this:

Just be sure to increment offsetCount, and put this stuff in a loop, and you should be good.