Community
Inventor Forum
Welcome to Autodesk’s Inventor Forums. Share your knowledge, ask questions, and explore popular Inventor topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Supressing component does not supress constraints ?

27 REPLIES 27
SOLVED
Reply
Message 1 of 28
divingdoug
5144 Views, 27 Replies

Supressing component does not supress constraints ?

I often use multiple versions of components in my assemblies so I can validate the top level assy works in all it's expected configurations.  Basic, engineering really.

 

To that end, if I have different versions of component A, I supress all except the version I am working with.  I have discovered though, that supressing the component does not supress the contraints that component has to an unsupressed component in the assy.

 

Really ?   The purpose of suppressing something is to essentially eliminate it from existance without deleting it from the file so it can be brought back quickly in all its glory.

 

If I have to track down every contraint there is for a supressed component and supress them independently, that is an incredible consumption of time.

 

Is there a switch or setting I am missing here?

 

Doug

27 REPLIES 27
Message 2 of 28
mpatchus
in reply to: divingdoug

All of the constraints applied to a particular component can be found in the browser.

Highlight them all and RMB, Suppress.

 

Constraints.JPG

Mike Patchus - Lancaster SC

Inventor 2025 Beta


Alienware m17, Intel(R) Core(TM) i9-10980HK CPU @ 2.40GHz 3.10 GHz, Win 11, 64gb RAM, NVIDIA GeForce RTX 2080 Super

Did you find this reply helpful ? If so please use the Accept as Solution or Kudos button below. 🙂
Message 3 of 28

Hi  divingdoug,

 

Suppressing a component creates a Level of Detail (LOD)  representation. The purpose of LOD representations is to unload the component definition from memory. By design, suppressing a component does not remove it from the Bill of Materials or remove related assembly constraints.

 

If you are intending to create assembly configurations, then you will want to use iAssemblies rather than LOD representations. If we want to suppress constraints for the purpose of motion representations, then we'd do so using a Positional Representation.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

 

 

Message 4 of 28


 The purpose of LOD representations is to unload the component definition from memory. By design, suppressing a component does not remove it from the Bill of Materials or remove related assembly constraints.

 


Ok, so you unload the component def from memory.  With no def, there should be nothing for the contraints to react to and therefore they should supress as well.  That it is still part of the BOM makes sense since it is still in the tree. 

 

But why would you want or need to maintain the contraints to a component that is absent from the LOD.  When you supress a component, all children of that component should supress as well.   I do consider a constraint to be a child feature as without one of the parent components, it can not exist (without being broken).

 

This approach by AD is yet another in a long list of 'features' that are anti-beneficial to the end user.  Based on two responses, there is no changing this behavior so guess I will learn to deal with it.  Again.... for every mouse click needed in SW, IV needs two or more.  Lots more in this case.

 

Thanks for the replies

Message 5 of 28


@divingdoug wrote:

But why would you want or need to maintain the constraints to a component that is absent from the LOD. 

 


Hi  divingdoug,

 

That's a fair question, but I think the key word is absent. When you suppress a component in Inventor, you're not actually removing it from the assembly. To do that you would want to create a configuration using the iAssembly tools.

 

I often suppress fasteners from my assemblies to create Level of Details views for my drawings. This creates a more lightweight drawing view that allows the drawing to open and regenerate more quickly. If the assembly constraints applied to my fasteners were suppressed when the parts were suppressed my entire assembly would then be unconstrained and be prone to falling apart when I placed and constrained a new part. That would cause a lot of problems and make LODs impossible to use.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

 

 

Message 6 of 28

Understand your approach.  That is where I would use the visibility feature I guess.  Get the obstructing item out of the picture without losing all the underlying 'support' it supplies.

 

 

Message 7 of 28


@divingdoug wrote:

Understand your approach.  That is where I would use the visibility feature I guess.  Get the obstructing item out of the picture without losing all the underlying 'support' it supplies.

 

 


Hi  divingdoug,

 

I just want to be clear that I'm not meaning to be argumentative here, but I do want to point out the difference between Visibility and Suppress in Inventor, so that it does not trip you (or the next person who reads this) up at some point in the future.

 

Visibility removes the part from view, but still leaves it in memory. Visibility can be managed with View Representations, which also controls camera view, color overrides, etc. Visibility is always tied to View Representations. View Representations have their own specific purpose that is used to set up views for drawing files and presentation files.

 

Suppress on the other hand, removes  that file from memory, which is an important difference for users who deal with large and/or complex assemblies. When a design group puts together an assembly of a conveyor system that has 250,000 parts for example, it's very important that they be able to suppress components and manage the level of detail shown in the assembly drawing, otherwise at some point they can not open the drawing file without the computer running out of memory. They need the ability to suppress components without removing assembly constraints or impacting the bill of materials, and this is what the Suppress option does. Suppress is always tied to Level of Detail Representations.

 

A third option that many users overlook, is the Enable option. Enable turns off the component in the assembly, and that is it. The Enable option is not tied to any representation type. It simply "removes"  the component from view in the assembly, and it is typically the best option for just getting the component out of the way for the moment. Components that have been "un-enabled" are shown with green browser icons.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

 

 

Message 8 of 28

 

A third option that many users overlook, is the Enable option. Enable turns off the component in the assembly, and that is it. The Enable option is not tied to any representation type. It simply "removes"  the component from view in the assembly, and it is typically the best option for just getting the component out of the way for the moment. Components that have been "un-enabled" are shown with green browser icons.

 

 


Note that your description of the Enable option is incorrect.  Disabling a component does not "remove" it from view, it, as best as I can decribe it, 'ghosts' it.  A semi-transparent apparition of the component is still visible but it is not selectable.

 

On the suppressing front, I as well am not trying to be argumentative but continually become frustrated by what IV fails to do compared to SW.  You mentioned losing contraints if you were to supress what was created by your fateners. Indpendent of what can be done to address it, I would suggest constraining components by their fastening features (tapped hole to clearance hole, etc) as opposed to using the fastener as the linking item.  Fasteners are generally for show-n-tell and bom's in my world and never a driving component in an assembly.

 

I also have done some experiemts with the IV i approach to things and have found it to be cumbersome to use.  It creates a miriad of sub-folders and eats up disk space needlessly.  I long for the ability to use SW's configurations.  Everything you need placed neatly in a single file.

 

I use IV now not because I choose to but rather it is what the corporate monster that bought our company dictated.  Does it do what I need? Sure.  It just takes a good 50% more time (and frustration) because of all the assorted workarounds and additonal clicks that I have to complete. (compared to SW)

 

I dare say, give me a fresh install of SW and an experienced user on a fresh install of IV and I could run circles around them.

 

Not trying to get the last word, but my company does not care to listen to anything that shines a negative light on their decisions and I must vent somewhere.

Message 9 of 28
jtylerbc
in reply to: divingdoug

The problem, I think, is that you have a misunderstanding of the purpose of component Suppression in Inventor.  This is not uncommon - it's actually one of the most common errors I see among newer users.  When I was new to the program, I made some real messes with Suppression myself, which cost me a lot of time, frustration, and headache medication.  This prompted me to do some research into the subject, and as I came to understand the tools better, I found that most of my problems with Suppression and Levels of Detail were caused by the fact that I was using them incorrectly (and in most cases, shouldn't have been using them at all!)

 

Component Suppression is simply not a tool for doing what you are trying to do, at least not by itself.  It is a memory management tool, intended to improve the performance you see from Inventor.  It does this by removing those components from the computer's memory, but continues to solve constraints so that the parts will reappear in the correct place later on if you unsuppress them.  When using it, you create Levels of Detail, which save combinations of Suppressed and Unsuppressed components.  When set up properly, these representations let you switch between different aspects of your design, suppressing parts you aren't currently working on to save memory.  In my opinion, with the advent of 64 bit operating systems, Suppression is becoming less and less useful.

 

I think, to do what you want, you should be turning off Visibility of the component, then suppressing the related constraints.  You shouldn't have to search all over the assembly to suppress those constraints, as they should be listed under that component itselt.  Just expand that part's entry in the browser, select all the constraints attached to it, right click and choose Suppress.

Message 10 of 28


divingdoug wrote:

Note that your description of the Enable option is incorrect.  Disabling a component does not "remove" it from view, it, as best as I can decribe it, 'ghosts' it.  A semi-transparent apparition of the component is still visible but it is not selectable.



Hi divingdoug,

Indeed, your description of the Enable optiuon is more accurate than my clumsy use of the word "removes".

 

 


divingdoug wrote:
I dare say, give me a fresh install of SW and an experienced user on a fresh install of IV and I could run circles around them.

It's been a long time ago, but I remember a coworker saying almost the same thing about AutoCAD vs Solidworks back when I used Solidworks.  He was very knowledgeable of AutoCAD and never accepted that he should stop expecting Solidworks to do what he expected it to do based on his past experience with AutoCAD, rather than what Solidworks was designed to do. A couple of times a month this forum sees the same sort of expectation from users moving from AutoCAD to Inventor or Solidworks to Inventor or ProE to Inventor, etc.

 

I understand that you're more comfortable with Solidworks, and you've made it very clear on this thread, and in the past, that given the choice you'd prefer to use Solidworks. But I would encourage anyone who moves from one CAD package to another to put some time into understanding the tools they have in front of them, particularly when we feel frustration about things not working as expected. Most often it's because we're expecting it to work in a way that it was not designed.

 

 


divingdoug wrote:

 

... I must vent somewhere.


This is not really the best place to vent. But if you're looking for help understanding the tools in Inventor, I think you'll find this forum to be very useful.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

Message 11 of 28


@jtylerbc wrote:

 

I think, to do what you want, you should be turning off Visibility of the component, then suppressing the related constraints...


Hi jtylerbc,

 

I think that iAssemblies might be the better tool to use, but divingdoug's statement "To that end, if I have different versions of component A..." makes me think that there might actually be other tools that could help with the overall workflow, depending on the details.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

Message 12 of 28
blair
in reply to: Curtis_Waguespack

This might explain the differences between Suppress, Enable and Visible.

If you were modeling an engine and you constrained the head to the block. If you suppress the block, the head would still be constrained and would remain fixed in it's position even though it is removed from the memory footprint in the assembly.

 

If you turned off the visibility of the block and you tried to measure an item from the bottom side of the head the block would get in the way and you would have to scroll through features and faces to get to the bottom side of the head to measure it even though you can't see it, it is selectable.

 

If you suppressed/enabled the block, you would be able to measure features and such on the bottom side of the head as if the engine block was not there even though you can still see it's transparent shape, it would not be selectable.


Inventor 2020, In-Cad, Simulation Mechanical

Just insert the picture rather than attaching it as a file
Did you find this reply helpful ? If so please use the Accept as Solution or Kudos button below.
Delta Tau Chi ΔΤΧ

Message 13 of 28


@Curtis_Waguespack wrote:
I think that iAssemblies might be the better tool to use, but divingdoug's statement "To that end, if I have different versions of component A..." makes me think that there might actually be other tools that could help with the overall workflow, depending on the details.

 



That may be true.  I was reading what he was saying as being more about "alternate designs" than "configurations".  In that case, when finished only one of the designs would actually be kept, and it seems to me that the setup and management of the iAssembly would be extra work that wasn't really necessary for something that is temporary.  I suppose if you had several alternate designs you were trying out, or were going to be switching back and forth between them for a while,  it might pay off.  But it seems to me that if you only had a couple, and were going to decide between them fairly quickly, it would be extra work.

 

Of course, if these are actually "configurations", meaning both designs are going to be built, then iAssemblies are definitely the way to go.

Message 14 of 28
swordmaster
in reply to: divingdoug

I have been watching this thread and wanted to add something, one of the previous posts said

"Component Suppression is simply not a tool for doing what you are trying to do, at least not by itself.  It is a memory management tool, intended to improve the performance you see from Inventor."

 

This is true, however with the integration of Ilogic into Inventor component suppression and LOD's is much much more than a memory management tool

Ilogic in combination with component suppression/ unsuppression now allows Inventor users to truly create complex intelligent parametric models.  

 

Inventor 2010 Certified Professional
Message 15 of 28


divingdoug wrote:
I dare say, give me a fresh install of SW and an experienced user on a fresh install of IV and I could run circles around them.

It's been a long time ago, but I remember a coworker saying almost the same thing about AutoCAD vs Solidworks back when I used Solidworks.  He was very knowledgeable of AutoCAD and never accepted that he should stop expecting Solidworks to do what he expected it to do based on his past experience with AutoCAD, rather than what Solidworks was designed to do. A couple of times a month this forum sees the same sort of expectation from users moving from AutoCAD to Inventor or Solidworks to Inventor or ProE to Inventor, etc.


Just to clarify on this point, comparing AutoCAD to SolidWorks is apples and oranges.  I have used (and still do) AutoCAD since before R9 (that's back in the 80's if anyone is counting)  Autocad was the defacto standard 2D drawing program and still rocks in that respect.

Comparing current versions of SolidWorks to Inventor is apples to, well, from my perspective, rotten apples.  They are both true 3D solid modeling applications and are marketed to provide, at the heart of things, the ability to create true three dimensional, parametric solid models and assemblies. They also provide the means to create the 2D drawings.  Yes, there are a miriad of other features that both have, some similar, some not so much.

 

My claim is based solely on the efficiency at which the application can be used to create the desired result.  Anything I do in IV, I can do in SW with fewer steps and much fewer mouse clicks.  This is not blind rhetoric, this is something I have tested and proven.

 

From my perspective, the tool (IV or SW or whatever) should be adaptable to what I need.  In this case, IV is far from it. If this forum sees the negative comparisons you indicate from all the different packages, maybe that should be a signal to Autodesk that IV is not up to par compared to the other packages.

 

I really am not trying to be disrespectful, and it is not my goal to keep bashing it but I run into the same situation over and over.  "you can't do this, why do you want to, if you do this and this and this, you can get close"

 

To get back to the original issue, and I understand that there is not going to be a simple solution by any means, I have an assembly that contains interchangeable sub-assemblies.  I want to be able to switch the "configuration", my terminology, so that I am able to work on any given configuration at a time.  SW has a feature, called Configurations, that allows you to select which components of the assy are used.  The unused components are suppressed, mates (constraints) and all. No muss, no fuss.

 

Since constraints are not suppressed when the component is in IV, it is more effort to perform this action. You must suppress the components and the constraints independently.  A lot of extra time and clicks.  My finger can only take so many clicks.  This can be accomplished with Representations but is just painful to do.  When you add another "configuration" (Representation) with a new sub-assembly, you have to go back and remove the components AND constraints from every other Representation already created.  I have found no way to set a default to force new Placed Components to not be included in existing Representations. (SW has this feature for their configurations).

 

I have tried the iassembly tool.  Am not seeing the advantage to this.  Same deal. Exclude a component and you still have to find the constraints and exclude them as well (very painful in the iassembly author tool as the constraints are listed only by their name, no reference  to the parts they are tied to) or the constraint nanny window pops up and voids the change to the imember.

 

My point in all this is that I shouldn't have to do backflips to perform, what I consider to be, pretty simple and expected functions in my software.  SW provided a simple, elegant and intuitive solution to this over 10 years ago.  I really think the guys at AD are simply trying to overthink the whole approach and have made a package that is bloated, cumbersome to use and lacks refinement. The reason I use SW for so many comparisons is becasue of all the solid modeling apps I have used, these guys got it right.

Message 16 of 28
swordmaster
in reply to: divingdoug

Hi,
Never used solidworks myself. Prior to using Inventor i spent many years using and teaching Pro/Engineer.
Seems that the "configurations" you are looking to create can be achieved in inventor using ilogic. I have very complex models that can be configured. suppressing/unsuppressing components to create different variations of the same assembly. I do not really see the need to suppress the constraints of the suppressed component. However if you need to do so this can be controlled easily using ilogic
Inventor 2010 Certified Professional
Message 17 of 28


divingdoug wrote:

Just to clarify on this point, comparing AutoCAD to SolidWorks is apples and oranges.


Hi divingdoug,
My point pertained to the expectations of the user, not the comparison of the software packages. I think we are best served to think of all of them as apples and oranges, and take the time to learn the tools in each software independently.


divingdoug wrote:

 

I have tried the iassembly tool.  ....  Same deal. Exclude a component and you still have to find the constraints and exclude them as well ... 

 



I'm not seeing this behavior. Here's a simple illustration showing the iAssembly table and the expected results. If you're not seeing this, maybe you could experiment with a simple data set to find out how you're ending up with constraint dependencies that are causing the iAssemblies not to work for you.  If you can provide a simple data set that demonstrates the issue clearly, we can generally help find a solution.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

 

 

Autodesk Inventor iAssembly Suppress Constraint.png

Message 18 of 28


@Curtis_Waguespack wrote:

@divingdoug wrote:

 

I have tried the iassembly tool.  ....  Same deal. Exclude a component and you still have to find the constraints and exclude them as well ... 

 



I'm not seeing this behavior. Here's a simple illustration showing the iAssembly table and the expected results. If you're not seeing this, maybe you could experiment with a simple data set to find out how you're ending up with constraint dependencies that are causing the iAssemblies not to work for you.  If you can provide a simple data set that demonstrates the issue clearly, we can generally help find a solution.

 

 


 

Me neither.  I don't recall having ever run into a situation where excluding components from an iAssembly didn't automatically exclude the constraints.

 

I use iParts quite a bit, but my iAssembly usage is pretty infrequent.  Is there something he could be doing that causes the the constraints to not auto-exclude (a setting, perhaps)?

 

divingdoug, are  you sure that it isn't excluding the constraints when you exclude the part?  Where are you looking that still shows these constraints as active (browser, iAssembly table, etc.)?

Message 19 of 28
ljordan
in reply to: jtylerbc

I saw your post on your frustration about constraints not suppressing when the part/subassembly is.

I have been working on an iLogic rule that when you opt to suppress a part, it asks if you want to suppress contraints too.

I wanted it to be an option because I do see the advantage for large assemblies to be able to leave relationships in, but I came from ProE and I am used to constraints suppressing as well.

I have a couple changes to sort out first.  What it does right now is if the part is suppressed, so are the contraints, and when part is resumed, so are all of the related constraints.

This works fine except if you want to leave a constraint suppressed when part is resumed because the constraint was suppressed before hand.

 

Copy and paste this into an iLogic rule, and then create an Event Trigger that makes rule run upon suppression state change. I recommend trying on a smaller test assembly before a very important large one.  Give me feedback on how it should perform differently after testing.  I am actually also trying to change it a little now, because this rule checks the state of every part/subassembly, and not just the selected ones.  I have a 60% working one that only manipulates selected components.  Anyhow, here is the code:

 

Dim aDoc As AssemblyDocument
aDoc = ThisApplication.ActiveDocument
aDoc.SelectionPriority = aDoc.SelectionPriority.kComponentSelectionPriority
'Dim aDef As AssemblyComponentDefinition
'aDef = aDoc.ComponentDefinition
'Dim aOccs As ComponentOccurrences
'Dim aOccs As SelectSet
'aOccs = aDoc.SelectSet
Dim oOcc As ComponentOccurrence
'Dim status As String
'RUSURE = MessageBox.Show("Do you want to also suppress constraints?", "Go tell Lee 'Thank You'", MessageBoxButtons.YesNoCancel)
Dim oCon As Inventor.AssemblyConstraint
Dim i As Integer
Dim a As Integer
For i = 1 To aDoc.SelectSet.Count
If Not aDoc.SelectSet.Item(i) Is Nothing Then 
'For Each oOcc In aOccs
'status = oOcc.Suppressed
oOcc = aDoc.SelectSet.Item(i)
If oOcc.Suppressed = True Then
RUSURE = MessageBox.Show("Do you want to also suppress constraints?", "Constraint Suppressor Rule", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
If RUSURE = vbYes Then
'Debug.Print oOcc.Name
'Dim oCon As Inventor.AssemblyConstraint
For Each oCon In oOcc.Constraints
'Debug.Print oCon.Name
oCon.Suppressed = True
Next
ElseIf RUSURE = vbNo Then
For Each oCon In oOcc.Constraints
'Debug.Print oCon.Name
oCon.Suppressed = False
Next
End If
ElseIf oOcc.Suppressed = False Then
For Each oCon In oOcc.Constraints
'Debug.Print oCon.Name
oCon.Suppressed = False
Next
End If
End If
Next

 

Message 20 of 28
SteveMDennis
in reply to: ljordan

Since no ADSK person has chimed in I will 🙂  John and Curtis have it exactly correct in their description of what Suppress was created to solve/deal with. We kept the constraints ON PURPOSE so that things that were constrained to the suppressed component did not start flying of into space, they still respect the fact that the suppressed component is part of the design still.  This is the first time I have heard any customer complain about that feature in fact many users have commented that it is valuable to still have the constraint "active".

 

If you would like please add an IdeaStation idea to add an option to suppress the constraints when you suppress the component (we could add such an option).  If it gets enough kudos we will consider it.

 

But as to the history of why it works this way Curtis' explanation is spot on.

 



Steve Dennis
Sr. Principal Engineer
Inventor
Autodesk, Inc.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report