Flexible sub-assemblies

I have a sub-assembly that I want to move dynamically in an upper level assembly and there are multiple instances of this sub-assembly that need to move independently of each other. I can get this to work for just a few seconds then I get warnings from sw that the component is fixed and cannot be moved.

What I have been doing is selecting each instance of the sub-assy that I want to set to flexible, rmb, component properties then set them to flexible. I then move each one at least once to make sure they are flexible, and they all move correctly but the next time I try to move those same sub-assys (just a few seconds later) they fail to move and I get the warning that the components are fixed and cannot be moved.

Is this a known issue? Is there something that I am doing wrong?

Thanks

Reply to
Sam
Loading thread data ...

Did you make all instances flexible?

TOP

Reply to
TOP

Yes, all instances were set to be flexible.

Reply to
Sam

hi there,

try to set all components from base assembly to be Float.

Reply to
Pedro Nunes

Sam,

I doubt you're doing anything wrong, it's just SWX getting confused. It doesn't handle lots of mates very well at the best of times, and when you choose "flexible sub-assy" what it effectively does is to treat all the sub-assy components and mates as if they were created at the top level.

The best you can do is make sure your mates are created in the simplest most logical fashion. Use the 3-2-1 rule i.e. the first mate should eliminate 3 degress of freedom, the second should (ideally) remove only a further 2 with no redundancy, and the final mate should eliminate just one d.o.f. with no redundancy.

In theory (and usually in practice too) SWX can handle redundant constraints, but I doubt it makes the maths any easier.

The other thing is to preferably mate components to the front/top/right planes and origin of the assembly, rather than to each other. If te flexible sub-assy(s) has say 30 components of which only two move, then you could try making a sub-subasssy with the 27 "static" components in it.

John H

Reply to
John H

Flexible subs is less than a success in my book. They tend to stall and act in ways contrary to their billing.

For simple mechanisms, I install some of the sub's components separately and mate at the top level assembly. The sub's components are added as envelopes so they do not show up on the BOM.

An example of this is a linear actuator motor in a lifting mechanism I am working on. The extending arm component of the actuator assembly is added as an envelope and mated to the actuator assembly to control length with a limit mate. This is a PITA work-around but has been more robust than flexable subs for the long game.

Reply to
That70sTick

Thanks for your feedback guys.

John and Tick, I think I am in agreement with you guys that I am probably not doing anything wrong and that flex assemblies are just not robust enough.

For a little more insight into what I am doing (or trying to do), I am trying to model an automated cnc assembly line that has a conveyor (the conveyor is just a part file with no movement), 8 instances of the same robot that I want to be able to animate independently of each other and 10 or 12 cnc machines that as of now will not be animated but at some point we may want to simulate their movements as well. My assembly structure is as follows.

AssyLine AssyLineConveyor MachineAssy

For this particular assembly line there will be at least 10 machine assemblies, so MachineAssy01 through MachineAssy10. What I had hoped to do was to set each of the 10 machine assemblies to their Free Drag configurations (which in turn references the robot assembly Free Drag config and is also set to be flexible) and set each one to be Flexible so that while operating in the AssyLine assembly I would be able to move the robots for each machine assembly. As I noted prior this does work but only for a few minutes and eventually the robots quit moving.

The next thing I tried was to dissolve the MachineAssy assemblies incontext of the AssyLine file so that now there are no MachineAssys', now I set the robots to be flexible (the robot is still a sub- assembly) and that seems to work ok so far but I do not like having all this data in the top level AssyLine document. It does not give me the ability to open each machine assembly with that machines robot, electrical cabinet, hyd tank etc..., I have to open the entire assembly line just to work on one machine.

As usual there is always some give and take, it appears that if I want the ability to animate the robots incontext of the assembly line I will need to give up the machine assembly organization...

Sam

Reply to
Sam

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.