I built an assembly model of a packaging concept (basically bunch of boxes and their size is still to be "optimized"). This model has several flexible components that are in themselves assemblies of flexible components (boxes within boxes). My problem is that Creo never retrieves the top assembly "as I saved it".
Things look good, there is no need to regenerate and the sketches in the components that have text objects that display the size of the boxes have the correct values.
After I save and open this model, the system 1st regenerates it, then after that, the "need to regenerate" icon is active. And only after the 2nd regeneration, the models look right.
Is there a setting that would prevent this from happening or is this just how "flexible" models are supposed to work? This sheds some lights as why the use of flexible models is discouraged in our company.
I dug up this thread - Has anyone studied the effect of numerous flexible components on assy regeneration time? - which warns about the use of flexible components and need for multiple-regenerations (which are very slow, btw), but I was wondering if things have been improved or if there is a PTC resource about "correct" setup of the flexible models.
Is it always the case that an assembly model that has a flexible component in it will be regenerated upon retrieval?
Try saving the flexible assembly components as read only once you have the top-level assembly ready to save. This should resolve the regeneration upon retrieval issue.
I don't think that will work, or at least I'm not sure at what level to set the read only state. When I set this at the top-level assembly, upon retrieval the system still regenerated the model and all kinds of warnings about "relations not being satisfied" were shown. Then the model was in a similarly jumbled state but that was resolved with the 2nd regeneration.
I am thinking that all of the models with flexible elements would have to be saved as read only, not just the top level assembly. This would require that the read only be cleared for anyone to modify the flexible elements going forward. I have not verified this with flexible components but have used this approach to prevent regeneration upon retrieval or during design modifications in other scenarios.
Hey Tom!
Don't think that would work, flexible components have the flexible items changed at the assy regen level, and if you made them read-only (at the Workspace level), then they would probably not be able to BE flexible (not 100% sure). And if that actually worked, I still don't believe it would "lock" those components at the assembly level to be in the regenerated flexible state you want. As I understand it, when you open the assembly, it pulls in the parts that have the pre-defined flexibility in it's native (un-flexed) state, and THEN determines that the part needs to be changed so it does a regen or prompts you to manually regen. I know for a fact that having a lot of flexible parts at the assembly level DOES slow retrieval and regeneration time because of all that extra work it has to do. I had originally made my large fastener library flexible as to the material (you would determine that at assembly) so as to NOT have to make an instance of a certain size/length in different materials (adding rows), but it slowed things down considerably, so I pulled that flexibility out of the models and if I need an instance of a different material, I just add the row.
This is an issue that has been known for many years. It used to be that there was no flag warning you that another regen was needed, so, sometimes you didn't know and your assy was FUBAR'd, and you didn't know it until, say, you looked at the dwg and saw that a section was off. Or sometimes you had complicated and/or conditional relations, and you needed to regen twice to get the relations to work, but again, you were FUBAR'd unless you noticed things didn't look right. On things like that, just make it a habit to always regen twice. That sems to catch it as a third regen doesn't seem to do anything. I consider this a BUG, that's been in the software FAR too long. A regen that doesn't actually regenerate everything should FORCE as many regens as needed to do the job, not just give you a tiny flag somewhere telling you that you MANUALLY need to do it.