Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Moving from Creo - drive component from expression in assembly 1

Status
Not open for further replies.

tgallifet

Mechanical
Sep 20, 2006
7
The company will be migrating to NX from Creo.

We have several parameter-driven master/start parts and assemblies that make heavy use of Pro/Program. We have a separate application that generates text files. The files are read when regenerating the parts/assemblies, and the models automatically update/reconfigure.

We already found out that you can suppress features by expression, similar to Creo Pro/Program IF / END IF, which we use a lot.

One other function we often use in assemblies is to drive the assembled parts using parameters.
ADD PART (parameter_name)
It works like a charm if the part is assembled using its default coordinate system. When you use it within Windchill, it will automatically find the part and add it to your workspace.

Is there a similar function in NX? I tried to search for it but came up empty. It would be a major inconvenience if we had to manually replace every component and a new source of error due to manual input.

Thank you.
 
Replies continue below

Recommended for you

Can you explain what it is you want to accomplish, instead of what/how you do things in Creo ?
I have never tried Creo and i do not what or how things are done there.


Regards,
Tomas

The more you know about a subject, the more you know how little you know about that subject.
 
What is being accomplished in Creo is to have features and components added or removed based on the state/content/values of non-geometry variables.

The way PTC manages that is that the "model tree" has a simple text file, via a system called Program, associated with the part or assembly that provides an outline format, similar to an outline for writing a paper. This file mainly has "ADD" statements for each feature or component. It does not have any specific details or references so it cannot be used as a way to generate new features or components.

It can also have IF statements interspersed. Example:

IF ENGINE_TYPE = "FOUR CYLINDER"

ADD ...
ADD ...
ADD ...

ENDIF

so that if the variable "ENGINE_TYPE" had the text value "FOUR CYLINDER" the components between IF and ENDIF will be assembled into the assembly.

One can create a tabular description of possible assemblies and, if that table includes the "ENGINE_TYPE" variable then each configuration in that table can have an entry specifying the sort of engine that would correspond to the particular tabulated assembly.

It is possible, through that model tree related text file, for the next level up to push the value of "ENGINE_TYPE" down.

The method is stupid simple and, while it is still programming, because it is a one-pass (there are no loops) it is very easy to understand how the results will happen.

Since it can only work on features and components that were already successfully added, it is nearly bulletproof in terms of following the programmatic instructions.
 
Toost,

We have a generic master/start assembly with 12 patterns of generic placeholder components. We generate a text file with the desired components and read it into the assembly (INPUTS in Pro/Program). After the refresh, all the patterns are updated automatically. This works only with parts assembled coordinate system to coordinate system, using the default coordinate system of the components, but it works flawlessly.

We have a list of parameters (expression in NX):
component1 STRING
component2 STRING
...

In the Program, we have
ADD (component1)

If I were to manually replace the parts in each pattern, I would have to select the parts, right-click replace components, browse for the component, and confirm/reconfigure the assembly constraints, for each of the 12 patterns. This is significantly more time-consuming.

I hope this is clear enough.
 
This can probably be done with some programming in UGopen (or whatever has replaced GRIP).

"Wildfires are dangerous, hard to control, and economically catastrophic."

Ben Loosli
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor