# RoboDK Python Intermediate file to generate robot programs.
# Program name: Curve
# This file requires the post processor: 
#   ABB_RAPID_IRC5
# to generate your robot program.
# This is a temporary file and you can delete it once you have generated your program.
# 
# Post processor documentation: https://robodk.com/doc/en/PythonAPI/postprocessor.html

import sys
import os
import robodk
sys.path.append(os.path.abspath(r"""C:/RoboDK/Posts/""")) # temporarily add path to POSTS folder

from ABB_RAPID_IRC5 import *

try:
  from robodk.robomath import PosePP as p
except:
  # This will be removed in future versions of RoboDK
  from robodk import PosePP as p


print('Total instructions: 51')
r = RobotPost(r"""ABB_RAPID_IRC5""",r"""ABB IRB 1200-5/0.9""",6, axes_type=['R','R','R','R','R','R'], native_name=r"""ABB IRB 1200-5/0.9""", ip_com=r"""192.168.125.1""", api_port=20500, prog_ptr=1564372844624, robot_ptr=1564513402944)

r.ProgStart(r"""Curve""")
r.RunMessage(r"""Program generated by RoboDK v5.6.3 for ABB IRB 1200-5/0.9 on 21/08/2023 11:23:38""",True)
r.RunMessage(r"""Using nominal kinematics.""",True)
r.RunCode(r"""Pause""", True)
r.setZoneData(1.000)
r.setSpeed(100.000)
r.setFrame(p(951.355,225.235,365.888,180,30,0),-1,r"""Part""")
r.setTool(p(0,0,90.865,0,0,0),-1,r"""RobotiQ Sanding Kit""")
r.RunMessage(r"""Show RobotiQ Sanding Kit""",True)
r.MoveJ(None,[11.7303,54.7012,-40.1696,-8.08619,46.2752,-74.1973],None)
r.MoveL(p(25.0003,60,44.9998,90,0,-180),[11.3824,60.7105,-45.7172,-7.91544,45.7712,-74.5709],[0,0,0])
r.MoveL(p(50.0003,60,19.9998,90,0,-180),[11.5074,60.3903,-40.6969,-8.72089,41.1376,-73.4109],[0,0,0])
r.setSpeed(50.000)
r.MoveL(p(350,60,19.9997,90,0,-180),[16.6698,43.5661,15.5937,-77.1548,8.45945,1.55607],[0,0,0])
r.MoveL(p(350,94.233,19.9997,90,0,-180),[13.3549,42.8905,17.0522,-83.7239,6.67213,5.29941],[0,0,0])
r.MoveL(p(347.348,95.2783,19.9997,90,0,-180),[13.1991,42.901,16.7409,-81.2132,6.63384,2.63607],[0,0,0])
r.MoveL(p(332.253,102.483,19.9997,90,0,-180),[12.2118,42.9767,14.9755,-66.8028,6.60742,-12.7201],[0,0,0])
r.MoveL(p(318.126,111.437,19.9997,90,0,-180),[11.1115,43.0708,13.3317,-53.7885,6.8591,-26.7549],[0,0,0])
r.MoveL(p(305.167,122.011,19.9997,90,0,-180),[9.91322,43.1759,11.8298,-42.7337,7.28751,-38.8913],[0,0,0])
r.MoveL(p(293.562,134.056,19.9997,90,0,-180),[8.63108,43.2843,10.4889,-33.578,7.79743,-49.1779],[0,0,0])
r.MoveL(p(283.476,147.398,19.9997,90,0,-180),[7.27851,43.3891,9.32596,-25.9775,8.3153,-57.9484],[0,0,0])
r.MoveL(p(275.053,161.848,19.9997,90,0,-180),[5.86828,43.4838,8.35632,-19.5458,8.78924,-65.58],[0,0,0])
r.MoveL(p(268.413,177.2,19.9997,90,0,-180),[4.41271,43.563,7.59287,-13.9474,9.18408,-72.4012],[0,0,0])
r.MoveL(p(263.652,193.233,19.9997,90,0,-180),[2.9237,43.622,7.04597,-8.91079,9.47665,-78.6764],[0,0,0])
r.MoveL(p(260.837,209.72,19.9997,90,0,-180),[1.41287,43.6576,6.72314,-4.21662,9.65241,-84.6192],[0,0,0])
r.MoveL(p(260.008,226.426,19.9997,90,0,-180),[-0.108318,43.6678,6.62886,0.321327,9.70347,-90.4105],[0,0,0])
r.MoveL(p(261.177,243.11,19.9997,90,0,-180),[-1.62851,43.6521,6.76447,4.87391,9.62761,-96.216],[0,0,0])
r.MoveL(p(264.327,259.537,19.9997,90,0,-180),[-3.13634,43.6112,7.12806,9.61353,9.42796,-102.203],[0,0,0])
r.MoveL(p(269.414,275.47,19.9997,90,0,-180),[-4.62034,43.5474,7.71458,14.7313,9.11344,-108.557],[0,0,0])
r.MoveL(p(276.365,290.683,19.9997,90,0,-180),[-6.06882,43.4643,8.51599,20.4553,8.69988,-115.5],[0,0,0])
r.MoveL(p(285.08,304.959,19.9997,90,0,-180),[-7.46982,43.3665,9.52145,27.0692,8.21227,-123.309],[0,0,0])
r.MoveL(p(295.436,318.093,19.9997,90,0,-180),[-8.81096,43.2598,10.7176,34.9227,7.68832,-132.326],[0,0,0])
r.MoveL(p(307.284,329.899,19.9997,90,0,-180),[-10.0793,43.1507,12.0888,44.4091,7.18355,-142.935],[0,0,0])
r.MoveL(p(320.456,340.207,19.9997,90,0,-180),[-11.2614,43.0464,13.6177,55.8502,6.77596,-155.447],[0,0,0])
r.MoveL(p(334.762,348.871,19.9997,90,0,-180),[-12.343,42.9544,15.2849,69.2227,6.56416,-169.828],[0,0,0])
r.MoveL(p(350,355.767,19.9997,90,0,-180),[-13.3087,42.8823,17.07,83.8236,6.6481,-185.359],[0,0,0])
r.MoveL(p(350,390,19.9997,90,0,-180),[-16.625,43.5558,15.616,77.2373,8.43441,-181.601],[0,0,0])
r.MoveL(p(50.0003,390,19.9998,90,0,-180),[-11.4755,60.3736,-40.6654,8.70025,41.1184,-106.547],[0,0,0])
r.MoveL(p(50.0003,123.5,19.9998,90,0,-180),[7.14464,58.6128,-37.3499,-5.6628,39.0672,-79.4022],[0,0,0])
r.MoveL(p(223.62,123.5,19.9997,90,0,-180),[8.74636,45.811,-0.653364,-16.2834,15.7334,-66.7068],[0,0,0])
r.MoveL(p(218.5,132.968,19.9997,90,0,-180),[7.89108,45.9003,-1.24513,-14.3691,16.0579,-69.3249],[0,0,0])
r.MoveL(p(210.282,151.385,19.9997,90,0,-180),[6.26386,46.0481,-2.19633,-11.0178,16.5859,-74.0001],[0,0,0])
r.MoveL(p(203.927,170.526,19.9997,90,0,-180),[4.61117,46.1661,-2.93294,-7.90256,16.9995,-78.4431],[0,0,0])
r.MoveL(p(199.498,190.202,19.9997,90,0,-180),[2.93997,46.25,-3.44671,-4.94997,17.29,-82.726],[0,0,0])
r.MoveL(p(197.038,210.219,19.9997,90,0,-180),[1.2571,46.297,-3.73174,-2.09617,17.4516,-86.9115],[0,0,0])
r.MoveL(p(196.572,230.382,19.9997,90,0,-180),[-0.430672,46.3054,-3.7847,0.716859,17.4812,-91.0567],[0,0,0])
r.MoveL(p(198.103,250.491,19.9997,90,0,-180),[-2.11664,46.2749,-3.60497,3.5448,17.3782,-95.2167],[0,0,0])
r.MoveL(p(201.618,270.351,19.9997,90,0,-180),[-3.79407,46.2065,-3.19466,6.44421,17.1446,-99.4471],[0,0,0])
r.MoveL(p(207.081,289.765,19.9997,90,0,-180),[-5.45616,46.1026,-2.55852,9.47583,16.7849,-103.808],[0,0,0])
r.MoveL(p(214.439,308.543,19.9997,90,0,-180),[-7.09602,45.9668,-1.70376,12.7083,16.3063,-108.366],[0,0,0])
r.MoveL(p(223.62,326.5,19.9997,90,0,-180),[-8.70657,45.8039,-0.639822,16.2224,15.7193,-113.201],[0,0,0])
r.MoveL(p(113.5,326.5,19.9998,90,0,-180),[-7.623,52.4216,-21.4544,7.74653,29.477,-103.365],[0,0,0])
r.MoveL(p(113.5,187,19.9998,90,0,-180),[2.89289,51.6815,-20.0723,-3.03578,28.4561,-84.8246],[0,0,0])
r.MoveL(p(159.484,187,19.9997,90,0,-180),[3.05331,48.4819,-10.749,-4.01581,22.3518,-83.6402],[0,0,0])
r.MoveL(p(158.527,193.651,19.9998,90,0,-180),[2.52004,48.5046,-10.8631,-3.30504,22.4161,-84.7614],[0,0,0])
r.MoveL(p(156.68,215.636,19.9998,90,0,-180),[0.764641,48.5481,-11.0828,-0.997392,22.54,-88.4166],[0,0,0])
r.MoveL(p(156.832,237.698,19.9998,90,0,-180),[-0.992896,48.5436,-11.0632,1.29577,22.5284,-92.0568],[0,0,0])
r.MoveL(p(158.979,259.655,19.9997,90,0,-180),[-2.74751,48.4913,-10.8044,3.60881,22.3816,-95.7175],[0,0,0])
r.setSpeed(100.000)
r.MoveL(p(161.412,284.537,44.9997,90,0,-180),[-4.82427,45.6035,-8.50009,6.15173,23.1037,-99.8421],[0,0,0])
print('Done instruction: 50')
sys.stdout.flush()
r.MoveL(p(161.412,284.537,94.9997,90,0,-180),[-5.00137,39.905,-4.72625,5.91286,25.0328,-99.6949],[0,0,0])
r.ProgFinish(r"""Curve""")
r.ProgStart(r"""Pause""")
r.Pause(4000.0)
r.ProgFinish(r"""Pause""")
r.ProgSave(r"""C:/Users/Administrator/Documents/RoboDK/Programs/""",r"""Curve""",False,r"""C:/RoboDK/Other/VSCodium/VSCodium.exe""")
