Would you like to use flexible assemblies?

Would you like to use flexible assemblies?

Anonymous
Not applicable
2,703 Views
40 Replies
Message 1 of 41

Would you like to use flexible assemblies?

Anonymous
Not applicable

Hllo All,

I am struggling with flexible assemblies for years. They are not usable and Autodesk is aware of that.

Lately I was informed that:

 

"There is no major effort right now to re-work the flexible assembly capability"

 

and

 

"If many users were asking for a way to make this flex assy modeling easier ..., it would be higher on the list."

 

So if you would like to be able to use flexible assemblies please send e-mail or inform Autodesk so they feel "many users are asking for it".

 

Please also add your post to this thread.

 

Cris.

2,704 Views
40 Replies
Replies (40)
Message 21 of 41

Anonymous
Not applicable

Hi Walter,

 

I appreciate your effort.

 

This dimensions you show for a long props are to drive the assembly. So It is not really that important what is their value.

 

Extending and shortening this props this formwork was adjusted to a desired shape.

 

Also this formwork was found (threw site incident) being a mechanism, so by definition it is not possible to constrain everything so nothing moves.

 

This assembly if assembled with normal (not flexible parts) only but still constrained in the same way (so props can extend) works without crash.

All the time this brings me to a conclusion that there is something wrong with flexible assemblies.

 

Cris.

 

in case you agree flexible assemblies do not work as they shoud here you can support idea to fix them: Fix Flexible assemblies

 

 

0 Likes
Message 22 of 41

Anonymous
Not applicable

Hi,

In the meantime I was working on another project and also tried to use flexible assemblies.

As previously, outcome is rather poor and predictably unpredictable.

 

Here are some videos and youtube links.

For me they (flexible assemblies) do not work. In any case I am unable to use them in a reasonable manner.

 

https://www.youtube.com/watch?v=mF35cDv7WK0

 

 

https://www.youtube.com/watch?v=pE-FWiti_Q0

 

 

https://www.youtube.com/watch?v=UdgBkZgB490

 

 

https://www.youtube.com/watch?v=gP6c_pv2o9Y

 

 

Cris.

 

in case you agree that flexible assemblies do not work as they should, here you can support idea to fix them: Fix Flexible assemblies

 

 

0 Likes
Message 23 of 41

WHolzwarth
Mentor
Mentor

Hi Cris, Kudos for your idea are already sent. I think, it's time for getting improvements with flexible assemblies. This is a long-time problem.

I didn't watch your latest videos, because I prefer testing with real datasets. Therefore I made another attempt with your formwork data.

 

What did I do:

- Building sub-assys

- Combining all rama parts and small cylinders into a big sub-assy

- Removing constraints versus origin planes, grounding first part instead

- Simplifying of Wspornik 1.iam (Zip filesize reasons)

- Only one sub-assy for flexible assemblies ( one for 3 big prop, one for two small prop)

- Using Insert constraints instead of Axis mate / Face mate combinations

 

Having this done, I ended up with only a few members and only a few constraints. Many of them were used for testing (Additional work axes and planes)

 

Result (I regret having it done with Inventor 2016):

- All grounded parts in a single base assy

- Rama parts as "welded" sub-assy, being able to rotate around the left pivot point (Rama_angle)

- 3 props are made flexible and can change their length after changing Rama_angle

 

That's the start. I've placed workplanes between the pivot axes and set an additional mate for the props only for testing. No red cross in the main assy.

 

Now try to change Rama_angle from 0° to a value between 0° and -5°. There's a 50/50 chance that the assy is going bad. Look at the position of the workplanes and the props. They are jumping around, without any sense.

 

Smiley WinkBest wishes for 2016, and let's hope for improvements with flexible assemblies.

Walter

Walter Holzwarth

EESignature

0 Likes
Message 24 of 41

Daniel248
Collaborator
Collaborator

@Anonymous wrote:

......

In attachment you have this assembly to play with.

......

If you are able to make it work I will be more than happy.

...... 

Cris.


Hi Cris,

Thank you for the challange and the CAD model.

 

I’ve played with your assembly and re-constrained it in two ways: to be able to manipulate it with the mouse, and, to be able to drive it with controls (constrains and parameters), and posted two videos to illustrate how these work.

 

In this case, the problem which had to be resolved is two-fold:

- In between the MIN. and MAX. positions of the motion envelope there is an infinity of positions in which the mechanism can be placed;

- Every position in that infinity is determined by a unique combination of multiple parameters.

 

In this video (https://youtu.be/SqknwR19e6g ) I’ve deliberately set the mechanism to be under-constrained, so that it can be manipulated with the mouse.  I very rarely use this way of constraining a mechanism, as being able to drag things with the mouse on the screen has very little practical value to me – maybe just a quick check that something is or isn’t constrained properly...

 

In this video ( https://youtu.be/QYutlM8A3sY ) the mechanism if fully constrained, so that it can be driven with constraints and parameters in a controlled and predictable manner, between the limits of the motion envelope (one might say ‘in a reasonable manner’...).

 

It can be observed that in both examples the rams were ‘Flexible’, and the mechanism moves without any conflicts or interventions from the "Design Doctor" or causing a crash.

 

I don’t know if my examples will raise up to your ‘make this work’ brief, or if these can make you happy, but just be happy anyway – have a Happy New Year in 2016!

Message 25 of 41

WHolzwarth
Mentor
Mentor

Videos are looking good, Daniel

Can you upload your files?

Thanks

Walter

Walter Holzwarth

EESignature

0 Likes
Message 26 of 41

Anonymous
Not applicable

 

Hi,

 

@Daniel248

I must say I am astonished that you are not getting error messages and design doctor inconsistent constrains messages.

 

Please could you upload files so we could see how this is achieved?

 

Cris,

 

0 Likes
Message 27 of 41

Daniel248
Collaborator
Collaborator

@Anonymous wrote:

....

Please could you upload files so we could see how this is achieved?


I've uploaded the models (Inventor 2016 file format) on my A360 cloud space.

Follow these links if you wish to download the two models I've used earlier in my examples:

 

Flexible assembly, under-constrained, so that it can be dragged with the mouse:

http://a360.co/1VwcvPj

 

 

Flexible assembly, constrained so that it can be driven with parameters and constraints:

http://a360.co/1OzByeP

   

 

Message 28 of 41

Anonymous
Not applicable

Hi,

 

Daniel I have downloaded files you provided.

 

First of all I want to thank you for an effort you put in this assembly.

 

I was (in the beginning) also surprised how stable it is (seemed to be) in a state you made it.

 

I will now refer to mouse driven assembly:

1) In this assembly and in any of flexible components there are NO constrains that use limits. All constrains in top level assembly are defined as of fixed value, and range constrains in flexible components (max/min extension of props) are suppressed.

(Non of them can be used in order not to crash this assembly).

 

This kind of limitation is rather not acceptable for me because I very much need constrains to restrict movement of parts in my assemblies in certain limits, to see right away if something will work, not having to remember to constantly make measurements if in current state I am not exceeding max jack stroke for example.

Apart from static assemblies I also have many designs in witch I design equipment to move or manipulate objects (like bridges for example). In such design I have an object that will be moving or will have to have certain displacement and during its movement it will be in all intermediate states.

If I then have some construction or device I must check if it will not be in the collision with a moving object in all situations and possible layouts of equipment, also I need to check if equipment or construction I am designing will allow for a desired operation to be performed successfully.

 

Therefore I always use mouse dragging technique + limit constrains.

This works 100% fine if I have all moving parts on top level assembly. In such case Inventor has no problem with limit constraints and moving elements.

Also I can apply any constrain I want and if it causes collision I am getting inconsistent constrain error message instantly, also in any case this will not destroy assembly.

 

If any of constrains defined in top level assembly, is changed to constrain using limits, this assembly starts to crash very quickly, and Design doctor throws usual inconsistent constrains error messages, indicating constrains within flexible components as conflicting.

In such state assembly is forced in to positions against defined constrains, and at some point becomes not possible to repair.

 

On following picture I show one of layouts constrain solver forced this assembly after turning one constrain, as using limits, and trying to drag some parts with a mouse.

by mouse_01.png

There is no way assembly can be repaired from such state. Only solution is to rebuild it from scratch deleting all flexible components.

 

2) even in the assembly as you uploaded, Inventor is not capable of driving constraints defined at top level.

Trying to o so instantly causes an error. Assembly is not crashing but constrains solver cannot solve intermediate states during driving a constrain.

 

Second image shows error message from constrain solver when trying to drive one of the constrains on top level.

by mouse_02.png

 

3) I quite quick found out that this assembly is not 100% stable and crash proof.

I tried to play a little bit with this Rama_Insert_6 constrain and put values from range I was intend to drive it, to find out if inventor can solve this or not.

Accidental I put value of 600. I got warning.

 

If I chose to cancel it is safe.

 

If I chose accept (because this could be the value I needed (in some other case) and wish to correct other constrains after) this assembly is destroyed. All flexible members are forced into positions against their internal constrains.

 

But funny thing. I managed to get 600mm value for this mate only needed to approach this value slowly putting 200, 300, 400, 500, 550 ....

 

So Inventor obviously is not capable of solving this assembly 100% stable. And there are usual errors that I so often fight.

 

Below is an image of the assembly with 600mm for mentioned constrain.

 

by mouse_03.png

 

And an error message from another attempt to put 600mm value in this constrain

by mouse_04.png

 

+ result after "Accepting"

by mouse_05.png

Some parts I am not able to find.

 

As for parameter driven assembly you uploaded, I have not yet had time to look in to it in detail.

But from the first look I got the feeling this is not the approach I expect. Anyway I will look in to it.

 

So summarising my findings based on assembly you provided I must state that:

 

1) restrictions (I name in the beginning of this post) n to make it work as you showed, are not acceptable for me. This is totally not what I expect from using flexible assembly.

 

2) Assembly build following this restrictions is also no 100% stable and shows usual problems with flexible assemblies (the once I usually encounter).

As other flexible assemblies (I know) this assembly can easily, by accident, or at least not intentionally, be forced in to positions that are against constrains defined in the top level assembly as well as these defined in flexible components. Also it was shown that inventor is not capable of solving this assembly in 100% stable, proper way.

 

Considering all that I, with regret, must once again say that, in my opinion such thing as flexible assemblies in inventor is not usable and should be fixed.

Specially that it is easy to prove, that the same layouts of parts, are solved properly if all moving components are inserted directly in to top level assembly.

So problem lies strictly in how, so called "flexible" components, and their constrains, are promoted to to level environment.

 

Cris.

 

in case you agree flexible assemblies do not work as they should, here you can support idea to fix them: Fix Flexible assemblies

 

 

 

 

0 Likes
Message 29 of 41

Daniel248
Collaborator
Collaborator

@Anonymous wrote:

Hi,

 

Daniel I have downloaded files you provided.

First of all I want to thank you for an effort you put in this assembly.

I was (in the beginning) also surprised how stable it is (seemed to be) in a state you made it.

.....


That’s OK Cris, no problems. Thank you for your interest.

You’ve proved that it can be broken. Point noted and accepted.

 

Regards,

Daniel

0 Likes
Message 30 of 41

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

For this particular case, I personally believe the failure is more related to symmetry constraint than flexible sub. I believe if you flatten the Flexible subs and keep the Symmetry constraint, the same behavior will be there.

Let me explain how symmetry constraint works. Symmetry is actually a three-component constraint, which needs contribution from three different components (one face each). Two faces are located either side of the symmetric plane and one face is used for symmetric plane itself. Assembly constraint is a bi-directional relationship. When PartA is mated to PartB, PartA can drive PartB or PartB can drive PartA. Their relationship is mutual. But, there is only one driver and one slave at a time. For symmetry constraint, the same rule still holds true. You grab a part participating in a symmetry constraint, the other two parts will follow. This behavior actually reduces degrees of freedom. If one of the three parts needs to move, the other two parts can only follow.

To prove my points, if you suppress the symmetry constraints within the flexible subs, you will see the constraint failures go away. So far, I have not found a good solution to keep symmetric relationship on the cylinders intact, while the whole system solves stably.

Thanks!

 

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 31 of 41

Anonymous
Not applicable

Hi,

 

I did flatted this assembly and activated all symmetry and range constrains.

 

If flatten I am not able to crash this assembly.

 

1) It is not possible to force assembly against its constrains by dragging parts with a mouse

2) It is not possible to force design doctor inconsistent constrains error by dragging elements with mouse

3) It is not possible (I was not able to) force constraint solver to crash this assembly. Even if I force one of constrain out of range it can physically have, constrain solver brings up inconsistent constrain error message (standard one, different from the one drought up if flexible compnents are used, Accept, Edit, Cancel). Even if I chose accept it does not force any of components against their defined constrains (they do not all start to fly around like in assembly using "flexible" components).

4) If conflicting constrain is applied assembly is not destroyed and it is possible to edit constrain even after accepting this conflicting constrain.

5) There is a problem with driving constrains but this is related to huge number of free DOFs.

 

So this proves that flat assembly does not behave the same way as assembly using "flexible" components. It works very different. It is stable even if conflict is forced.

I have played with flat assemblies a lot and I am sure that flat assembly is 100% stable concerning solving constrains. Constraint solver works 100% correct for flat assemblies. If something is not how I expected in flat assembly that means I have applied constrains in the way this is allowed.

 

You can download it from http://a360.co/1ZjczSJ

 

You can see video at: https://youtu.be/F0x4kR-GWYw

 

 

I am open for further comments, also I will play with "flexible" props without symmetry constrain to show this will not work.

 

Cris.

0 Likes
Message 32 of 41

Anonymous
Not applicable

Hi,

 

I have just played for a moment with the same assembly only using flexible components but without symmetry constraint, as Johnson suggested.

 

Well. It did not take long, really it was a moment, until this assembly crashed, and was destroyed by constraint solver.

I easily managed to get to the point when all of the props ware forced against their internal constrains.

 

here you can download data set: http://a360.co/1mVWZRz

 

and here you can watch video: https://youtu.be/9eEutGBRVpQ

 

 

This is not working and is not stable

 

Cris.

 

in case you agree that flexible assemblies do not work as they should, here you can support idea to fix them: Fix Flexible assemblies

0 Likes
Message 33 of 41

WHolzwarth
Mentor
Mentor

Hi Cris,

I couldn't get your No symmerty data crashing; perhaps Johnson is right with his remarks about symmetry constraint influence.

Therefore I remembered the good old times before Min/Max limits in constraints. We could do that formerly, using a guiding part for a "dancing workpoint". I've only added now the changed parts, others are identical with your parts in "no symmetry" folder. So, copy then "no symmetry" folder to another folder named "symmetry", and add my changes there.

 

Now you should be able to move by mouse the system without explodes. Until now, I've added symmetry only to the big props, but small props should be working the same after changing to "dance mode".

 

What's behind?

Open new flex_TMS big prop_3.iam. Yöu'll see two new members named Symmetry master.ipt. They are guiding the "symmetry dance". Just move it around for testing.

Having done this, I added this big prop sub-assy three times in the main assy. Using 3 different flexible big props makes not much sense, if you're looking at BOM and parts list.

 

What can be seen? Flexible assys are not always an easy task. They like to explode, and constraints going bad without obvious reason are still a risk.

Walter

Walter Holzwarth

EESignature

Message 34 of 41

Anonymous
Not applicable

Hi,

@WHolzwarth

 

I was not able to crash this assembly by dragging elements with a mouse. Crash is caused other way.

 

The thing is:

When designing something that uses flexible components, like jacks or props, it is always the case that other components in assembly are constrained using ordinary constrains. Therefore position and layout (length) of flexible component is forced by this constrains. If this constraints want to force flexible component out of its internally defined constrains, there are two possible cases:

1 case - design doctor brigs up numerous consultant error messages, and in following step assembly is destroyed

2 case - there is an "inconsistent constraint" warning message box and assembly is destroyed.

 

So it is only possible in very rear cases to destroy assembly by mouse dragging or driving because this operations are interrupted if constrain solver cannot follow either movement of a component caused by mouse dragging or by driving animation.

Most often assembly is destroyed by constraint solver forcing its solution on flexible components not carrying about how they are constrained internally when obtaining solution.

 

So to destroy any assembly using flexible component (except maybe cases when flexible components do not have any internal constrains) it is enough to try to force position against internal constrains of flexible assembly and let constrain solver do the job.

 

 

 

I will look in to files you posted and get back for sure.

 

Cris.

0 Likes
Message 35 of 41

Anonymous
Not applicable

Hi,

 

I have tried wh and Johnson's suggestions about symmetry.

 

I have rebuild this assembly not using any symmetry or range constraints.

 

As I expected although not using symmetry and range constrain this assembly crashes as before.

Problem is not in particular type of constrain. Problem is in how inventor solves flexible components.

 

 

Here you can download data set from: http://a360.co/1ZuKMV0

Here you can see full workflow form creating to destruction:

I have added comment what is happening so you could easily follow this video. https://youtu.be/ygpzZ8oo0UE

 

Cris.

 

 

 

 

0 Likes
Message 36 of 41

WHolzwarth
Mentor
Mentor

Thanks for the video, Cris. That's been a lot of work.

Meanwhile I tried once more with your latest dataset. I've made some changes for testing, and ended up with this:

http://a360.co/1RT04wK

 

I've added some posreps.

In main posrep all big props are fixed

In the next posreps one or more big props are movable, small props are left flexible

The last posrep shows all rama in place

 

Now you can switch from main posrep to any other one; sometimes you can see the red cross or an error message, but no explosion appears.

The last posrep is different. Normally all connections get lost for the props. Glad to see, that clicking on big prop 3 or another one and applying a slight mouse movement brings them back in place.

 

But I totally agree with you: Flexible assemblies should behave better

Walter

 

Formwork rama in place.jpg

Walter Holzwarth

EESignature

0 Likes
Message 37 of 41

Cris-Ideas
Advisor
Advisor

Hi,

I have downloaded model you made.

 

I am so sorry Smiley Sad, I have had it crashed in 30 sec. What I did was just activating pos reps and dragging a little bit with a mouse.

 

All was seem to be fine until I activated last one. That's what happened then:

 

 

I wonder if anyone from Autodesk is interested in solving this issue?

 

In the meantime when I was playing with this data set I have discovered that inventor also forces Flat assembly in positions against its internal constraints. This is basically exactly the same behaviour that we experience when using "so called flexible" components but it is happening when I only work in ordinary Flat assembly + I am not using any symmetry or range constraints !!.

 

This brings me to following conclusions:

1) I have to revoke my statement that inventor can solve flat assembly in 100% stable way. Well there are situations when it forces components in to positions against properly defined constraints.

 

2) Problems occurring when using flexible components occurs much faster than for flat assembly but in essence they are identical

 

3) Problem is probably not caused by flexible component it self but by bug in part of a code that checks if solution obtained from constrain solver meets conditions of defined constrains, if such code exists. If such code does not exist it is a direct cause of a problem. And flexible compnents only trigger this problem more easily

 

If only there is a will from Autodesk development to solve this, I am more that happy, as always, to provide all help I can give by sending all data sets, screencasts, and all my observations.

 

So far all my effort is resultless basically.

 

Cris.

 

Cris,
https://simply.engineering
0 Likes
Message 38 of 41

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

Many thanks for bringing this issue to our attention! Your findings actually validates my initial suspicion. I don't think the constraint failure is related to flexible subassembly or flatten assembly. This is mainly related to the symmetric piston movement. What is interesting in this case is that all the pistons need to move symmetrically in both directions (does not matter if symmetry constraints are used) at any given position. This requirement creates difficulties for the constraint solver to obtain a stable solution. You will see if this requirement is not there, the solve result is much more stable and I am not seeing errors.

There could be a bug or a limitation here but it is not apparent to me at the moment. I will keep you posted if I find anything meaningful to share.

Thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
0 Likes
Message 39 of 41

Cris-Ideas
Advisor
Advisor

@johnsonshiue

Hi Johnson,

It's nice to have you back as you are only person can really do something about hits problem.

 

You said my findings validate your findings. Well I do not feel they do at all.

 

In my opinion what my findings show is just opposite.

 

First  is that : they show clearly that there are problems with flexible assemblies because they crash easily.

 

Secondly I showed that constrain solver crashes flat assembly that use no symmetry, no range and no undirected angle constrains. I used only mate and flash constraints to build it and still it is crashed and forced against defined constraints.

 

Thirdly: It can be clearly seen that inventor forces assembly in to positions against their internal constraint and accepts this kind of solution. This is unacceptable for me. After such operation assembly is often destroyed to the point that it can only be rebuild from scratch, this is some madness.

 

So in my opinion there is a problem with how solution obtained from constrain solver is validated. And obviously it is validated not correctly, if at all, since Inventor accepts positions of components against constrains defied. Using flexible assemblies triggers this behaviour very easy, so it seems obvious flexibility has something to do with it.

It is very easy to crash assembly using flexible components, so it should not be so much trouble to truck what causes it. Surly there is some debugging strategy build in source code for Inventor and developers can access it.

If you want something that crashes every time just save assembly that is corrupted and open it again. It will be forced in to position against its internal constraints, every time.

 

Over time I have spend many weeks fighting this problem, documenting, posting, sending e-mails, bringing up support cases, making videos and preparing data sets.

I know that every assembly, that I try to use flexible component in, will be destroyed eventually, and this is so frustrating that I cannot use this functionality that would really be a help to me in my work.

 

I understand that it may not be a priority task for Autodesk to fix bugs. So I can accept a temporary patch or even a permanent patch that would be left there for ever and actual problem never be solved.

 

If there are problems of constrain solver and it cannot be overcome, so left them there, but I beg you please prevent Inventor from destroying assemblies. If there is a known constrain solver issue just make a proper control module that would validate solution that is to be applied to assembly to verify if it meets assembly and flexible components constrains. This should not be that difficult. Also it would solve end user problem with being forced to rebuild assemblies from scratch.

 

Of course long term solution that would be finding and removing cause of this problem would be much better.

 

Is there a chance we can have more detail conversation on:

  • what is actually triggering this problems and why assemblies are forced in to positions they cannot recover from?
  • How constrain solver works,
  • what are steps in solving assemblies?
  • how exactly is flexible assembly handled? Why there are "inconsistent constrain error messages" so often and really nonsensical (they indicate constraints conflicting that are not conflicting in reality).

All that details can help users, like me, to avoid problems we are experiencing

 

As for myself  I wish to offer you any help I can provide, and you can make use of.

 

Cris.

Cris,
https://simply.engineering
0 Likes
Message 40 of 41

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

Many thanks for your comments! I would like to clarify things a bit. First, I am not the only person trying to help Inventor customers. There are many team members very active on the discussion group helping resolve various customer issues on a daily basis. Second, the term "Crash" in this case is technically incorrect. Inventor does not crash in this case, but the components are placed in a postion opposite to your design intent. Based on the given constraints, they are legitimate solutions (Mate constraint simply means the cross product of two vectors is zero). Third, the issues you are encountering are not related to Flexible or Flattened. It is because the behavior persists regardless of Flexible or Flattened. I am very certain it is related to the symmetrical movement in the piston. The pistons need to move in two opposite directions in the same increment. It actually reduces degree of freedom.

There are issues to be understood better. I am trying my best. I will get back to you as soon as I make some progress.

 

Thanks again!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
0 Likes