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: 

Can't suppress sub-parts in Model States

46 REPLIES 46
Reply
Message 1 of 47
suomenvaimennin
4052 Views, 46 Replies

Can't suppress sub-parts in Model States

So now that Level of Design is dead the only option is Model States. If I try to suppress a part that is in a sub-assembly the suppress feature is greyed out. I can only suppress the entire sub-assembly. In this case I only want to suppress the seals and O-rings, but nope. If I try to do the same thing in Simplify, which apparently replaces Shrinkwrap, I can pick individual sub-parts, but they are not highlighted, so I have to remember what I've selected and hope I didn't miss any, or I'll have to start over. I'm struggling to se how Model states has improved anything, everything just seems more cumbersome. Am I missing something, or is this just a terribly flawed release?

46 REPLIES 46
Message 21 of 47
cencinaNB2ET
in reply to: johnsonshiue

Im really confused...

I have a derived assembly part that needs to open the main assembly with suppred cable harness parts.

Now that open code only opens the assembly on that master level.

 

I had a LOD called custom where i had suppressed Cable harness assemblies depending on the code selection etc...

 

oAsmDef.RepresentationsManager.LevelOfDetailRepresentations("Custom").activate

 

 

Now this is creating a so called model state...

 

the issue is i then derive many configurations into a part from this assembly and i use this code to obtain a few details from the parent assembly...

 

using this..

For Each oDerAssemblyComp In Doc_P.ComponentDefinition.ReferenceComponents.DerivedAssemblyComponents
oDerAssemblyCompDef = oDerAssemblyComp.Definition
Full_File_Name = oDerAssemblyComp.ReferencedDocumentDescriptor.FullDocumentName
Next


oDoc_Parent = ThisApplication.Documents.Open(Full_File_Name, False)
oAsmDef = oDoc_Parent.ComponentDefinition

 

But this only opens the Master version of the parent assembly so no i cant get any details from the parent assembly for some reason...

 

Why was LOD replaced with model states?

 

I cant suppress Harness parts in Master level of model states so Im left with nothing it seems???

 

 

 

Please see screenshots attached...

 

Message 22 of 47
johnsonshiue
in reply to: cencinaNB2ET

Hi! The ability to suppress a component across levels in LOD is called "transient LOD." This LOD state is temporary. It is not much different than making the component occurrence invisible.

Starting from 2022, across-level suppression is blocked. Instead, the transient suppress status is migrated to Design View. So that the suppressed occurrence becomes invisible occurrence. I believe you will need to adjust your iLogic code to accommodate the change. I am very sorry for the trouble the change has caused.

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 23 of 47
cencinaNB2ET
in reply to: johnsonshiue

Ok so no more suppressed parts?

the issue is using cable harness that are connected to parts that move around.

The reason why i used suppression is because they fail when the connectors move around, so visibility doesn't change that, it hides it but the error is still there.

 

With suppression the error goes away because the cable harness does not update into the new position.

with visibility the cable still attempts to update to the new position which by default wont work because the connectors have moved to a new position, giving me an error.

 

They need to stay adaptive for that reason, but suppression worked fine until now.

 

So you are saying i cant suppress cable harness sub-assemblies now?

or anything else?

are you saying they are under design view?

so the LOD is now a design view?

 

I'm still a little confused... sorry

 

 

Message 24 of 47
johnsonshiue
in reply to: cencinaNB2ET

Hi! I am sorry that my reply was not as clear as it should be. Let me try my best explaining.

On Inventor 2021 and earlier, Inventor LOD allows components at different levels to be suppressed temporarily from top-level assembly. This kind of suppression creates so-called transient LOD. It simply unloads the occurrence from memory. No design change should happen (if it did, it would be a bug). Adaptive works in all LODs, because the unloaded components should not alter the design. Essentially the design is the same across all LODs. The difference is that if a given component is loaded or not.

On Inventor 2022, there is no longer LOD. The existing LODs created in 2021 or earlier are migrated to Model States. Transient LOD (suppressed occurrences) is migrated to Design View in the same name.

In terms of model behaviors, there should not be any change. Whatever worked before should work in 2022. The only exception is that if your iLogic code relies on the Transient LOD (one with ~), you will need to change the rule to utilize Design View.

Please feel free to share an assembly that you are having issue with. I am more than happy to take a look and understand the issue better.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 25 of 47

Message 26 of 47
johnsonshiue
in reply to: cencinaNB2ET

Hi Christopher,

 

The video does not seem to be directly related to the original thread. It was about the inability of Model State to suppress a component occurrence across subassemblies. Do you mind starting a new thread?

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 27 of 47
adam
in reply to: suomenvaimennin

Hi all.

I have a Trestle frame I created in Inventor 21, which has a Level Of Detail with suppressed frame components.  (image attached) I need to create another LOD on the same model, but have updated to 22 and the new Model States wont allow me to suppress frame members. 

Something like this Trestle needs to be modeled off 1 sketch, to make it adjustable if required.  But I need to break down the separate welded components in the drawing for manufacture.

Is there any way to do this easily now, or do I have to hide all the unwanted frame members in each of the drawing views now?

Adam Johnston
Design Draftsman. Whitty Engineering.
DELL Precision 7530, Windows 10.
Message 28 of 47
johnsonshiue
in reply to: adam

Hi Adam,

 

At the moment, Model States does not support occurrence suppression (across-level) as described above. I don't think Model States will yield the desirable result as you anticipated in LOD. If I understood your requirements correctly, you may want to leverage Design View instead. The traditional LOD Suppress is quite similar to Design View Invisible, since neither alters BOM data.

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 29 of 47
caleber.grigorio
in reply to: Anonymous

I'm having the same difficulty in suppressing the parts of a subassembly. autodesk has spoiled a very useful feature.

Message 30 of 47

How do you suppress for a mass property of various portions of the super assembly? I have no concern for the BOM. I need to get a CG and weight for parts of a custom assembly with 100's of parts.

-Chad

Message 31 of 47
johnsonshiue
in reply to: chadhQZ262

Hi! In that case, you need to edit the subassembly or open it in its own window. Then suppress the parts in the context of its hosting assembly.

The blockage here is about the ability of suppressing component instances across levels.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 32 of 47
dhalls001
in reply to: johnsonshiue

This has made Inventor unworkable in some circumstances when trying to perform simple functions like a reduced model COG.. 

We constantly get issues with model state tables, and major corruption issues with models.

Please revert back to some sense...

Message 33 of 47

Hi! As I mentioned in other related threads, if you want to preserve LOD-like behaviors in 2022 or later, you may consider copying Model States to Design View Reps. This is because Model States do alter design, while LODs did not. For adaptive workflows, LODs do not interfere with the compute. Design View Reps behave similarly in that regard.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 34 of 47
chadhQZ262
in reply to: johnsonshiue

Thanks, but a view rep wont let me get a mass and CG of unsuppressed references.
Creating multiple model states in all sub-assemblies is tedious.
I don't need BOM features, but do need CG and mass for a particular set of references that changes with each new job.
The switch from LOD to Model states makes this a much longer process.
Message 35 of 47
chadhQZ262
in reply to: johnsonshiue

View rep's are useful for other purposes.

There is no good way to get mass properties for sections of an assembly.

LOD was imperfect, but model states are far more time consuming.

Message 36 of 47

Have there been any improvements to using model states in an assembly with multiple sub-assemblies?  It seems very complicated to get the weight of an assembly when it has numerous sub-assemblies that I do not want to be included.

Message 37 of 47
chadhQZ262
in reply to: danbraulick

Using model states for weight and CG it's too hard to do. You can make a View Representation and suppress any part even parts in subs then run a iLogic rule for weight. Below is a sample rule that will (if no active selection) export the weight to custom properties or (is some parts selected) show a dialog box with weight of selected parts.

Note you may want to remove the part where it rounds and adds 5%.

Below Is iLogic rule:

 

' Calculates Mass of Selected refs or of visible within view rep
' If no selection view rep name and rounded mass +5% is written to custom iprop


Dim oAsm As AssemblyDocument = ThisDoc.Document
Dim oSelSet As SelectSet = oAsm.SelectSet
Dim UoM As UnitsOfMeasure = oAsm.UnitsOfMeasure
Dim totMass As Double = 0
Dim oList As New List(Of ComponentOccurrence)
Dim Mass5 As Decimal = 0
Dim openDoc As Document
openDoc = ThisDoc.Document
Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = openDoc.ComponentDefinition
Dim oViewRep As DesignViewRepresentation

For Each oObj As Object In oSelSet
If TypeOf (oObj) Is ComponentOccurrence Then oList.Add(oObj)
Next
Dim noSelection As Boolean = False
If oList.Count = 0
noSelection = True
For Each oOcc As ComponentOccurrence In oAsm.ComponentDefinition.Occurrences.AllLeafOccurrences
If oOcc.Visible Then totMass = totMass + oOcc.MassProperties.Mass
Next
Else
For Each oOcc As ComponentOccurrence In oList
Dim parentSelected As Boolean = False
'Make sure something isn't selected twice (subassembly and occurrence in subassembly both selected)
For Each oParentOcc As ComponentOccurrence In oOcc.OccurrencePath
If oList.OfType(Of ComponentOccurrence).Where(Function(x As ComponentOccurrence) x.Definition Is oParentOcc.Definition _
AndAlso x.Definition IsNot oOcc.Definition).Count > 0 Then parentSelected = True
Next
'--------------------------------------------------------------------------------------------------
If parentSelected = False Then totMass = totMass + oOcc.MassProperties.Mass
Next
End If
ViewName = oAsmCompDef.RepresentationsManager.ActiveDesignViewRepresentation.Name
Mass5 = Round( Val(UoM.GetStringFromValue(totMass, UoM.MassUnits)) * 1.05 / 100, 0)*100
If (Not noSelection) Then
MessageBox.Show(If (noSelection, "Total mass of visible components", "Total mass of selected components") _
& vbCrLf & UoM.GetStringFromValue(totMass, UoM.MassUnits) _'& vbCrLf & oAsm.ViewRepresentation.Name _
& vbCrLf & "mass + 5% " & Mass5 _
, "Total mass", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else If (noSelection) 'ViewName <> "Default" And

Try
iProperties.Value("Custom", "View: " & ViewName) = CStr(Mass5)
Catch
End Try

End If

Message 38 of 47
f_calebh
in reply to: suomenvaimennin

@johnsonshiue Our company just migrated from 2020. This loss of functionality has created a huge problem with our Vault permissions and work flows.  We have a technical publication group with their own file category permissions. With the previous functionality, this group could bring in Design assemblies into their own assemblies and create independent levels of detail for publishing needs. This work flow cannot be replaced with View representations because the technical publications group needs suppressed parts for a clean import into 3DS Max.

 

I have no idea how to work around this problem.

Message 39 of 47
johnsonshiue
in reply to: f_calebh

Hi! The closest workflow to traditional LOD on 2022 is Design View Rep (Visibility control). You may hide components across levels. It is unclear if Design View Rep would be a solution for you. Please share an example here so that the forum experts can also take a look.

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 40 of 47
f_calebh
in reply to: johnsonshiue

The view representations are actually part of the problem when importing into 3DS Max. There's no option to import a view rep. Hidden parts are imported as if they're visible when importing into Max. If the file was last saved in a Level of Detail, it only includes files from that level of detail. Now the option to create a Level of Detail from a view rep doesn't fully function because it's only top level. We're stuck with a choice of either importing without level of detail and creating excessive Max file clean up or asking the design teams to create specific publication model states for them to use. That would be a nightmare for currently released assembly files and an unreasonable ask to make of the design teams.

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

Post to forums  

Autodesk Design & Make Report