Community Tip - You can Bookmark boards, posts or articles that you'd like to access again easily! X
Hi,
I am working on a large assembly file which contains a sub assembly that is modelled with flexible dimensions. The screen shot of the assembly is as shown below:
I have made use, of 2 instances of above assembly as a sub assembly in top level assembly and shown them in different configurations as shown below. This was done by modifying the flexible dimensions shown above:
Now the questions are:
Q1:
Is there a better method to manage large assemblies such as this? because every single time the file regenerates, it takes a lot of time.
Q2:
Instead of using flexible dimensions, the other alternative is to make use of mechanisms (which i think is the ideal case) but when the sub assembly is modelled using mechanisms, it becomes difficult to control the varying dimensions (angles and distance) for each instance separately. How do we control this separately?
For example:
Set and lock, Angle-1 to 60° in Instance-1 and 30° in Instance-2
Thanks!
This is just an observation based on your pictures, but I would not classify what you are showing as a large assembly. Perhaps some things are not shown and there are many more components not visible. I am only noting this as this may not be a regeneration speed issue typical of a large assembly.
Can you define what exactly is the meaning of the term "flexible dimensions" in your post. Are you using component flexibility functionality in the subassemblies referenced? You also mention considering the use of mechanism connections, are the subassemblies static or are they designed to move intentionally in the application?
Two things come to mind to minimize the wait on full regeneration at the top-level. Save a copy of each instance needed and set all features to read only. This will remove the flexible components from the regeneration cycle. If you need to flex them, clear the read only setting to enable the flexible functions needed.
Have you considered using a skeleton model(s) to configure the "flexible" components to and thereby giving you the option to placing flexible components in the assembly? With this approach you would be regenerating a skeleton without any bodies, and it should regenerate very quickly. This skeleton would be used to arrange the components of the subassemblies.
Hi tbraxton,
you are correct, I have indeed suppressed other irrelevant parts and sub-assemblies so that it becomes easy for me to explain the problem to which I am seeking solution.
wrt to your question on "flexible dimensions", I am referring to parts/sub-assemblies that are configured with few dimensions as flexible under the prepare section as shown below:
The assembly shown in the original question behaves synonymously to a cobot like the one shown below:
so, in the parent assembly, I am trying to show them in specific positions.
Therefore, the Sub-assembly will be static after its positioned in a specific configuration/position.
The way we are working currently is on a bottom-up approach, that, first we get the Sub-assembly (Our Product) ready and then fit it in our customers Layout (Parent Assembly). So, can you through some light on how I could make use of skeleton modelling approach to my advantage pls?
Thanks
Deepak
Use the skeleton model to drive the mechanism. You can use datum curves and features to create the mechanism through the use of a motion skeleton to define the kinematics of the design. Once this is working you can create mechanism snapshots of the required relative positions and save them for reuse. With the 3d component models assembled to and driven by the skeleton model you will have the accurate geometry represented in Creo.
I have similar experience with flexible assemblies. They seem to be great in concept, but something in the implementation makes them just a pain.
Specifically related to regeneration - right off I start to notice that the "flexible assembly" needs to be regenerated upon opening it (even though it was saved with the green light on). Except sometimes, it does not. No idea why. The abnormally long regeneration times are also concerning, and also often I have to regenerate multiple times to get the assembly to go to the "green light on" state. Only to have to redo this next time I open it.
I don't think I'm alone, just sharing my experience and evolving view that flexible assemblies are just not worth the trouble.
In your example, I would recommend you just model these as separate assemblies. In one of them, one of the pipes is longer? IMO, that is "abusing" the flexible concept - as these two pipes / assemblies should probably have a separate part number?
Hi Pausob,
I completely agree with your comment regarding "abusing" the flexible concept.
Actually, the requirement is not to have achieve assemblies of different lengths using flexibility concept.
rather the requirement is to show, two instances of same sub-assemblies in different configurations by manipulating the angles between the arms that are configured as flexible dimensions.
Thanks,
Deepak
From the description, pictures I presume that the flexibility is only for the angles.
If so, then it is not a Flexible Component Design as defined in Creo. This is just a mechanism. At best it is an underconstrained assembly with a single degree of Freedom.
Create "Snapshots" of the positions.
You can retrive the snapshots at a later date and can also have them in the drawings.
Hi Srinivasan,
You are right, this is just a mechanism, and I am aware of the snapshot technique.
This technique works absolutely fine when I have only 1 instance of the Sub-assembly in the Top assembly.
but what I am looking for is a solution, when I need to place more than 1 instance of the same assembly, like shown below.
The concern is, the position of the sub-assembly goes through different iterations between us and our customer until customer is satisfied.
Therefore, it becomes very difficult to work on the sub-assembly multiple times to alter their position and take snapshots.
Also, while making using of mechanism, altering the position of 1st instance tends to change the position of 2nd instance as both the instances are of same sub-assembly loaded in memory.
This is the main reason; I make use of component flexibility to lock the instances in different positions independently.
Thanks,
Deepak
Continuing the theme of "abusing" Creo functions, another "abuse" that might work is simplified reps. We use this (reluctantly). In your subassembly, you can model each required position by including multiple instances of each part that moves. Then use simplified reps to exclude all the components that aren't needed for the current position. In the next level assembly, you can include multiple instances of the subassembly and control which simplified rep to use for each.
One big caveat for this is BOM management. You'll have to take additional steps to manually reduce the quantity of the duplicated components.
Maybe someone at PTC will see this thread. I don't know of any truly good solution for what should be a pretty simple use case.
You can use flexibility with constraint sets to have several different defined assembly positions.
Here are my cheat sheet instructions: (Also the link is to a good description of the process by @BrianMartin)
USING CONSTRAINT SETS FOR ALTERNATE ASSEMBLY LOCATIONS
Create multiple constraint sets
Constrain part in first desired position.
Disable Constraint Set
Select New Set at bottom of Constraint list
Repeat for all needed positions
Rename constraint sets to something meaningful
Activate desired default Constraint Set
While adding predetermined flexibility select the Parameters tab then plus sign
Change Filter By to “Current and all sub features”
Select Component “xxxxx.asm” / PTC_CONSTRAINT_SET then insert selected and Close
Select OK and close Model Properties
Hi
Sorry for the late reply. Been on a vacation.
From the description...
The concern is, the position of the sub-assembly goes through different iterations between us and our customer until customer is satisfied.
Therefore, it becomes very difficult to work on the sub-assembly multiple times to alter their position and take snapshots.
it appears that these are the various iterations before finalizing the design with the customer. I suggest that you use "Design Exploration Extension" where each iteration can be defined and then the final one can be set as the Design.
To start a session, follow the below sequence. Also read up on Design Exploration in the help section.
Hello @DS_10589664,
It looks like you have some responses from some community members. If any of these replies helped you solve your question please mark the appropriate reply as the Accepted Solution.
Of course, if you have more to share on your issue, please let the Community know so other community members can continue to help you.
Thanks,
Vivek N.
Community Moderation Team.
