Hi everyone,
I’m currently working with PolyScope X and I’m struggling with something that feels very basic, so I wanted to ask here before giving up completely.
I’m trying to execute an existing .urpx program as a subprogram (i.e. call it from another program).
However, so far I have not been able to find any way to do this:
-
not in the PolyScope X manual
-
not by clicking through the UI and trying things
-
and not even with AI assistance so far
So my questions are:
-
Is it explicitly not possible in PolyScope X to call a .urpx program as a subprogram?
-
If it is possible: how is this supposed to work exactly?
-
Is there any official statement or announcement that this functionality is missing / removed in PolyScope X?
-
If so, is it known whether this is planned to be added later?
If calling a .urpx as a subprogram is indeed not supported, I’d also like to ask:
- What is the recommended workaround in PolyScope X?
It’s important for me to keep the effort minimal:
I already have the process logic fully implemented in an existing .urpx program, and I would really like to avoid rewriting everything from scratch (e.g. converting the whole flow into functions or scripts) if possible.
Thanks a lot in advance for any clarification or pointers!
First, so far I have not found any feature in PolyScope that allows a created program to be called as a subprogram.
Second, a PolyScope 5 program (.urp) cannot be used in PolyScope X (.urpx). Please see the link below for more details.
Convert URP to URPX? - Technical Questions / URScript - Universal Robots Forum
Thanks for your fast response.
Ah yes, I know there is no backwards compatibility. Actually I was not referencing to a Polyscope 5 Program but to a Polyscope X one, that was created on the same robot, just forgot that they are now called urpx instead of urp. I will edit my post to avoid the confusion.
Hi. Another way is to use urscript.
- Export the program you want to use as a subprogram.
- Access ChatGPT, import the .urpx file and use the following prompt:
“This is a .urpx file in JSON format.
program is a root-level key (same level as application).
Extract only the value at the following path:
program → urscript → script.
Do not extract any other urscript entries in the JSON.
Return only the content of the script field.
Format it as valid URScript, and replace all occurrences of the character $ with //.”
- Copy the content and paste it into the script command in the main program.
I don’t have a dog in this fight, since I’m not using Polyscope X, but it CAN’T be that complex to use a subprogram. Reading stuff like this is exactly why I don’t use X yet. If it’s lacking this kind of base functionality, it’s not consumer-ready,
1 Like
Hi, that sounds very interesting, I might try that one day!
for my case now I already changed everything to be in one script. It was already mainly in differnt script files, there was just a little variable assignment and logic in the urpx part.
yes I got the same impression… we also needed to “hack around” to get the gripper running:
Automatically Scan for a Robotiq Gripper in Polyscope X
1 Like