Showing results for 
Search instead for 
Do you mean 
Solved! Go to solution

filter holes

[ Edited ]

Computer added try it again ;-)

I can filter for cylindrical faces , typ 16 but this includes bends.

I want filter only on hole type geometry 

may add to find holes same size, like in sc resize face.(->api?)

- there are no features only dump solids

any advice would be nice



Accepted by topic author uwenx
‎08-26-2015 04:32 AM

Re: filter holes

[ Edited ]

You're basically trying to write a feature recognition function, which is pretty difficult, in general. You know a lot more about your typical parts than I do, so first try to figure out what properties make something a "hole" in your view. This might include things like:

(1) Cylindrical face (or maybe conical one, too)

(2) Two loops of edges, one convex and one concave

(3) Each edge loop spans 360 degrees on the cylindrical face

(4) No smooth edges


Once you've figured out what properties define holes, you can try to write NX/Open code to detect these properties. For the four properties mentioned above, the code might involve things like

(1) UF_MODL_AskFaceData to get the face type

(2) UF_MODL_AskFaceEdges plus some logic to find loops

(3) UF_MODL_AskFaceUvMinmax to check the 360 degree condition

(4) UF_MODL_AskEdgeSmoothness


Re: filter holes

I have an application in which a dieset assembly has fastener components which have bodies for the appropriate holes to be created in the die blocks.  These holes are created using the linked bodies.  In some cases I needed to add symbolic threads for which I needed to get the correct cylinder face.  It appears to me that this is a similar situation where after I obtained the cylinder faces in a block, I would get the cylinder edges and test the cylinder edge for both the radius and the centre point  to be sure I had the correct face.  This does mean that you need to know the radius and the centre point.  In my case these where known because of the fastener feature.


Hope this is of some help.


Frank Swinkels




Re: filter holes

IIRC (I just tested this manually in NX7.5)

In regular subtracts (and I think UDFs)...

If you attribute a face on the "tool" solid, then use it for the subtract, the face attributes of the tool faces get mapped onto the target faces that get created during the subtract.



So if you attribute the faces (and I assume edges) properly in your fastener components, you can query faces by attribute and not have to do any fancy geometry/topology stuff...(unless you need to check for cases where the fastener body is only a partial intersection of the dieset solid)


Note you can have multiple attributes, so (depending on fastener component architecture) you can pass all kinds of info (thread size, depth, ...)


Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP5 + patch/TC11.2
I'd rather be e-steemed than e-diseaseled

Re: filter holes

Sorry, I was reading Frank's reply - my suggestion would work for him, but not for the dumb solids of the OP

Ken "more confused than normal this morning" Akerboom

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP5 + patch/TC11.2
I'd rather be e-steemed than e-diseaseled

Re: filter holes

thank you to all repliers,
I thought there is an easier way to go