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

Community Tip - You can change your system assigned username to something more personal in your community settings. X

PTC Tutorial on Createing Associated Peramiters: I need a bit of clarification

rleseberg
1-Newbie

PTC Tutorial on Createing Associated Peramiters: I need a bit of clarification

PTC Tutorial on Creating Associated Parameters: I need a bit of clarification

Here are the specific instructions from PTC Support on:

How to create an Assembly Level Relation that controls the variable parameter value defined under a flexible Component in Pro/ENGINEER, Creo Elements/Pro and Creo Parametric.

------------------------------------------------------------------

  1. Create a parameter, in the part model and name it asm_param.
  2. In the assembly select the component and Right Mouse Button > Make Flexible.
  3. Add the part parameter asm_param; click Set Displayed Columns in the Varied Items dialog. Add the Assoc. Param column and click Ok. Type asm_param as the Associated Parameter for the added parameter, and click Ok.
  4. Create an assembly parameter named param. Then create an assembly relation as follows:

              asm_param:FID_#=param

Where :

  • asm_param is the Associated Parameter
  • # is the feature id of the component

  param is the assembly level (driving) parameter

----------------------------------------------------------------------------------

Item1) and Item 2) are clear enough.


Item 3) is a bit nebulous to me.

What is to be done in the "New Values" column?

Item 4) is also a bit confusing.

The relation uses the FID, which id a Feature ID.

What do you write to actually drill down to the dimensions inside the feature?

If I have two dims to family table, I would assume that I would need to parameters, correct?

I would also think that I would need two relations, one for each dimension, again, correct?

Etc., etc., etc.

This step needs a lot of clarification for me to truly grasp it.

40 REPLIES 40
psobejko
12-Amethyst
(To:rleseberg)

I don't really want to open another can of worms , however I want to make sure that we are on the same page, because I am suspecting a possible misunderstanding.

I see no issues as far as your procedure working, but perhaps you are doing something that is unnecessary, because you mention that:

My base part contains no predefined flexibility.

It does, however, have two added parameters named Diameter and Length.

So, unless you are using these part-level parameters in some way that you didn't mention in your post, they are quite unnecessary as far as the family table example in your screenshots is concerned.  The key step is creating the associated parameters for the varied dimensions d0 and d1 (namely TABLED_LENGTH and TABLED_DIAMETER), which is what you've done.

You are correct.

Good Catch.

I saw that when I was going back through the process for the second assembly, in order to write up our department instructions.

I just selected the dimensions from the part, and didn't use those parameters at all.

That will not be part of my instructions.

Thank you for mentioning it, just the same, just in case I had blown past it.

Pre-defined flexibility is just a template for use in an assembly. It doesn't do anything in the part/component. It is there to cause the assembly module to prompt to create flexibility structures in the assembly model. It's only in the assembly that meaningful changes are managed.

This fact is a shame/problem as it allows users to do things they should not do; making variant parts that will look on the BOM like they aren't variants. The only thing, I believe, that stops them from doing a great deal of damage is users being lazy. I would prefer that flexibility be driven entirely by reference to the description in the part/component because it's only when editing the part/component that a user can properly describe all the effects allowed for the intended changes.

PS - nested family tables can be terrible things to manage. If you can, just flatten them to a single level. As much as I have gotten good use from family tables (and resist exploding them into piece parts) I have gotten heart burn diagnosing problems with nested ones. In this simple case it doesn't matter much, but the next thing someone makes one that has 80,000 fasteners in 12 levels of folders. Gaah!

I see now that predefined flexibility is more for when you want to use it to seat a part in an assembly, like a curved version of label onto varying diameter curved surfaces.

The only reason that we were doing it here is that we were unaware that we could use the "Make Flexible", feature in an assembly, without predefining it in the part.

I also see that Associated Parameters, when not used in a more straight forward fassion, and not in a family table, could allow you to have several copies of the same part in an assembly, each in a different configuration.

Complicated as Associated Parameters are to understand, they are very simple to use once you do understand them.

Thanks again Paul

--------------------------------------------

I agree completely, that Nested Tables could be a mess to manage.

We use them for simple delineations, like in this case, to separate the Fine and Coarse versions of very simple items.

We also use them for raw material plate and sheet, to separate different materials, again, of very simple items.

Thanks for sticking with this till now.

I am going to keep these instructions, and add them to my list of tutorials.

They are very specifically written.

---------------------------------------------------------------

OK, now that we are past the actual exercise of creating and using the associated parameter, I have a couple of comments, and/or questions:

1)   What I see is that the part_1.prt has no predefined flexibility.

The flexibility is only introduced at in the assy.asm.

I checked the part, and there Flexibility is "Not Defined".

2)   How would I apply this to my family tabled assemblies?

Could I do the following?

Bring in one, single, copy of the base part.

Create two associated parameters, one for DIAMETER, and one for LENGTH.

Somehow place these associated parameters into my family table to control them for all the instances.

I know that there is a lot more detail involved, but am on barking up the correct tree here?

Meanwhile, I am going to try to test this out.

psobejko
12-Amethyst
(To:rleseberg)

Yes, you've got it!  And you'll see that when you are building your family table, you can choose, when "adding columns", that you can choose to use the "Dimension" or "Parameter" (remember to look in components) item types.  In either case, it is the associated parameter will be what is inserted as the "variable".

I have a test part and assembly, and have followed your instructions (My new Associated Parameters Tutorial) and have been able to bring the associated parameters for Diameter and Length into my family table.

It is similar to before, but I suspect much more stable and robust in the end.

I will continue this test and keep you posted.

I do believe that the clouds have parted, and the sun has shown through.

Thanks again for hanging in there till now.

I believe that I understand mostly what is happening.

I may have a philosophical question or two, but I am on my way.

Again... sorry to jump in only once every 453 responses. I guess I'm debating whether to even post or just go find this Associated Parameters tutorial and figure it out myself.

I'm sure I've lost the plot here - but I performed these steps:

  1. I made a base cylinder with no flexibility - only having two dimensions. I named them "DIAMETER" and "LENGTH"
  2. I made an assembly and added the base cylinder to it.
  3. Once assembled, I right-clicked the base cylinder in the model tree and selected Make Flexible. I added the two dimensions.
  4. I created a family table, added several rows (instances), then picked the Add Column button.
  5. I clicked the base cylinder and added the two flexible dimensions to the table.

From here, I added some Included assembly items (rather than bulk items - because I hate them and they can die a slow horrible death for all I care). At this point, the family table seems to work properly and as I would expect.

I guess I don't see why we needed the Associated Parameters at all. Picking the dimensions in the Family Table tool seemed to do all the work for me without all the extraneous steps.

I suppose I should've just tried the tutorial. I'm sure there's a good reason.

Well, the rather subtle point is that you are using associated parameters, seemingly without realizing it.  The system has created them for you when you picked for your family table columns those "flexible" dimensions.

And I advocated against this approach because from my (admittedly not very extensive) testing, I learned that:

1) I didn't get to "name" the columns of the family table - they are named something like IN_D_1:FID_XXX"

2) if in the same assembly I added a 2nd flexible cylinder for which I wanted to specify its length and diameter for the family table instances, then this approach didn't work any more (Creo created the family table, but upon saving and verification, the family table columns disappeared...)

psobejko
12-Amethyst
(To:psobejko)

EDIT: scratch point #2, "auto-creating" the associated parameters seems to work (at least in Creo 3.0).  I still don't trust it

That is what I did originally but had those dimensions flexible in the part as well.

When I brought the dimension columns into the family table, the would verify, but then when I left and came back they would be gone.

On one assy, I tried several times and they finally stick.

On the second assy, I couldn't get them to stick at all.

I closed the part, shut down creo, and when I went back in, they studk the 1st time.

Seemed kind of unstable to me.

They are still like that, but I believe that I will change to the Associated parameters when I get some time.

Top Tags