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

Community Tip - Need help navigating or using the PTC Community? Contact the community team. X

Auto constraints for components when adding to assembly?

LawrenceS
18-Opal

Auto constraints for components when adding to assembly?

Does anyone know if there is a way to set default constraint types?  Almost all of our parts get aligned by center axis (consistently named in both asm and component), and then by another plane (also consistently named).  Ideally this could get done by a config option for default behavior (so that every component would not have to be modified), but if that is not possible and you know of another way I would really like to hear of any workarounds/alternatives.

Since we have been so consistent in our naming and the assembly constraints are so basic, it sure seems like we should be able to have this defaulted without user interaction.


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.

"When you reward an activity, you get more of it!"
8 REPLIES 8
rcook
12-Amethyst
(To:LawrenceS)

Have you looked at using component interfaces? Although it would require modifying components...

There are some components that have that set in our database, however it is only for that component.  For example, it will come in asking for an assembly axis and a datum plane/surface and the user has to choose the assembly equivalents.  I would like it to do this automatically since we are so consistent.  Also it seems not to allow additional constraints once those have been chosen and we definitely want users to use additional constraints according to the indiv component.

Any way to do this better?


"When you reward an activity, you get more of it!"
rcook
12-Amethyst
(To:LawrenceS)

You can use the auto place functionality inside of the assembly and then pick from the list of matching assembly locations. Or pick a screen point near where you want it and the component interface and auto place will do the rest.

James62
12-Amethyst
(To:LawrenceS)

What you want is some sort of script that can read from the model tree of the model file upfront, even before the model is loaded into the assembly, and then once it's there run just the correct mapkey that will pick the right component constraint references and the constraint types for each both based on the decision made by the script beforehand.

JLink can read data from models not yet opened. Models that are in session, in workdir or in any search path, but if you've got many types of models, it'd require you to code many cases. JLink is also not easy to set up, and most importantly (at least for me) it's pretty tough to learn Java.

rcook
12-Amethyst
(To:James62)

You could do this in Smart Assembly pretty easily. A lot easier to learn and work with than JLink, but it's an add-on to Creo that you have to buy.

James62‌ & Roger Cook,

Do we really need a complex script to do this?  The functionality that would be ideal is what Creo does when replacing a table using the reference table.  Within that feature it has an evaluate button which tries to match up common references based on a small set of rules.  This would be ideal if I could do something like this.  Actually if I had that button exact functionality and button within assembly mode it would help tremendously!


"When you reward an activity, you get more of it!"
rcook
12-Amethyst
(To:LawrenceS)

Seems like a different use case to me. Replacing a component only looks for matches from the original part and the replacement part (using the same assembly references). You are asking for Creo to decide on part and assembly references. How will it know what to pick? What if you have hundreds or thousands of axes - which one does it use? My first approach would probably still be using component interfaces and auto-place, but I have spent zero time playing with it and slightly more than zero time thinking about it.

Either way, best of luck.

Thanks for the help.  It knows what to pick because the names are all the same.  I might take a look at the component interfaces and auto-place, but unless it can be set up in the component with a mapkey then the heavy setup for each component will probably be worse then the benefit.

Anyone else have any ideas?


"When you reward an activity, you get more of it!"
Announcements
NEW Creo+ Topics: PTC Control Center and Creo+ Portal


Top Tags