Solved! Go to solution

walk through animation

Is there a way to do a walk through (fly by) animation in ST8? 

Nathan M. Gardner

Be sure to check out my work!!
Made in Maine Wood Carvings


Re: walk through animation

I'm assuming you could do that in the ERA environment using a custome camera path with perspective turned on.  The key to going through a model is perspective.  You can do this interactively using a 3Dconnexion device...


Production: ST9 MP7
Testing: ST10

Re: walk through animation

I can not figure out how to create a path for the camrea to follow. I am not seeing any tools to create a path.

Nathan M. Gardner

Be sure to check out my work!!
Made in Maine Wood Carvings

Re: walk through animation

You can create named views at the starting and ending positions of where you want the camera to fly through the model. When you go to the animation editor, right click on Camera and select Edit Definition and then choose Build Using Named Views and select your views. 






Accepted by topic author ngardner
‎06-17-2016 10:41 AM

Re: walk through animation

Here is a little macro that will simplify fast view creation.


Create a keyboard shortcut to the macro. Maybe the F12.

When you tap the F12 key it creates a view named 1 and the next time will be 2 and so on.

The text file in the same folder controls the index so you can reset it.

Source is included in the zip.

The paint is still wet on this code but it worked for me.


Imports System.Runtime.InteropServices

Module Module1
    Sub main()
            Dim theApp As Object = Marshal.GetActiveObject("SolidEdge.Application")
            Dim theView As Object
            Dim theWindow As Object
            Dim theDoc As Object = theApp.ActiveDocument
            theWindow = theApp.ActiveWindow
            theView = theWindow.View
        Catch ex As Exception
        End Try

    End Sub

    Private Function GetNextName() As String
        Dim datFile = "Increment.txt"
        Dim fldr = Application.StartupPath
        Dim fullPath = IO.Path.Combine(fldr, datFile)
        Dim val As Integer

        If Not IO.File.Exists(fullPath) Then
            IO.File.WriteAllText(fullPath, "1")
            Return 1
            val = Integer.Parse(IO.File.ReadAllText(fullPath))
            IO.File.WriteAllText(fullPath, (val + 1))
        End If
        Return val
    End Function
End Module