Community Tip - If community subscription notifications are filling up your inbox you can set up a daily digest and get all your notifications in a single email. X
Platform: Creo 2.0 M030
Problem: Mechanism constraints broken on a simple assembly with two synchronized hydraulic cylinders that extend/retract and pivot around a common axis.
Additionally, there is a guide-plate that controls the arc of the devices on the ends of the cylinders. That guide plate also has the ability to move back and forth in a slot. The model did at one point perform nearly as intended.
I would appreciate some feedback on how this assembly could be created.
Thanks!
Solved! Go to Solution.
I get it - that all makes sense. What I do not no how to do is create a functional assy using a flexible components - all samples I've looked at pertain to a part with flexible attributes.
I can't get past this dialogue box:
Nothing seems to be selectable, and when I exit the dialogue by selecting yes, I get the message "component id ### has lost its flexibilty."
Pick the dimension and then pick in the Flexible window where the dimension should appear. The methods are a hidden drop down. Select on By value to get the full list. You may also have to pick the plus sign a second time. Stupid, stupid GUI.
That is a driven dimension, so I'm not able to pick it. I'm unable to even see the distance mate that constrains the cylinder rod.
OK - what drives the dimension? If it's a parameter then that's a possibility - there's a Parameters tab to add the driving value. If it's a parameter via a relation, then you'll need to decide between the relation or flexibilty. The Flexible option can change most things that you could change.
Were this my assembly problem, I'd be looking to see if there are datum features/external references. I'm not surprised there is a driven dimension, but don't know why I would create one in this circumstance.
Edit 1) By the way - why aren't there other components in the model tree? I'd have expected a cylinder and rod to be present so the extension of the cylinder from the rod could be selected. There should be a mate-offset or some such in the assembly constraints.
Edit 2) Since this was driven by mechanism there isn't a driving dimension for flexibility to use - you'll need to add a mate/align offset constraint.
The other components are hidden by default in our config. Here they are:
I am making this assembly, so I can do whatever is needed or best suited to this assembly. I added the driven dimension for trial and error to figure out how to make the cylinder "flexible."
I feel your pain on this, Shaun. Even if you know the dimension ID, it is difficult to put in the flexible table.
I am no expert in this regard. I have done exactly what you are doing but I can't for the life of me do it on your assembly. If I make the value a user defined parameter, it is likely much easier... something like a new parameter "CYL_EXT"=d14 where you can then burrow into the flexible dialog for the parameter "CYL_EXT" and give it a new value. All I am saying is that I don't know if this is the -best- way to manage this.
Shaun,
If you mean dimension created by annotation (Driven Dimension in Creo2) - then it can not be "flexed" since this is a report - type dimension that does not drive any design. You can only FLEX "real" design dimensions.
Among the other limitations keep in mind that Dimension driven by Relation is also not valid for FLEX - to avoid ambiguity, with following message : " Dimension in P3 is driven by relation d3 = 5."
- Vlad
Be careful with your terminology. PTC’s new “Creo Flexible Modeling Extension” can in fact change things in ways they were not originally modeled, or work on imports, etc. Flexible modeling extension brings direct modeling tools into the parametric world. The difference to full direct modeling is that the “Move” feature does show up in the model tree.
Assembling “Flexible Components” is different, and that is what you are describing. It basically uses hidden family tables to allow the different dimensions. We have used a couple in the past for things like rivets where the grip length is set based on the thicknesses of the components being riveted. The advantage to this is that the same rivet might be used to show as assembled even though the exact grip length is different. These add up on a PL as being the same part even with different installed lengths. I am discouraging their use however, because in large assemblies EVERY rivet needs to regenerate, and frankly I don’t see enough payoff for the effort. Rather I model the rivet to its max grip length so an interference will show up if the material is too thick for that dash number.
Glad to know that PTC may allow even more fun with a new product. I can imagine trying to trace why assemblies don't fit in the factory down to someone tweaking an imported model at the next level of assembly.
Holes don't line up? Don't fix the imported part, fix the assembly. I know - responsible users won't do this and the irresponsible users will do worse. I hope that PTC will at least do the following - mark any items that have flexibility shoved upon them (instead of being set up with it) in bold red in the family tree and mark every BOM entry (including the partname in the tree) related to the modified part as "Altered-partname" so that BOMs and PLs and such indicate the true status of the piece.
I have ran into this a number of times. Just to clear up one thing for those frustrated, just because the error message says it is Connection X doesn't mean it has anything to do with that Connection! The only thing it does seem to tell you that is useful is that it does have to do with the components that Connection X references.
In the case I just figured out Connection 2 was fine but some other component down the structure referenced the part hosting connection 2 as well as another part. EVERY part in a mechanism hopeful assembly needs to have references to only one other part. If you have a part with non-mechanism connections that references two parts it seems to fail one of those parts in mechanism. My guess is the first part in the regen order will have the connection error.
If I can ever figure out how to get the VBAPI to work with Creo maybe I will write a simple script that checks this and notifies you of the perpetrating part. The logic behind this is extremely simple as far as I understand it.
-All parts reference only one other part?
If yes it should work. If not, probably it won't work.
TIP if you are getting that Connection X will be suppressed because of invalid constraints error, zoom out so you can see most of the assembly the error probably resides in, then try to enter into mechanism mode. It gave me an error saying the highlighted constraints are invalid and will be supressed if you continue. You should be able to see highlighted boxes representing each origin of the offending components. You can't zoom or pan (thanks Creo!) so you might have to hit cancel a few times and adjust the zoom then try to enter back into mechanism to see the highlighted boxes.