# Possible to retrieve feature?

**URL:** <https://forum.universal-robots.com/t/possible-to-retrieve-feature/1182>\
**Category:** URCaps SDK\
**Created:** [September 18, 2017, 11:54am UTC](https://forum.universal-robots.com/t/possible-to-retrieve-feature/1182 "2017-09-18T11:54:09Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon58840761](https://avatars.discourse-cdn.com/v4/letter/a/e9c0ed/32.png) [@anon58840761](https://forum.universal-robots.com/u/anon58840761)\
**Post date:** [September 18, 2017, 11:54am UTC](https://forum.universal-robots.com/t/possible-to-retrieve-feature/1182/1 "2017-09-18T11:54:09Z")

</div>

![ursim [Running] - Oracle VM VirtualBox_005](https://us1.discourse-cdn.com/flex020/uploads/universal_robots/original/1X/a77bc8aa186ef5973f7d33deed4833a013453cf7.png)

and is it possible to know which .installation file is currently loaded?,  
I need the features so that I can choose which feature my vision system shall use,  
I really appreciate any help you can provide.

---

<div class="post-metadata">

**Author:** ![jbm](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/jbm/32/614_2.png) [@jbm](https://forum.universal-robots.com/u/jbm)\
**Post date:** [September 18, 2017, 12:26pm UTC](https://forum.universal-robots.com/t/possible-to-retrieve-feature/1182/2 "2017-09-18T12:26:24Z")

</div>

You can read the Features from the Installation using the API calls to this.  
Check out the Whip sample, that loads the features for the user to select a feature from the list.

---

<div class="post-metadata">

**Author:** ![anon58840761](https://avatars.discourse-cdn.com/v4/letter/a/e9c0ed/32.png) [@anon58840761](https://forum.universal-robots.com/u/anon58840761)\
**Post date:** [September 20, 2017, 12:02pm UTC](https://forum.universal-robots.com/t/possible-to-retrieve-feature/1182/3 "2017-09-20T12:02:39Z")

</div>

Is it also possible lets say I have defined a plane named Plane\_1 , and having a move using the plane  
can I then modify Plane\_1 using a program node,  
so that next move behaves different with respect to the modified Plane\_1?  
like this:

 ![ursim [Running] - Oracle VM VirtualBox_006](https://us1.discourse-cdn.com/flex020/uploads/universal_robots/original/1X/5fa4ed352da34490930454eeb8a5e496ada706ac.png)

---

<div class="post-metadata">

**Author:** ![jbm](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/jbm/32/614_2.png) [@jbm](https://forum.universal-robots.com/u/jbm)\
**Post date:** [September 20, 2017, 1:27pm UTC](https://forum.universal-robots.com/t/possible-to-retrieve-feature/1182/4 "2017-09-20T13:27:32Z")

</div>

If the `Plane_1` is variable (i.e. named `Plane_1_var` as above), then it is added by the Features InstallationNode to the preamble of the program. You can read whether the plane is variable using the API call for this.  
It will be added as a variable like:

```auto
global Plane_1 = p[0.1,0.2,0.3,0,3.1415,0]

```

Hence, you can overwrite this in script - and the next motion would then behave differently.

Note:  
However note, that when the program is started over, the variable plane will be written back to the default value. Hence the Installation value of the plane does not change.

Bonus note:  
In the Expression editor, you can select the value of the original plane (e.g. `Plane_1`) from the Poses list, and the dynamic value of the program variable from the Variables list.

---

<div class="post-metadata">

**Author:** ![anon58840761](https://avatars.discourse-cdn.com/v4/letter/a/e9c0ed/32.png) [@anon58840761](https://forum.universal-robots.com/u/anon58840761)\
**Post date:** [September 20, 2017, 1:30pm UTC](https://forum.universal-robots.com/t/possible-to-retrieve-feature/1182/5 "2017-09-20T13:30:42Z")

</div>

Thanks this is what I wanted to hear!
