Point tools: reverse order, mirror, export / import CSV
The menu More of every robot (KRC, VKRC, VFanuc, ABB, Yaskawa) contains functions which change many motion points of a program at once:
English DReS - Point Tools: Reverse Path, Mirror for the Left/Right Robot, CSV Export and Import (YouTube, English)
Deutsch DReS - Punkt-Werkzeuge: Bahn umkehren, Spiegeln (links/rechts), CSV-Export und -Import (YouTube, Deutsch)

▲ Reverse order of selected points

Select the motion points (whole lines are taken, a point is taken with all its lines) and choose More » Reverse order of selected points. The points are put into the reverse order - e.g. to create the way back of a path from a copy of it.
Before
After: the coordinates and the SPS commands in the reverse order, the names P1 - P4 are kept

▲ Mirror selected points

More » Mirror selected points... mirrors the coordinates of the motion points of the selection. The function needs the basic licence of the robot type. The dialog shows a 3D preview: the robot, the mirror plane, the original points (blue) and the mirrored points (orange). Drag with the mouse to rotate the view, the wheel zooms; buttons 3D, Top, Front, Side.
ModeDescription
for the mirrored robot (left / right) The cell is mirrored at a plane between two robots - e.g. the program of the left robot for the right robot. In the base (user frame, work object, coordinate system) of the point: Y → -Y, the orientation is mirrored so that the frame stays right-handed. The configuration is recalculated for the axes 1, 4 and 6 of the mirrored robot:
  • KUKA (VKRC, KRC): Turn from the axis values of the point (needs the robot model, tool and base data of the robot); Status is not changed,
  • Fanuc: the turn numbers of J1, J4, J6 in CONFIG change their sign, the letters stay,
  • ABB: cf1, cf4, cf6 from the axis values (robot model needed); cfx is not changed,
  • Yaskawa: RCONF is not changed.
Points with axis values (E6AXIS, J, jointtarget, pulse) are mirrored too: axes 1, 4, 6 negated. The tool and base numbers are not changed - the mirrored robot needs mirrored tool and base data. The preview can show the robots facing each other or side by side - the coordinates are the same.
at a plane of the base (same robot) The points are mirrored at a plane of their base for the same robot, e.g. for a symmetric part: plane YZ (X → -X), XZ (Y → -Y) or XY (Z → -Z) and its offset. Position and orientation are mirrored, the configuration is not changed - check the reachability and the configuration of every point. Points with axis values are skipped.

▲ Export points to CSV / Import points from CSV

KRC / VKRC / VFanuc / ABB / Yaskawa » More » Export points to CSV... saves the motion points of the selection - or of the whole program, when nothing is selected - in the order of the program. Import points from CSV... inserts the points of a CSV file as new joint motions after the current line: PTP (KRC, VKRC), J (VFanuc), MoveJ (ABB), MOVJ (Yaskawa). Both functions need the licence of the robot editor (KRC, VKRC, VFanuc, ABB or Yaskawa).
RobotColumns of the export
VKRCPoint; Motion; X; Y; Z; A; B; C; S; T; E1..E6; Tool; Base; VB; VE - a circular motion gives two rows (auxiliary point ..._AUX and end point)
VFanucPoint; Name; Motion; Type; X; Y; Z; W; P; R; Config; UF; UT; E1..E3 - Type C = cartesian, J = axis values (J1..J6 in the columns X..R)
KRCPoint; Motion; X; Y; Z; A; B; C; S; T; E1..E6; Tool; Base; Vel; Cont; Apo_Dist; Ipo_Frame - local and global points; axis points (E6AXIS) are converted with the kinematics of the robot (without the robot configuration they are skipped with a message); a circular motion gives two rows
ABBPoint; Motion; X; Y; Z; Q1..Q4; Rx; Ry; Rz; CF1; CF4; CF6; CFX; EAX_A..EAX_F; Tool; Wobj; Speed; Zone - robtargets of the motions (Rx, Ry, Rz = Euler angles ZYX of the quaternion, as in the point editor); motions with jointtargets (MoveAbsJ) and targets not declared in the module are skipped with a message
YaskawaPoint; Motion; Group; X; Y; Z; Rx; Ry; Rz; RCONF; Tool; User; Frame; VJ; V; PL; External - RECTAN positions as written, PULSE positions converted with the kinematics of the robot; points that cannot be converted (no kinematics data, TOOL frame, robot on a base axis) are skipped with a message
The file is written with the separator ; and a decimal point - it can be opened in a spreadsheet program. The import reads: The orientation columns keep the meaning of the controller that wrote the file (KUKA A, B, C = rotation about Z, Y, X; Fanuc W, P, R and Yaskawa Rx, Ry, Rz = rotation about X, Y, Z; ABB quaternion Q1..Q4). Import points into a program of the same robot type - between different robot types the orientation and the configuration must be converted.
OptionDescription
Tool / Base, UT / UFTool and base of the new points without Tool / Base (UT / UF) in the file.
VB / SpeedVelocity of the new PTP / J motions without VB (Speed) in the file.
VE / TerminationApproximation (VKRC) or termination FINE / CNT (VFanuc) of the points without VE (Termination) in the file.
S, T / CONFIGUsed only for points without S / T or CONFIG in the file. The default values come from the motion point next to the cursor.
KRCTool, Base, velocity [%] and approximation (exact stop or CONT C_PTP) of the new PTP motions, S / T. The points get the next free names XPn / FPn / PPn in the .dat of the program.
ABBtooldata, wobjdata, speeddata and zonedata of the new MoveJ instructions and confdata (cf1, cf4, cf6, cfx) of the points without it. The robtargets are declared at module level in the style of the module (e.g. LOCAL CONST robtarget).
YaskawaTool, user frame (or robot frame), VJ [%], PL and RCONF of the new MOVJ lines. The points are declared as RECTAN positions Cnnnnn; jobs with more than one control group are refused.
To create a new program from the points of another one:
  1. open the program, select the points (or nothing for all points) and choose Export points to CSV...,
  2. create a new program with File » New (e.g. VKRC4 UP / VFanuc UP),
  3. place the cursor in the line after which the points are to be inserted and choose Import points from CSV....
Check the new points (reachability, configuration, external axes) in the point table and in the 3D view before the program is run on the robot.