Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Advanced Weight Management: Is is possible to use OpenNX to set and querry asserted mass properties?

Status
Not open for further replies.

Steven_Roussos

Computer
Dec 3, 2018
3
In thread cowski and others mention using
ufs.weight.EstabPartProps1(c.tag,0.99,1,units,weight,wexpect)
ufs.weight.askprops(c.tag,units,weight)

to set (?) and query weight, the implication I think was that you could write an OpenNX program to do so.

I am working in C++ and we need to replicate the Weight Management UI as best we can to use the customer's developed algorithms and ensure that the process fulfills their process (using assertions and possibly TeamCenter properties for parts that are not exactly fully designed.

Is it possible to do that? Query and Set Asserted properties (the full set, moments of interia, et al, not just weight) using OpenNX?

GTAC said that if the Assert Weight command does not put anything into a Journal THEY had no way of telling me where the values go and how to set/query them programmatically, and were unwilling to ask the development staff to help me which seems a little ridiculous. But it seems there must me SOME way to access that information via Open NX.

Any ideas?

Thanks.
Steven Roussos (DXC Technologies for Pratt&witney
 
Replies continue below

Recommended for you

I've never used the functions to assert component/part properties, but it appears that you can do so. If a VB example would help you, I can try to work something up later this week. I'll have to make sure I can get access to our single advanced assemblies license...

I have contacted GTAC in the past for help with functions that were not well documented. I'd suggest 2 things when contacting GTAC for help:
[ol 1]
[li]Make sure your question is marked as an API/programming question and not a general modeling question. GTAC has (had?) a group dedicated to the API with some very knowledgeable people. If the question gets to them, I'm pretty sure they can help.[/li]
[li]Work up a small code sample to send with your question. Sometimes it's easier to help people if you can see what they've tried and where they are having trouble.[/li]
[/ol]

www.nxjournaling.com
 
Thanks cowski. A VB example would be very helpful. I did find functions that allow it, but an example would be most helpful. I see

and analogues for part solids and assemblies.

For querying there seems to be both UF_WEIGHT_ask_props and UF_WEIGHT_estab_comp_props. The 1st used to query them for solids(bodies), parts, and components, if cached values exist, but not calculate them, and the 2nd (+ its part and solid(body) analogues) used to cause them to be computed from the model.

But I am a little hazy on how to determine when to use ask and when to use establish when I am walking up an assy product structure tree and computing/summing them. I don't want to force a part load and computation if not necessary.

Also, what about instance specific geometry modifications (holes punched/drilled, and the live geometry shaping you can do on anything (what is that called again?). These docs don't say if given the tag of a component if it includes those unique local mods. One would presume it should but......

Also I am unsure on when I would use UF_WEIGHT_estab_solid_props vs. UF_WEIGHT_estab_part_props when the model in question is a part. I guess, I'd only use SOLID if a body were selected going into our new Advanced Weight Management, but in that case the Assert part of the dialogue would be greyed out, as assertion only seems to be possible for Parts and Components.

It's also unclear when in an Assy context if the user was intending to query/assert them for the underlying part and not the component (with its concomitant instance orientation and instance-specific geometry mods that would affect the properties in global coordinates. I guess that is a UI issue, but I'm not sure how AWM itself determines that. I guess if the active model is an assy they assume you always want them for the Component.

More issues:

1. when Asserting for a component, are the values assumed to be pre-transformed to be for the part AS A COMPONENT in the Assembly space? Or are they to be provided in the space of the original part, and then subsequent ASK calls can transform them appropriately for different Instance orientation configurations?

2. ORRRR..... do you still provide them in "As Instanced" space, and in the case of configuration changes, NX back-transforms them to part space, the re-transform them to Assy space.

3. Or do assertions on Components only apply to the configuration that is active when asserted??? And for a different configuration NX would tell you there is no assertion?

4. Or, are assertions purely in Assembly space, and you only ever get the same answer back out exactly as input, fossilized, even if the current configuration is different than when the assertion is made? THAT WOULD BE BAD. VERY VERY BAD.

The API doc leaves ALL of these details out!!
 
Yeahh - it can be done....
Assert a partweight using NX open...
I use it in a special application, where I am defining some center of gravity feature .,,,
I can provide a code snippet / if needed .,.??
Lklo
 
Sure, code fragments appreciated. THANK YOU! Any insight into the questions in thread post just above yours/
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor