Inventor 2020 - Auto-Explode removed?

Inventor 2020 - Auto-Explode removed?

cetus35
Contributor Contributor
7,678 Views
3 Replies
Message 1 of 4

Inventor 2020 - Auto-Explode removed?

cetus35
Contributor
Contributor

Hi all,

 

I'm 99% sure after a lot of searching and reading that this feature, Auto-Explode in Presentation has been removed. Apparently this was in Inventor 2017.

 

However, what's confusing is the feature is mentioned in the Inventor 2020 Help files. (see attached) but is not an icon on the toolbar in Presentation tab in a presentation of a simple assembly I have (also attached).

 

Can someone confirm that there is no such feature so that I can stop looking for it? And since there is no Auto-Explode, the only method to Explode is to manually Tweak parts?

 

Thank you in advance for your kind help.

 

As always,

Hugh

Accepted solutions (1)
7,679 Views
3 Replies
Replies (3)
Message 2 of 4

mcgyvr
Consultant
Consultant
Accepted solution

Yep.. Its gone.. Removed a few years back when they dropped Publisher and "tried" to overhaul Presentations to match those users needs.. 

 

And yes... all manual task now.. 

 

Vote here to try show support for bringing it back..

https://forums.autodesk.com/t5/inventor-ideas/bring-back-the-auto-explode-in-ipn/idi-p/6764900

 



-------------------------------------------------------------------------------------------
Inventor 2023 - Dell Precision 5570

Did you find this reply helpful ? If so please use the Accept Solution button below.
Maybe buy me a beer through Venmo @mcgyvr1269
Message 3 of 4

cetus35
Contributor
Contributor

Hi mcgyvr,

 

Thanks for the information. I'm sure a lot of Google searchers on this topic appreciate it, too. Like I mentioned, when searching, one runs across conflicting information.

 

I did visit your link and voted and the posts there are interesting. The consensus seems to be "I didn't use Auto Explode for animations, I used it for quick exploded views to place in drawings." which begs the question as to why the feature was removed to start with. However, software designers are on a never-ending quest to optimize and fine-tune their product so I'm sure a lot of thought and careful decision-making went into it, for better or for worse.

 

Thanks again.

Message 4 of 4

n_krisch
Enthusiast
Enthusiast

Hi,
I am aware that I am responding to an old thread here that describes a several year old problem to which there is an Idea-Station thread to bring the feature back.

However, I have not been able to find a real solution yet.

So I wrote a few small iLogic scripts for our company that provide some kind of workaround.

The scripts move elements in assemblies based on the 3 axes. 3D annotations are taken along.
The solution is not as comfortable as the Autodesk function until 2017 but still helps us.
The rule works only without constraints or connections, so you should suppress them beforehand or export as Step and import again to get rid off alls constraints.

Maybe someone can use the code for himself or modify and develop it further.

Script 1:
The code performs a random offset of all components in an assembly. The offset is entered by the user and randomly generated for each axis.

 

 

 

 

'Original Code by  posted at https://clintbrown.co.uk/undo
'Based on Brian Ekins Blog post: https://modthemachine.typepad.com/my_weblog/2009/03/combining-multiple-actions-into-a-single-undo.html 
oDoc = ThisDoc.Document
Dim CADTIP As String = "@ClintBrown3D"
oNamer = "Explosionsdarstellung - Alle Bauteile"
Dim UNDO As Transaction 
UNDO = ThisApplication.TransactionManager.StartTransaction(oDoc, oNamer)
'Your iLogic code goes in here:
'-------------------------------------------------------------------------------------------------------------------------------------

' Get the active assembly document
Dim asmDoc As AssemblyDocument = ThisApplication.ActiveDocument

' Prompt the user for the displacement value
Dim displacement As Double = InputBox("Versatz-Abstand (in mm) eingeben:", "Versatz-Abstand")

' Create a random number generator
Dim random As New Random()

' Loop through all component occurrences in the assembly
For Each occurrence As ComponentOccurrence In asmDoc.ComponentDefinition.Occurrences
    Dim transform As Matrix = occurrence.Transformation

    ' Generate random displacement values for each axis
    Dim randomDisplacementX As Double = random.NextDouble() * displacement
    Dim randomDisplacementY As Double = random.NextDouble() * displacement
    Dim randomDisplacementZ As Double = random.NextDouble() * displacement

    ' Update the translation values in the transformation matrix
    transform.Cell(1, 4) = transform.Cell(1, 4) + randomDisplacementX
    transform.Cell(2, 4) = transform.Cell(2, 4) + randomDisplacementY
    transform.Cell(3, 4) = transform.Cell(3, 4) + randomDisplacementZ

    occurrence.Transformation = transform
Next



'-------------------------------------------------------------------------------------------------------------------------------------
UNDO.End

 

 

 

 



Script 2:
The code performs a random offset of all first level elements in an assembly. The offset is entered by the user and randomly generated for each axis.

 

 

 

 

'Original Code by  posted at https://clintbrown.co.uk/undo
'Based on Brian Ekins Blog post: https://modthemachine.typepad.com/my_weblog/2009/03/combining-multiple-actions-into-a-single-undo.html 
oDoc = ThisDoc.Document
Dim CADTIP As String = "@ClintBrown3D"
oNamer = "Explosionsdarstellung - Erste Ebene"
Dim UNDO As Transaction 
UNDO = ThisApplication.TransactionManager.StartTransaction(oDoc, oNamer)
'Your iLogic code goes in here:
'-------------------------------------------------------------------------------------------------------------------------------------

' Get the active assembly document
Dim asmDoc As AssemblyDocument = ThisApplication.ActiveDocument

' Prompt the user for the displacement value
Dim displacement As Double = CDbl(InputBox("Versatz-Abstand (in mm) eingeben:", "Versatz-Abstand"))

' Create a random number generator
Dim random As New Random()

' Loop through all component occurrences in the assembly
For Each occurrence As ComponentOccurrence In asmDoc.ComponentDefinition.Occurrences
    ' Check if the component occurrence is a top-level component or subassembly
    If occurrence.DefinitionDocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
        Dim transform As Matrix = occurrence.Transformation

        ' Generate random displacement values for each axis
        Dim randomDisplacementX As Double = random.NextDouble() * displacement
        Dim randomDisplacementY As Double = random.NextDouble() * displacement
        Dim randomDisplacementZ As Double = random.NextDouble() * displacement

        ' Update the translation values in the transformation matrix
        transform.Cell(1, 4) = transform.Cell(1, 4) + randomDisplacementX
        transform.Cell(2, 4) = transform.Cell(2, 4) + randomDisplacementY
        transform.Cell(3, 4) = transform.Cell(3, 4) + randomDisplacementZ

        occurrence.Transformation = transform
    End If
Next

'-------------------------------------------------------------------------------------------------------------------------------------
UNDO.End

 

 

 

 



Script 3:
The code performs a random offset of all user-selected elements in an assembly. The offset is entered by the user and randomly generated for each axis.

 

 

 

 

'Original Code by  posted at https://clintbrown.co.uk/undo
'Based on Brian Ekins Blog post: https://modthemachine.typepad.com/my_weblog/2009/03/combining-multiple-actions-into-a-single-undo.html 
oDoc = ThisDoc.Document
Dim CADTIP As String = "@ClintBrown3D"
oNamer = "Explosionsdarstellung - Mit Auswahl"
Dim UNDO As Transaction 
UNDO = ThisApplication.TransactionManager.StartTransaction(oDoc, oNamer)
'Your iLogic code goes in here:
'-------------------------------------------------------------------------------------------------------------------------------------

' Get the active assembly document
Dim asmDoc As AssemblyDocument = ThisApplication.ActiveDocument

' Prompt the user to select the components to move
Dim comps As ObjectCollection = ThisApplication.TransientObjects.CreateObjectCollection()
Dim selectSet As SelectSet = asmDoc.SelectSet

While True
	' You can pick IAM or IPT from Model Browser or you can pick IPT in 3D Window
    Dim comp As Object = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kAssemblyLeafOccurrenceFilter, "Elemente auswählen. Drücke ESC zum Abschließen.")
    If IsNothing(comp) Then Exit While
    comps.Add(comp)
    selectSet.Select(comp)
End While

' Prompt the user for the displacement value
Dim displacement As Double = CDbl(InputBox("Versatz-Abstand (in mm) eingeben:", "Versatz-Abstand"))

' Create a random number generator
Dim random As New Random()

' Loop through all selected component occurrences in the assembly
For Each occurrence As ComponentOccurrence In comps
    Dim transform As Matrix = occurrence.Transformation

    ' Generate random displacement values for each axis
    Dim randomDisplacementX As Double = random.NextDouble() * displacement
    Dim randomDisplacementY As Double = random.NextDouble() * displacement
    Dim randomDisplacementZ As Double = random.NextDouble() * displacement

    ' Update the translation values in the transformation matrix
    transform.Cell(1, 4) = transform.Cell(1, 4) + randomDisplacementX
    transform.Cell(2, 4) = transform.Cell(2, 4) + randomDisplacementY
    transform.Cell(3, 4) = transform.Cell(3, 4) + randomDisplacementZ

    occurrence.Transformation = transform
Next

'-------------------------------------------------------------------------------------------------------------------------------------
UNDO.End