# Getting Component List

**URL:** <https://forum.techsoft3d.com/t/getting-component-list/923>\
**Category:** HOOPS Visualize Desktop\
**Created:** [July 29, 2022, 8:42am UTC](https://forum.techsoft3d.com/t/getting-component-list/923 "2022-07-29T08:42:41Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![STEFAN.BECKER](https://avatars.discourse-cdn.com/v4/letter/s/a8b319/32.png) [@STEFAN.BECKER](https://forum.techsoft3d.com/u/STEFAN.BECKER)\
**Post date:** [July 29, 2022, 8:42am UTC](https://forum.techsoft3d.com/t/getting-component-list/923/1 "2022-07-29T08:42:41Z")

</div>

We have an technical Application showing a Partlist as Tree from a Customers Order. For all Parts you can open a HSF File via DoubleClick.  
In the CAD-Model from the Part you can mark a Component, so that the Component-Part-Nr. in the Tree under the Mainpart is highlighted. Or in other direction mark a Part in the Partlst and the Component in the CAD-Model is highlighted.  
For the Relation Partlist \<=\> Model-Components we are building a Segment Map from a HSF-File from SolidWorks. We are using the Meta Data showing in the Segmentbrowser (Hoops WPF Sandbox 22.0.0.0 with a File from SolidWorks 2017):

We are using the Tags Configname, Path, Refname. Access Path see Screenshot. So we get the needed Information for Relation between Part-Nr. and Segments.

But no we have a Problem with newer HSF Files created with Solid Works 2022:

The Tags Configname, Path and Refname are now missed, so that we could not build the Segment Map in the same Way.

In an eModel Viewer we saw, that the Information must be anywehere:

Can you please show us a way to extract the Information from the HSF-File, so that our Appication is working correct again?  
At the moment our Application is build with .Net 2 and uses Hoops 19.4.0.

Same Text with Picures / see Appendix

[ESM.zip](https://forum.techsoft3d.com/uploads/short-url/AqNa5vznYY0c7TE80mXKHwKs7kJ.zip) (238.6 KB)

---

<div class="post-metadata">

**Author:** ![rtadlock](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/rtadlock/32/14_2.png) [@rtadlock](https://forum.techsoft3d.com/u/rtadlock)\
**Post date:** [July 29, 2022, 4:52pm UTC](https://forum.techsoft3d.com/t/getting-component-list/923/2 "2022-07-29T16:52:14Z")

</div>

Hi Stefan,

Can you please provide the HSF file referenced in the ESM.pdf. Ideally you could give us the file in a version that works in your application (pre-eDrawings 2022) and one that does not (post-eDrawings 2022 with breaking changes).

Thanks,

Rob

---

<div class="post-metadata">

**Author:** ![STEFAN.BECKER](https://avatars.discourse-cdn.com/v4/letter/s/a8b319/32.png) [@STEFAN.BECKER](https://forum.techsoft3d.com/u/STEFAN.BECKER)\
**Post date:** [August 1, 2022, 6:16am UTC](https://forum.techsoft3d.com/t/getting-component-list/923/3 "2022-08-01T06:16:55Z")

</div>

Hello Rob,

thank you for your anser.

here are the two Files:

File from Solid Work 2017, working: sw2017\_eModel\_11176491\_Befestigungselement~00.hsf

File from Solid Work 2022, not working: sw2022\_eModel\_11176491\_Befestigungselement~00.hsf

[HSF\_Files.zip](https://forum.techsoft3d.com/uploads/short-url/io5XZBW6ErqurBx9IwSbYxsn3I.zip) (20.5 KB)

---

<div class="post-metadata">

**Author:** ![guido](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/guido/32/115_2.png) [@guido](https://forum.techsoft3d.com/u/guido)\
**Post date:** [August 1, 2022, 3:33pm UTC](https://forum.techsoft3d.com/t/getting-component-list/923/4 "2022-08-01T15:33:20Z")

</div>

Hi Stefan,

we are not really in control of the edrawings format but from a cursory look it seems that the data you are looking for is now encoded as user options. (see screenshot). Does that make sense?

Guido

 ![image](https://us1.discourse-cdn.com/flex020/uploads/techsoft3d/original/1X/7a55df333a7055195b4c7e49ac36f11ca92432e0.png)

---

<div class="post-metadata">

**Author:** ![rtadlock](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/rtadlock/32/14_2.png) [@rtadlock](https://forum.techsoft3d.com/u/rtadlock)\
**Post date:** [August 1, 2022, 5:37pm UTC](https://forum.techsoft3d.com/t/getting-component-list/923/5 "2022-08-01T17:37:34Z")

</div>

Hi Stefan,

You should be able retrieve the user data using the following API:

[https://docs.techsoft3d.com/hps/latest/build/api\_ref/cpp/class\_h\_p\_s\_1\_1\_segment\_key.html#a31701ae51eadf9a955f6b0010038bae2](https://docs.techsoft3d.com/hps/latest/build/api_ref/cpp/class_h_p_s_1_1_segment_key.html#a31701ae51eadf9a955f6b0010038bae2)

You’ll see a quick example at the bottom of this page:

[https://docs.techsoft3d.com/hps/latest/build/prog\_guide/0101\_database.html#attributes](https://docs.techsoft3d.com/hps/latest/build/prog_guide/0101_database.html#attributes)

Rob

---

<div class="post-metadata">

**Author:** ![STEFAN.BECKER](https://avatars.discourse-cdn.com/v4/letter/s/a8b319/32.png) [@STEFAN.BECKER](https://forum.techsoft3d.com/u/STEFAN.BECKER)\
**Post date:** [August 2, 2022, 9:39am UTC](https://forum.techsoft3d.com/t/getting-component-list/923/6 "2022-08-02T09:39:56Z")

</div>

Thanks for your hints. We will check this.

We looked at the right place, bute the sgment browser downloaded with hoops runtime does not show this.

---

<div class="post-metadata">

**Author:** ![guido](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/guido/32/115_2.png) [@guido](https://forum.techsoft3d.com/u/guido)\
**Post date:** [August 2, 2022, 12:05pm UTC](https://forum.techsoft3d.com/t/getting-component-list/923/7 "2022-08-02T12:05:58Z")

</div>

Yes. Its a bit of a shortcoming that our current viewers don’t actually show the value of the user data. The screenshot was taken with our old 3DF based Partviewer.

---

<div class="post-metadata">

**Author:** ![rtadlock](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.techsoft3d.com/rtadlock/32/14_2.png) [@rtadlock](https://forum.techsoft3d.com/u/rtadlock)\
**Post date:** [August 2, 2022, 2:16pm UTC](https://forum.techsoft3d.com/t/getting-component-list/923/8 "2022-08-02T14:16:53Z")

</div>

Hi Stefan,

I created a feature request on your behalf to add the ability to read the user data/options in the HDV. Hopefully with the above information, you can adjust your code to account for the change in the HSF output from eDrawings and in the future, hopefully the HDV can be used to inspect any changes.

---

<div class="post-metadata">

**Author:** ![STEFAN.BECKER](https://avatars.discourse-cdn.com/v4/letter/s/a8b319/32.png) [@STEFAN.BECKER](https://forum.techsoft3d.com/u/STEFAN.BECKER)\
**Post date:** [August 3, 2022, 7:51am UTC](https://forum.techsoft3d.com/t/getting-component-list/923/9 "2022-08-03T07:51:44Z")

</div>

Thanks at all,

yes, i think this is a solution.

With

```
     int laengeUserOptions;
      HCS.Show_User_Options_Length(out laengeUserOptions);
      StringBuilder textUserOptions = new StringBuilder(laengeUserOptions + 1);
      HCS.Show_User_Options(textUserOptions);

```

we get the UserOptions.

---

<div class="post-metadata">

**Author:** ![STEFAN.BECKER](https://avatars.discourse-cdn.com/v4/letter/s/a8b319/32.png) [@STEFAN.BECKER](https://forum.techsoft3d.com/u/STEFAN.BECKER)\
**Post date:** [August 29, 2022, 6:49am UTC](https://forum.techsoft3d.com/t/getting-component-list/923/10 "2022-08-29T06:49:21Z")

</div>

Hello,

is it possible to get a demo version from the 3D Viewer which show the “USER OPTIONS” Tag? Would be nice for us to have it for testing our changes.

Thanks!

---

<div class="post-metadata">

**Author:** ![STEFAN.BECKER](https://avatars.discourse-cdn.com/v4/letter/s/a8b319/32.png) [@STEFAN.BECKER](https://forum.techsoft3d.com/u/STEFAN.BECKER)\
**Post date:** [August 29, 2022, 8:33am UTC](https://forum.techsoft3d.com/t/getting-component-list/923/11 "2022-08-29T08:33:29Z")

</div>

Found a version in our licensed hoops version. The trick is here, that for some parts there a two Options (“USER OPTIONS” and “UNICODE OPTIONS”).
