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

Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X

Circular references and "Extrude to selected..."

cwilkes
7-Bedrock

Circular references and "Extrude to selected..."

(First off, I don't own the piping and cabling extension. This is pretty rare work for us, so it's isn't worth it to buy.)

One model, two questions:

1. Why are there circular references in this model? Initially, I created STRAIGHT_LTI_1, repeated it as needed, and replaced each "STRAIGHT" by copy. This created a circular reference for every STRAIGHT. I eventually built them each from scratch just to relieve the loops (I can't stand unintended loops in my models, even if they aren't causing any issues). I had to add a couple different STRAIGHT pipes in the run (5 and 6, currently) and I got the same problem using the repeat and replace method. I've tried checking everywhere I know to, can't figure out why there's still circular references with those 2 pipes.

2. This assembly is a good example of an issue I'm having. In a family table, is there a way to incorporate an "Extrude to selected" type extrude? I'd love to just have several instances of STRAIGHT that reference a different face of an elbow to extrude the pipe to. From what I've found online, this either isn't an option, or is included in the Advanced Assembly Extension, something else I don't own. Any help with this?

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.
ACCEPTED SOLUTION

Accepted Solutions

Ok. I got it worked out. I found that I needed to put the generic model TEST_FAM_TABLE in my assembly (this is key) and set my relations that read the "DISTFEAT1" and "DISTFEAT2" measurements to THAT part, not to the individual instances, then you can add as many instances as you need. There's space for 5 different ones in my model, but I've only followed through on 2 different saved analyses.

Here's the file for your reference.

Apologies, I didn't quite know how they would apply to this the first time you brought up relations.

View solution in original post

15 REPLIES 15
cwilkes
7-Bedrock
(To:cwilkes)

Bumping this. I'm ok with the first part. Still have a question about Extrude To type extrudes inside of family tables.

For item 2 I might suggest using saved analysis features (measures) to drive the depth rather than trying to have different surfaces. You can then drive the feature to different length using these measure values in the family tables, or at the assembly level using the flexible component feature.

Antonius Dirriwachter (that may be the coolest name I've seen in a while), thanks for that. That seems like a good way to go. It's one extra step for me to save all those analyses, but that's way simpler than what I've been working with regardless. One question, what sort of column do I add to my family table to input a saved analysis? I imagine I need to assemble the generic into my model, activate it, open the family table, and add a column to input the name of the saved analyses. I believe there's a way to do it by setting a parameter to read the saved analysis, but if there's a simpler way, I'd be interested to hear it.

I will have to play with that. I am no FM guru but found a perfect use for them yesterday.

Can you use relations or parameters as values in a FT?

How about an if/else statement in relations to flip the two values.

If <this> VAR=Measure1 Else VAR=Measure2 Endif

BTW: your attached file is only the ASM file. Try save-as .zip to get the full fileset.

Ah I was wondering why I got no replies to this initially. Thanks.

I came across a post from 2012 that you actually commented on that deals with assigning your saved measurements to parameters. Unluckily, the videos no longer work so I don't have detail on how to assign those values to the parameter. I would like to take two of my measurements from the assembly level (let's call them meas1 and meas2), apply them to two parameters (called dist1 and dist2) at the assembly level, then assign the variables dist1 and dist2 to two instances in my PART level family table (inst1 and inst2) so that each instance extrudes to its corresponding measurement value taken from the assembly level.

For reference:

http://communities.ptc.com/thread/39307

The videos still work for me. Sometimes it requires a few page-refresh's to get them to kick in. It is one of the forum quirks.

Simply make the measurement analysis and save it as a feature (the floppy disk icon) and name it whatever you want. It will show up in your assembly model tree.

In relations, use the parameter icon "[ ]" and look in "feature" and click on the measure feature in the model tree. the insert selected and you have the value reference to assign to your variable (parameter)

The same is true if you save the measure analysis at the part level. You can still use the parameter button in relations to navigate to the part's analysis feature.

Tom, thanks for all the help.

I've now created my saved analyses at assembly, turned them into features at assembly, passed the measurements down to their corresponding part level parameters (I had to add a parameter called dist1, dist2, dist3, etc., to the part file for each different length of extrude I need). My last step is entering those parameter values into the family table. I've created the column that will drive the extrude length (d0), but I can't seem to use the parameter values in the family table. I typed "dist1" in the d0 column and got an error that says "You have entered either an invalid text string or a numeric value for this cell. Please return to the cell and enter the data appropriate for the current column."

I have a feeling it's just a syntax issue, but do you have any idea how to use the parameter names as variables in the family table?

Again, thanks for the help with this.

Yes, that is the same question, and response I ended up with. Hence my comment before.

There has got to be a way, but it don't know for sure how it is done. I'm sure someone knows for sure.

I am sure that flexible components would have the same syntax or limitation.

http://www.mcadcentral.com/creo-modeling/9565-modifying-family-tables-pro-program.html

I found this post on a different forum. Seems to be exactly what I'm looking for, but I haven't been able to duplicate it yet. I'll let you know if it works out.

Right, that was the direction I was going with the if/then relations. You can use True/False arguments in your if/then statements... and you can nest if/then statements. Else is used when no argument is satisfied.

Please post your assembly again and I can look at it.

Ok. I got it worked out. I found that I needed to put the generic model TEST_FAM_TABLE in my assembly (this is key) and set my relations that read the "DISTFEAT1" and "DISTFEAT2" measurements to THAT part, not to the individual instances, then you can add as many instances as you need. There's space for 5 different ones in my model, but I've only followed through on 2 different saved analyses.

Here's the file for your reference.

Apologies, I didn't quite know how they would apply to this the first time you brought up relations.

Very nice.

So you created a Length_Index variable for each FT instance and that is what keys the length when the part level relations are parsed.

And when the assembly is in session, the length variable DIST1P and DIST2P are "available" to create an external reference to the part.

I can't see any way you can get in trouble with that

Exactly. It's a bit more of a process than I think it should be (Creo should just have a column type in the family table dialog that allows you to select an external reference for that particular instance... but I'm no software engineer), but this will help tremendously with all of my coolant piping models that are constantly changing. it was a pain to have to move an elbow/tee/reducer to where it needed to be, then have to measure, open the generic, open the family table, find the instance, change the length value, verify the instances, close, and regenerate. this will be much easier. I appreciate the help Antonius. As there wasn't one post that I can classify as a "correct answer," I just marked all your comments as helpful.

I am glad you stuck with the question, Chris. It is really a great example.

Go ahead and mark your sample as correct (3 up). It makes for a great reference.

Announcements
NEW Creo+ Topics: Real-time Collaboration


Top Tags