Saturday, May 8, 2010

Relations in Pro/Engineer

Relations are a very powerful part of Pro/ENGINEER and should be well understood for several reasons:

1. Relations leverage the parametric capability of the system to allow you to greatly simplify the process of making dimensional changes.

For example, without relations, you may have to Edit several dimensional values to alter a part properly. With relations defined, you allow other users to alter only one dimension or relation value while driving many other dimensions.

Relations also can be created to solve simultaneous equations iteratively.

2. Relations can be used to document and maintain your design intent. Relations tell other users why your design works the way it does; and you can maintain critical design relationships.

For example, the easiest way to tell others that the wall thickness is a function of the diameter is to create a relation that drives the model to behave that way.

3. Logical functions can greatly enhance your design intent.

For example, you can automatically define the quantity of holes or cuts based on the size of the part using IF-THEN-ELSE statements.

4. Assembly Relations minimize the parent/child problems of relating different parts of an assembly to each other.

For example, consider the case of creating matching mounting hole patterns on two different parts of an assembly. Rather than creating Coaxial holes, or Use Edge cuts, on the second part, Unalign all your Use Edge cuts, and create assembly relations to drive the 2nd part's hole dimensions to be the same as the 1st part's hole dimensions.

Important procedures:

Define dimension symbols - This is one of the most important steps to self-documenting relations that make sense. Many users do not properly name dimensions and find out later on that their own design confuses them.

Comment your relations - Since you are documenting your design intent for yourself and others, you want to make sure that the relations file contains detailed descriptions of what each relation accomplishes. Comments are placed in the relations file by starting the line with a slash and an asterisk (/*).

Sort your relations - If your relations are not in a logical order, you will be prompted to Regenerate multiple times.

Know that by default, relations are computed before the part features are regenerated. Pro/ENGINEER will first look at the current values of all your feature dimensions, then plug them into the Part relations and get the resulting values; then the features are regenerated based on those results. If a Section or Feature relation drives one of those original dimensions to a different value, you will be prompted to Regenerate Again (possibly an infinite loop of regenerations).

You must also know that there are distinct differences between Part, Assembly, Section, and Feature relations.

Part relations rely only upon the regeneration of a single part to take effect.

Assembly relations rely upon the regeneration of many parts and/or subassemblies. A good use would be for as assembled part sizes: Springs, Shims, Seals. They are also good for matching mounting holes and features between different parts.

Assembly relations are also dependent upon the completeness of the assembly to succeed. For example, an assembly relation relies upon the component number of a part to be valid (e.g. d22:6). If the component with that number is removed from the assembly, the relation will fail leaving your existing part's dimension unchanged but manually modifiable.

When relations are used in an assembly, Assembly relations are computed before the assembly is regenerated and before the part relations are computed. This means that Assembly relations, assembly features, and mating conditions are resolved before part relations are computed. Some complex assemblies may require two regenerations to fully update.

Section relations are used to relate and drive the dimensions of sketched elements within a single 2D sketch, such as a variable section sweep. These relations only affect section dimensions and get evaluated at the time of the feature's regeneration.

Feature relations are very similar to Section relations except they can also drive the 3D dimension values, such as the Depth of a cut. These also get evaluated at the time of the feature's regeneration.

The Analysis Datum is a feature that gets evaluated at its place in time according to feature order. It can then be used in a Feature relation by referring to the Analysis Datum's Feature ID or fid.

There are two ways to specify which editor you want to use when writing relations. Both are controlled by config.pro options. If new_relations_ui is set to no, then the option relation_file_editor controls which editor to use. This option can be set to protab or editor. The protab option causes the Pro/TABLE editor to be used, and the editor option causes the default system editor to be used.

If new_relations_ui is set to yes, the relations editor shown below is used. In this case, it does not matter what the relation_file_editor option is set to, The system ignores it.

Figure 1

No comments:

Post a Comment