cancel
Showing results for 
Search instead for 
Did you mean: 

How to to identify smart points from other point features in the work part?

PLM World Member Creator PLM World Member Creator
PLM World Member Creator

Hi All,

 

I am using the following UFunc method to find the smart point object from the point collection.

 

Queries if an object is a smart object and is parameterized.

UF_SO Functions -> int UF_SO_is_so(const tag_t candidate, logical * is_so)

 

But the issue is that I'm getting value of 'TRUE' for all the points which exists in the part naviagator too. I have tried creating a new point Curve->Point->Inferred Point, still it's resulting as a smart point.

 

Is there any other method or work around to find only the smart points which doesn't exist in the part navigator and visibility set to invisible.

 

PS: Using NX11.0.2.7

3 REPLIES

Re: How to to identify smart points from other point features in the work part?

Phenom
Phenom

All of the point features (the points that show up in the part navigator) are smart points. To create a dumb point, start the point command and turn off the "associative" option before creating the point.

 

There may be invisible smart points in the part file that NX uses to maintain associativity between various objects. These smart points are managed by NX and are not exposed through the part's point collection.

Re: How to to identify smart points from other point features in the work part?

PLM World Member Creator PLM World Member Creator
PLM World Member Creator

Thanks for your reply.

Then all the points in NX are smart points when the associativity tag is 'ON'.

I would like to understand the use of the following API UF_SO_is_so(const tag_t candidate, logical * is_so).

As the above method returns true for all the objects, then how do we identify / differentiate the point visible / not visible smart points in NX.

 

 

 

 

Re: How to to identify smart points from other point features in the work part?

Phenom
Phenom

If you have created a smart point and used .SetVisiblility to make it visible, but it does not show in the graphics window, there are a number of things to check. The most common include it being offscreen or outisde the clipping planes, it has been hidden, or the layer it is on is invisible.

 

If it was a smart point and .SetVisible wasn't used to make it visible (or was used to set it as invisible), then it is going to be managed by NX. NX uses invisible smart points to create associations between other objects; if nothing references an invisible smart point, NX will delete it. Invisible smart points that are in use will not show up in the .Points collection, you will only have access to them by querying the smart parents of the associated object.