AskFace-Function

Hello,

I try to recognize geometrical shapes and i want to know if it is a hollow structure or not.
Is there a possibility to find out wether a surface has got a hole? For Example a torus.

Thanks for your help.

There are a number of functions that will return information for faces, such as the type of face, curvature, number of edges, etc. Searching in the reference documentation for UF_MODL_ask_face* will return many such functions. However, these functions may not give you all the information that you need.

If you are using C/C++, there are the UF_BREP* functions that you can use to query the geometry. Some of these functions return data structures that do not translate well to managed languages (such as the .net languages), so for full functionality you will need to use a C/C++ language.

If you have a SNAP license and are using NX 10, there are some new topology objects for use in querying object geometry. I have not looked into these yet to see what exactly is covered, but if you are using a .net language, this may be the best option.

Thanks for the help. I'm using Snap and NX 9. I found some functions.
But i have another question. I created an infinite line with this command: "....CreateInfiniteLine(Point1, Point2)"
Is it possible to show this infinite line and the part togehter in NX9?

I don't currently have access to a SNAP license, so I went looking in NXOpen for the infinite line class. I soon found the CreateInfiniteLine method, but this requires a "DraftingPlus" license which, unfortunately, I do not have.

When using NXOpen, sometimes you must use the .SetVisibility method of the object just created (such is the case when creating point objects). Try using the .SetVisibility method after creating your infinite line. If that doesn't work, I'd suggest posting your question in the GTAC community forum:
http://community.plm.automation.siemens.com/t5/NX-Customization-and-Prog...
where someone with the proper licenses may be willing to help out.

Thank you for the help and the tip with the GTAC community.

In NX10, you can get the "loops" of a face with the face.Loops property. A loop is just a connected string of edges. Then, for each loop, you can get its Snap.Toplogy.LoopType. If you find any loops with type "Inner", then your face has holes in it. The NX10 SNAP Reference Manual has example code.

Thank you for the hint. Unfortunately I'm using NX9 so i think i can't use the loop property. But i found a way to create this property by myself. :)