cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

Referencing dimensions from different parts

ptc-4328546
1-Newbie

Referencing dimensions from different parts

I know it must be possible to reference a diameter of a piston (for example) in one part, in another part the piston bore (for example) so that if I change the diameter of the piston, the diameter of the bore will change in the other part. I cant find the video or relevant tutorial for this, could someone either tell me how it is done, or show me the relevant tutorial? Im using Creo 1.0 Parametric

Thanks,


This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.
8 REPLIES 8

This is simple. It is the top-down design method.

Build a cylinder and a piston; assemble them; then you build a relation in the assembly to use the diameter of one to drive the other.

Of course there are a few more steps, but this is the jest of it.

Does that mean that I need to relate the dimensions after I have made the parts and assembled them? If so, will it automatically change the dimensions in the cylinder if they are not the same as the piston to start with?

Here is how I do it:

I create both parts. For the dimensions that need to be controlled from the assembly (for example the diameter in your case that need to be equal), I use a parameter.

In both parts I would make a parameter (eg. DIAMETER)

Use this parameter to buid up your part.

Place both parts in an assembly.

Create a new parameter in the assemble (you can use the same name)

Then go to the relations and create 2 relations. The first one copies the diameter value to the cylinder, the second one will copy the diameter to the piston.

From now on, both diameters are related to eachother.

You can add mathematical operators in the relations to make the diameters different, but still related.

I created a little example:

http://dl.dropbox.com/u/65770095/example.zip

Yes.

Will Coley wrote:

Does that mean that I need to relate the dimensions after I have made the parts and assembled them? If so, will it automatically change the dimensions in the cylinder if they are not the same as the piston to start with?

What happens is that when you open the cylinder part (for instance) the software will look at the assembly to confirm the size. In essence, the software will load the assembly to evaluate the part.

What also works is to activate the part in the assembly and edit the dimension and clicking on the mating part's dimension. This will build the relation automatically.

You can create a new part in the assembly itself. You can activate the new part in the assembly and edit it pretty much like it was in part mode, but now you can create sketches with references from other parts. This builds the dependent relation automatically. This is what is known as Top-Down design.

Hi Will,

this can be acheived a number of ways depending upon what functionality you have within your Creo license. The easiest way i guess, would be to control the diameters by relation. Make an assembly of the 2 parts & create a relation that will control the bore diameter. It might look something like d12=d16+0.2, where d12 is your bore diameter & d16 is the shaft diameter, 0.2 is the clearance you may require. I'm not sure whether you know how to create the relations, for now i will assume you do.

Regards

John

Depends, if you want to start from the beginning as a top-down assemblt, you should use an inheritance master model, or a skeleton model, or use the assembly itself (layout curves, surfaces, etc.) to drive the models.

There is an issue using assembly relations where if, say, the piston drives the relation, and you open the piston only, make a change, and do not have the assembly open, the bore will not change, or vice versa. I find it's best to have the controlling geometry in the assembly, that way, to change the models, you HAVE to open the assembly, thus making sure both parts regenerate to the new value(s).

Good point, Frank.

True, there is normally a "master geometry file" associated with top-down modeling techniques. This helps to make the sure you don't reference things willy-nilly throughout the assembly where you could easily loose track of associativity.

But a geometric skeleton is not necessarily required. You could drive many dimensions by simply creating the relations in the top level assembly (or even sub-levels). Then you would drive the part dimensions from the assembly level relation. In this case a relation of say "BASIC_BORE" and "BASIC_STROKE" could represent the "displacement" class. Using these two -assembly- variables could drive the cylinder's and the piston's specific dimensions through a simple equation or even a more complex part relation where conditions can be applied.

This is not exactly how most people think of CAD but it is indeed very powerful and used to manage very complex designs in multi-discipline environments where groups of people work on the same project simultaneously.

Patriot_1776
22-Sapphire II
(To:TomD.inPDX)

Yeah, the assembly relation thing is a trap for the unwary, for sure.

True. The nice thing about setting things up in parameters is that the content of the parameter is available in ALL types of relations, including sketcher relations. I tend to use geometry because for me, it gives me a better picture of what's going on, but I also use parameters for a lot of stuff. You can also link string parameters together to get what you need, i.e.:

PART_NUMBER = DRAWING_NUMBER + DASH_NO

NOMENCLATURE = DESCRIPTION1 + SPACE + SIZE

MATERIAL = ASMSPEC1 + SPACE + ASMSPEC2

(The space parameter being just a space character, and I've used a "COMMA" parameter as well)

Yep, this kind of stuff is part of the power of Pro/E.

Top Tags