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

Community Tip - Did you get an answer that solved your problem? Please mark it as an Accepted Solution so others with the same problem can find the answer easily. X

Another question on layouts

John.Pryal
14-Alexandrite

Another question on layouts

Hi all,

as i have already mentioned before, i am new to the world of layouts & have run into a problem. I have created some parameters within my layout & declared the layout to a part containing a family table, (the generic & one instance). The problem, i want one of the parameters to be a slightly different value on the generic to the instance (0 & 0.2mm), so i try to add the parameter to the family table content, first problem, when i select parameter, none of the parameters are visible, i have to add it to the table by selecting 'other' & giving the symbolic name of the parameter (i have called it A1). The weird thing is all my parameters are visible when i click Tools, Parameters. Anyway, having added the parameter to the family table, i now have a simple relation B1=B2+A1

but i get an error message each time telling me that the 0.2mm value is invalid & resetting value back to 0. Hopefully, this might make sense to someone out there.

Regards

John


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.
7 REPLIES 7

John,

Remember that discussion we had last month about parameters and family tables? I would suggest taking the same approach here. In other words, put a "baseline" parameter in your layout, then use relations relative to that for your family table variants.

David

John.Pryal
14-Alexandrite
(To:DavidButz)

Hi David,

yes that approach worked, i thought that was what i had done, but reading through your explanation, i realized i had not written the relation correctly. Thank you once again.

John

John.Pryal
14-Alexandrite
(To:John.Pryal)

My mistake, that approach did not work. It works if i create the variant parameter within the generic part, but does not if you create the variant in the layout. I think there might be a restriction on parameters being passed onto instances from layouts, the reason i say this is because, with my instance open, i tried declaring my layout to it & i got an error message "cannot declare items for an instance". If this is the case, that sucks, because i was hoping to keep all my parameters together in one place, ie in the layout. I'm sorry to be a pain, but any further advice (if indeed you have any) would be greatly appreciated.

Kind Regards

John

John,

You're not being a pain at all; that's what we're here for: to help each other out. You are right that this is not straightforward, but I think you can still do what you want with a little bit of "trickery". See if the following scheme will work for you. Let's say you want a parameter H to be variable in your family table, maybe also with d3=H. In the layout create parameters H0, H1, H2, H3, etc. for your instances. In the generic part, declared to the layout, create a parameter H, also a parameter INDEX with integer value 0. Add the parameter INDEX to your family table and give it successive values of 1, 2, 3, etc. for your instances. Now write the following relations:

IF INDEX==0

H=H0

ENDIF

IF INDEX==1

H=H1

ENDIF

IF INDEX==2

H=H2

ENDIF

d3=H

Good luck!

David

John.Pryal
14-Alexandrite
(To:DavidButz)

thank you once again for the reply, unfortunately, the powers that be have instructed me to stay away from complex relations, & what you describe is a little heavy. I am just going to stick with the first approach you gave me last month, it works perfectly well. Its a shame that my goal of keeping all parameters in one place, ie in my layout, has been achieved, but its just one out of around 30, so i guess i can live with that. I have another problem now, i can't understand why a parameter customer_name created within a layout & declared to all parts will not appear in my drawing format. If i open any of these parts & click, tools, parameters, i see it. If i create the same parameter within the part, it appears in my format no problem. I just want to be able to enter a value once & have it propagate throughout my parts & drawings.

Kind Regards

The problem here is that when you declare a model to a layout, the layout adds global parameters to the model. In a family table however, you can only use local (model specific) parameters. So you have to convert the global parameter to a local one through a relation in the generic model. Just add something like this:

local_layout_parameter = layout_parameter

But this has no use, this parameter has only one value and will therefore be similar to all instances.

The simple relation you added to the model, B1=B2+A will work but you have to add both values of B1 and B2 to the family table since both sets of parameters have different values between instances.

It is similar to volume and mass parameters, they will only show up differently between instances when the parameters are added to the family table.

Thank you for all your help Patrick, i have all but given up on this approach, but with this new information maybe i can have another go. I just don't understand why a parameter created in layout mode isn't truly global, all i want to do is create some parameters in a layout & have all my parts & drawing (& drawing formats) see these parameters, it seems like such a simple concept to me. I don't know, maybe i am missing something.

John

Announcements
NEW Creo+ Topics: Real-time Collaboration


Top Tags