Flexibility not working properly in inventor - BUG that has been there for ever

Flexibility not working properly in inventor - BUG that has been there for ever

Cris-Ideas
Advisor Advisor
20,270 Views
233 Replies
Message 1 of 234

Flexibility not working properly in inventor - BUG that has been there for ever

Cris-Ideas
Advisor
Advisor

Hi,

I am trying to use flexibility feature but every time I give it a chance it fails me. There is a bug somewhere in inventor that makes it not capable of properly solving assemblies with flexible components.

 

This time I have run on to this issue with a very simple assembly, had been able to reproduce this buggy behaviour  tens of times, and had made video for you.

 

 

After unsuccessfully trying to post this I thought I will make another video for you so you could clearly see what is the difference when assembly is flat.

 

Here it is.

 

 

Here I have uploaded data set for you to play with :  http://a360.co/2fmTsvD

 

And in case you also think this is not working properly you can support idea to fix this: Fix flexible assemblies !

 

Cris.

Cris,
https://simply.engineering
Reply
Reply
20,271 Views
233 Replies
Replies (233)
Message 201 of 234

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

This is a very good assembly. I am very impressed. I think I know where the problem is. The may or may not be related to Flexible. I believe the same constraint failure may exhibit itself if Flexible was not used (flattened level). The issue here is that the crash has three main DOFs (two rotational and one linear). The crane arm can extend or contract. So does the anchor. Inventor is not that good at handling this kind of case. Essentially, there are multiple solutions. It could run into a rabbit hole and get stuck in it.

I need to think about the case and see if some DOFs can be restricted (limits) but I am not 100% sure.

Regarding the old case of Design Doctor not reporting the error (TFS-166160). The status shows it should no longer be reproducible. If you have a case like that, it might be a separate issue. Please share the files with me johnson.shiue@autodesk.com.

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Reply
Reply
0 Likes
Message 202 of 234

cadman777
Advisor
Advisor

The way I handled that in the past is to create separate assembly (iam) files for each step in the process. That was easiest, b/c I make the first assembly of all the parts, then copy that assembly and reuse it for each successive step in the process. For each successive iam all I do is subtract or move pieces of equipment or parts, until all phases are complete. See attached example...

... Chris
Win 7 Pro 64 bit + IV 2010 Suite
ASUS X79 Deluxe
Intel i7 3820 4.4 O/C
64 Gig ADATA RAM
Nvidia Quadro M5000 8 Gig
3d Connexion Space Navigator
Reply
Reply
0 Likes
Message 203 of 234

Cris-Ideas
Advisor
Advisor

That is good until I need to change something significant.

in such case I need to manually update all of this "individual step assembly". So manually updating constrains in many assemblies only to get identical constrains of the same geometry.

Having software so advanced as Inventor claims to be I would expect no to be forced to do such things.

And generally I refuse to.

If I have POS REPS, I expect them to work. If they are not working it should be Autodesk responsibility to fix this rather than mine to find workarounds and keep quiet.

 

I do not have a feeling I am pushing Inventor beyond anything it was designed for (at least is saied to be desinged for by its makers and advertisers)

 

Cris.

Cris,
https://simply.engineering
Reply
Reply
Message 204 of 234

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

I have some update to provide regarding this isseu (#290). You are right. It is indeed a painful process to set up the PosReps. 2021 is more tolerable. The same operation may not be doable in the past. Regardless, it can be done. I have the dataset ready. Please let me know where to drop it.

Aside from Inventor defects and weird behaviors, there are a few things I would do differently.

1) The angular constraint on the crane lift is not reasonable. Better geometry targets can be used.

2) The crane truck should be firmly grounded (except the crane). The flexible supports are adding complexity, making the movement complicated. As you know, there is a difference between fully constrained and grounded. When a component is grounded, its DOF is taken out of compute. As long as there is a constraint, it will need to be computed.

3) In PosRep, drastic movement from Master to another place (like turning the crash 180 degree) can lead to failures. I think it may have something to do with the initial location.

 

Here is what I did.

1) Make the crane truck flexible.

2) Delete all the pre-existing PosReps within the crane truck.

3) Activate the crane truck's PosRep:Master. Create a Mate constraint between the anchor and the hook. It may fail. Suppress the Mate constraint.

4) Activate the "on truck 1" PosRep at the top-level.

5) Edit the crane truck in place -> create a new PosRep -> move the crane near the hook so the Mate will work.

6) Make sure the position overrides are captured within the new PosRep. Return to top and unsuppress the Mate constraint.

7) Repeat step 4 to 6 for other PosReps.

 

Like I said, the process is tedious and error-prone. But, it is doable. Please let me know where I can upload the file.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Reply
Reply
Message 205 of 234

Cris-Ideas
Advisor
Advisor

@johnsonshiue wrote:

.... Challenge accepted!  ....


@johnsonshiue  how are your tries? Will we see any results?

Cris.

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 206 of 234

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

I can share the files that I tried a few weeks ago. Should I upload to the original folder you shared?

Merry Christmas and Happy New Year!

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Reply
Reply
0 Likes
Message 207 of 234

Cris-Ideas
Advisor
Advisor

@johnsonshiue 

Hi Johnson, I have missed some of the conversation as I am not getting notifications from the forum (once again, this happened few times in the past) I do not know the reason.

 

As for your data set I think best, and most appreciated by all, would be if you record a video explaining in brief how you did approach the problem and upload the data set somewhere and post a link for download along with a video.

 

I understand you took some approach so it is essential for us to understand it. It is most convenient if it is explained with a video including comments of the author (voice).

 

I am anxious to see how your assembly performs and how it is constrained.

 

Comment regarding initial crane assembly;

I believe that crane assembly was constrained in the way to there was only one solution for a given position of the hook.

It had 2 rotation DOFS and one movement. So with those 3 DOFS to get the hook in every position there is only one solution (considering limits of the constrains, as defined, preventing boom to flip down, and preventing hook from flipping).

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 208 of 234

Cris-Ideas
Advisor
Advisor

@johnsonshiue 

Hi Johnson,

let me refer to your post with some comments and questions:


@johnsonshiue wrote:

....

1) The angular constraint on the crane lift is not reasonable. Better geometry targets can be used.

Could you be more specific and a little more descriptive over what are better and worse geometry targets for constrains? Until now I was convinced that all geometry is made equal, but it sounds not to be the case.

Is "being better or worse" geometry target for constrain also true/valid for other type of constrains or it is just angular constrain that is involved in this distinction?

As for myself when I apply constrain there is always (99,9% of the time) some logic behind it. So if now it turns out that constrain I have applied is somehow cause of a problems I really would use to know and understand why.

2) The crane truck should be firmly grounded (except the crane). The flexible supports are adding complexity, making the movement complicated. As you know, there is a difference between fully constrained and grounded. When a component is grounded, its DOF is taken out of compute. As long as there is a constraint, it will need to be computed.

We could argue if I know there is as difference in how grounded and fully constrained component is handled. Personally I would conclude I do NOT know the difference because I have never read any Autodesk document describing how constrain solver works and what principle it takes.

Only knowledge in this regard I have from experiments that to say the least are inconclusive.

So I will most appreciate if you could give us some inside view and knowledge how this kind of things are handled by Inventor.

Especially interesting aspect is how grounded component is positioned, and how its transformation matrix is set.

Also from many experiments it is obvious that inventor deals with independent parts when solving assembly level even if this parts are placed in multi level sub assembly structure. So I wonder how grounded components are handled if they are grounded many levels down in the structure? 

3) In PosRep, drastic movement from Master to another place (like turning the crash 180 degree) can lead to failures. I think it may have something to do with the initial location.

As for my understanding POS REPS are just "containers" that allow for representation of assembly in various positions depending on different or changes set of constrains. So there should not be any issue with "drastic" movement from one POS REP to another as "drastic" should not even be a justified adjective to use.

If set of constrains defined in given POS REP allows assembly to be properly solved it should be solved no matter how other POS REPS are defined, and even it should be solved properly even if Master POS REP is broken. Each POS REP should be INDEPENDENT form others in solve. Otherwise there is "movement"  required form one POS REP to the other that may not be geometrically possible (for what ever reason). But in the same time this two POS REPS may be fully legitimate as individuals.

Also how order of switching between POS REPS influences what you have described? If I have 4 POS REPS each 90 deg from previous, when I go 1-2-3-4 (0-90 deg-180deg - 270 deg) according to your description it should work, but what happens if I try to go 1-3-4-2,  (0-180 drg - 270 deg - 90 deg) will it be more probable to brake twice on the way?

 

Here is what I did.

1) Make the crane truck flexible.

2) Delete all the pre-existing PosReps within the crane truck.

So are you saying that flexible component will cause problems if it has POS REPS defined?

And what if flexible component uses other component that is represent in POS REP of its own? (and so on deeper and deeper in the assembly structure)

3) Activate the crane truck's PosRep:Master. Create a Mate constraint between the anchor and the hook. It may fail. Suppress the Mate constraint.

I do not get that. You need to explain more.

Especially please explain why you did write "It may fail"? Why constrain should be expected to fail if it is fully legitimate?

4) Activate the "on truck 1" PosRep at the top-level.

5) Edit the crane truck in place -> create a new PosRep -> move the crane near the hook so the Mate will work.

This I also do not get.

Are you saying I should create POS REP within truck assembly?

Also as I understood (incorrectly perhaps) you require me to manually move the crane assembly in to a position where constrain works. This I would say is rather unexpected requirement (assuming I understand correctly). It is obvious, constrain will work if elements are already in the position this constrain is met. But this is totally opposite to what users expect from constrain. I, as a user, expect so it is the constrain I define that brings the geometry to a position, that is required for this constrain to be met. Otherwise  it has very little sense. If constrain is not capable of bringing geometry together, there is not reason for this constrain to even exist. 

There is infinite number of possible relative positions of the given geometry of two elements, that may be caused by initial placement, solve of other constrains, some random user inputs, free DOFs, set of constrains that can lead to many solutions and infinite number of other causes and reasons.

So it is only reasonable to expect that if a constrain is defined (assuming it is legitimate) it will bring geometry to a defined potion NO MATTER WHAT, no matter where it is and what is even more irreverent no matter what was the cause to bring it to the position it is (again assuming it was not another constrain that would be conflicting with the one we now consider)

6) Make sure the position overrides are captured within the new PosRep. Return to top and unsuppress the Mate constraint.

7) Repeat step 4 to 6 for other PosReps.

I am pretty sure it will brake the moment you decide to edit some of the constraints that are positioning this tower and flexible crave will have to follow.

This is actually the biggest pain.

It is possible to get it to a position as you described, but it breaks very quickly.

But let us see your model. Perhaps I am wrong about that. 

 


 

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 209 of 234

swalton
Mentor
Mentor

I'm watching your video and I have downloaded the crane model.  I am using Inventor 2021 at home.  I use Inventor 2020 at work.

 

@2:18 The Crane Boom jumps to some odd position and @4:17 The mate constraint between the hook and the lifting ring:  I have seen similar behavior.  The parent assembly is not showing a red cross when the sub-assembly can't be solved.  I usually have to open up the sub-assembly.  Sometimes I see a red cross and sometimes not.  I can usually drag a component to trigger the red cross, and then edit one of the broken constraints.  I don't have to change anything about the definition of that constraint, just open and close the edit window.  Inventor seems to re-evaluate the constraint and think it is good.  I may have to go through several "sick" constraints in the same manor until the sub-assembly will solve correctly.  Once the sub-assembly is working, I can go back to the parent assembly and add new constraints.  When I opened the model from dropbox, I had to use rebuild all to find a sick constraint in the crane sub-assembly.

 

It is my belief that once the Inventor constraint solver has a sick constraint, it will not solve any additional constraints predictably.  All sick constraints must be fixed before moving forward.

 

Autodesk needs to make sure that the red cross shows up when there are problems with the assembly.

 

I opened the 1_tower principle.iam from the dropbox link.  Thanks for posting the models.  

 

Here is a screencast while I took a look at the model with Inventor 2021.

https://autode.sk/38MXc2I

 

Did you know that Flush:2 between Group_11_1 and Group_11_23 in the crane assembly was broken?  I only found it by using the Rebuild All command.  Inventor did not display a red cross until after the rebuild all command.

 

I was able to get the "on truck 1" and "on truck 2" position reps to behave as expected.  The "intermediate lift" position rep is troublesome. 

 

Why are the outriggers for the crane set as flexible?  Why not make a stowed and extended position rep for them?  That way, Inventor does not have to try to solve a flexible sub-assembly of a flexible sub-assembly.

 

Conclusion:

I agree that Inventor should solve flexible sub-assemblies.  It does a very poor job today with the 1_tower principle.iam  (Inventor 2021 Build 183).  A quick review of the release notes for the various Inventor 2021 updates does not suggest any changes to the constraint solver for flexible sub-assemblies.  I did not see any mention of any improvements to the Design Doctor/red cross icon.

 

I think Inventor works best if it is limited to 1 or 2 unconstrained degrees-of-freedom in flexible sub-assemblies.  I think nested flexible sub-assemblies have too many unconstrained degrees-of-freedom to be useful in real-world paying work.  

 

Recommendations for this assembly:

  1. Re-think your assembly constraint strategy. 
    1. Drive the location of hanging tower:1 with specific position reps in the crane sub-assembly.
      1. Use a combination of  constraints between hanging tower:1 and the origin work features of 1_tower principle.iam and constraints to the crane sub-assembly. 
    2. Use some 3d Annotation dimensions to monitor the location of the tower sub-assembly relative to the origin of the 1_tower parent assembly, if they are critical.
      OR
    3. Keep the current constraint strategy for hanging tower:1 and assemble the crane in the 1_tower principle.iam, not in leibherr LTM 1250 crane.iam. 
      1. Keep the crane sub-assembly somewhere on your hard drive.  Use ctrl-c and ctrl-v to copy the various sub-components from the crane assembly to the 1-tower principle.iam.  That way you don't have to recreate all the constraints each time you need to use the crane components.

 

 

 

 

Steve Walton
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Inventor 2025
Vault Professional 2025
Reply
Reply
Message 210 of 234

Cris-Ideas
Advisor
Advisor

@swalton 

I mostly agree with your observations regarding behaviour of flexible assemblies.

Although I have to say that I do not consider constrains that are reported as sick or conflicting as such if they are geometrically fully legitimate.

 

I did not see your screncast yet (will do it tomorrow)

 

Thanks for the suggestions.

In general I probably not even expect this to work at this time. After all I had to go through and still did not get proper result (just as I was making a presentation I had noticed that although crane looked as solved properly in fact it had lost main book jacks, they are totally gone).

 

As for the constrains strategy I believe I would only accept so flexible component is following main assembly POS REPS. as this is what I find reasonable. It is the top assembly requirement so some components are in the positions I need them to be. And it would not be a "desired" solution to define top level positions by using POS REPS of FLEX component. This seems rather "up side down" solution.

 

As for copying and pasting elements of sub assembly in to the top level assembly this is something that works but this is rather PITA solution.

If I am to build everything on the top level so why to even bother using sub assemblies and flexibility.

Inventor is always advertised to have this features (POS REPS and FLEX) so they should work.

 

What you said about constrain solver and design doctor interaction is interesting.

This leads to a conclusion that it is actually unpredictable and beyond any controls or ever recognition of the user if assembly is actually solved or not. If you was able to find constrains that, as you said, are sick but in fact there is no indication of that, this means that in such situation all solve results are unpredictable and it is pure game of chance if what you see is what you expect or something totally different. (like in the moment this boom flips suddenly).

 

Honestly I am not able to understand how this is possible so Autodesk is not able to make a constrain solver that actually works. It is just beyond belief.

 

Sadly there is one conclusion:

More than 9 versions of inventor (at least since AI 2012) have past and such fundamental thing as constrain solving was not brought to a state when it is 100% stable.

This forum thread is over 4 years old now and still there is no real progress in usability of flexibility in inventor.

It still does not work. But not Flexibility alone, in fact constrain solving when there is no flexibility involved is also not 100% stable and is bringing ridiculous errors. like in this case:

 

My guess is most of us will never see this fixed.

 

Cris.

 

 

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 211 of 234

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

Indeed, a video is probably better than the wordy explanation. Here is the 20 minutes video I recorded to show the process I used. I suppressed the redundant constraints and redefine the angular constraint.

Like I mentioned earlier, the process is very tedious to say the least. I made a mistake toward the end of the video (I inadvertently activate Master PosRep in the crane truck subassembly leading an error). But, it can be recovered easily. Basically, you want to remove DOF and redundant constraints. Make sure there are no constraint failures. Then create PosRep in the subassembly one at a time. Move the flexible components near the desirable location. Then lock it by enabling the Mate constraint between the anchor and the hook. Also, enable Position Overrides so that the position is kept in the PosRep. Simply repeat the process for all PosReps.

I am not going to attach the file since the video should show the steps to get the desirable result. I do understand it is a painful process and any misstep in between can lead to undesirable result easily. But, like I said earlier it is doable regardless.

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Reply
Reply
0 Likes
Message 212 of 234

Cris-Ideas
Advisor
Advisor

@johnsonshiue 

Johnson, I think you forgot to link the video.

Can you also link your model for download?

 

Cris.

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 213 of 234

Cris-Ideas
Advisor
Advisor

@swalton 

Great video!

 

And some comments:

1) Great hint with checking override of flexible status. I never did that, but now I will. Will definitely come up with some findings over time.

I think that it may also be beneficial so to explicitly override POS REP of the component, just for this little extra "safety"

 

2) When about @8:20 you try 3-rd POS REP on the top level and it gets mixed up. Than this tower go in to collision with the truck. This representation is coming from inventor mixing up POS REPS of the tower. This moment it actually user its MASTER POS REP rather than the POS REP set to be used. This is one of the other bugs wit POS REPS that inventor still has.

 

3) I love this comment:

"now why I had to go through this  exercise of suppressing the constraints, getting the moving part in to its correct location, making the crane follow it. I am not sure, but that's typical."

 

4) @ 13:30 You suggested that it may behave better if tower and crane pivots around the same axis.

Interesting thought. Would it be possible for you to experiment your way?

 

Answering some questions you had on the way:

1) origin of the cab is in strange positions because this is a model I have uploaded from somewhere and it is done by someone else. there probably was some thought behind this setup, but I am not able to say what it was.

2) constraints for the position of the tower on the top level - so basically I needed to do it like that because lack of reference points as my "reference" model, (you do not have)  has no geometry I can constrain to. Also I thought it will be more straight forward to constrain moving tower to origin of the top level. As for extra points I needed they are there as I was getting unstable solve of the tower in POS REPS if I tried to constrain it in the other way. I do not have any intermediate model to show the exact difference in constrain strategy I was using, and I am not able to recall exactly what it was.

3) yes the reference vector for the tower was in fact Z axis of the top level. In any case I need a angular constraint I ma trying to select reference as something stationary and directly on the top level. in this case this is origin plane (YZ) & Z axis.

 

 

 

Concluding

If anyone has a better idea how to constrain things in this model please feel free to explain your strategy. I am open for any suggestions (but with explanation why). This mode I have provided so it can be changed in any way anyone wants. Only the general design intent is to stay.

 

Cris.

 

 

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 214 of 234

Cris-Ideas
Advisor
Advisor

So I have been working a bit,

and again constrain solver proves to be ..... (how to put it... ) ... not up to the task, a simple task I must add.

 

 

and a model:

https://www.dropbox.com/s/x4xkvmuza9733bp/%23%20294%20bug%20-%20model.zip?dl=0

 

Cris

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 215 of 234

cadman777
Advisor
Advisor

Same defect in Inventor 2010.

I've run into that many times over the years using this version.

Solutions:
1. I live with it, or

2. Sometimes fiddling around with the constraints can solve it, or

3. But mostly it doesn't have any solution.

Cheers...

... Chris
Win 7 Pro 64 bit + IV 2010 Suite
ASUS X79 Deluxe
Intel i7 3820 4.4 O/C
64 Gig ADATA RAM
Nvidia Quadro M5000 8 Gig
3d Connexion Space Navigator
Reply
Reply
0 Likes
Message 216 of 234

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

Sorry for missing the video link! I thought I did attach it. What a pain! The video is 21 minutes long without no audio (please see above reply). The steps should be fairly easy to follow. It is tedious indeed but doable.

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Reply
Reply
0 Likes
Message 217 of 234

Cris-Ideas
Advisor
Advisor

@johnsonshiue 

would it be a huge problem for you to give a link to your model?

 

Cris.

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 218 of 234

Cris-Ideas
Advisor
Advisor

@johnsonshiue 

Although there is no sound, which is a huge drawback, this video is quite useful.

I have noticed some tricks, I will definitely use in the future.

 

I also have some comments I would like to ask you to address somehow:

 

@6,48 crane gets out of proper "form", and there is no indication by the design doctor.

How do you consider this situation? Bug, problem, no problem.....

 

2021-01-05_20h52_02.png

 

@9,54 again, even thought this POS REP was already working before.

2021-01-05_20h59_35.png

 

@11:85 when you activate "position 4" of the crane model clearly DOES NOT follow this POS REP.

cabinet almost along with the crane

2021-01-05_21h06_39.png

cabinet Clearly across

2021-01-05_21h09_15.png

 

@12:52 crane again clearly violates its constrains.

and it continues this way for a while.....

actually it is still in this position when you activate "props taken" POS REP for the second time @13:52

and again @14:18 so consistently at wrong representation

the same again @15:42 with "position 5" of the crane

still continues like that until the end of the video.

2021-01-05_21h12_50.png

2021-01-05_21h25_40.png

 

 

@21:04 we clearly see how TOP LEVEL assembly DOES NOT follow its constrains.

 

2021-01-05_21h27_58.png

 

 

So I would say:

Great effort, but result ...

....no so perfect,

as we can clearly see some obvious errors in the model, present even after all your efforts.

 

Cris.

 

 

Cris,
https://simply.engineering
Reply
Reply
0 Likes
Message 219 of 234

johnsonshiue
Community Manager
Community Manager

Hi Cris,

 

I can share the model in a zipped file if you can offer a cloud drive. During the video recording, some of the components graphics is not updated immediately. I am not sure if it is PosRep related or graphics related. I cannot explain it. Regarding other weird behaviors, I also don't have a good explanation either. You probably know PosRep as well as (or more than) I do.

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Reply
Reply
0 Likes
Message 220 of 234

Cris-Ideas
Advisor
Advisor

@johnsonshiue 

regarding bad behaviour of components I am not so much looking for en explanation from you, but simply statement whether you think they should or should not be the case.

 

As for experience with POS REPS and so I am sure you are able to find people in your team that know much more than I do in the matter.

I think we would all benefit from having such a person explaining why this things happen. If we have this knowledge perhaps it will be possible for us to find stable workarounds or modelieng practices.

Right now we are more "wondering in the fog" rather than anything elese.

 

For example, this misalignments I have pointed. Are they only graphical glithes or in fact bad positional representaitonf of the assembly?

 

 

As for the cloud drive, I thought you have A360 drive and could share the model from there.

If not please we-transfer it to me and I will provide network share to make it available for others..

 

Cris.

Cris,
https://simply.engineering
Reply
Reply
0 Likes