Follow

How can I move and rename modules in Voxler via automation?

This article contains a sample script for loading an existing VOXB file and moving the module location.

To run this script:

  1. Copy the script below, or click here to download the BAS file: MoveModule.bas.
  2. In a Windows Explorer window, navigate to C:\Program Files\Golden Software\Voxler 4\Scripter.
  3. Double click on Scripter.exe to launch Scripter.
  4. Press Ctrl+A to select all of the existing lines then press Delete.
  5. If you copied this script, press Ctrl+V to paste it into Scripter. If you downloaded it, click File | Open, select the BAS file from your downloads directory, and click Open.
  6. Click Script | Run to run the script.
     

*********

'********************************************************************************************
' MoveModule.bas
' This script loads an existing VOXB file. It moves the module location, renames a module,
' and saves the file to a new location.
'********************************************************************************************

' If Voxler is running, retrieve the current instance of Voxler.  Otherwise,
' create a new instance of Voxler.
Function VoxlerApplication()
   On Error Resume Next
   Set VoxlerApplication = GetObject(, "Voxler.Application")
   If Err.Number <> 0 Then
      Set VoxlerApplication = CreateObject("Voxler.Application")
   End If
   On Error GoTo 0
End Function

Sub Main
 'Retrieve running instance of Voxler or create a new instance of Voxler
  Dim VoxlerApp As Object
  Set VoxlerApp = VoxlerApplication()

 'Make Voxler visible
  VoxlerApp.Visible = True

 'Access CommandApi
  Set CommandApi = VoxlerApp.CommandApi

 'Create a new Voxler document
  CommandApi.Construct ("New")
  CommandApi.DoOnce()

 'Open an existing file
  CommandApi.Construct ("Open")
  CommandApi.Option ("Path", VoxlerApp.Path+"\Samples\Inversion (Isosurfaces).voxb")
  CommandApi.DoOnce()

 'Wait 2 seconds
  Wait(2)

 'Move the module to a new location, remembering its current location
  CommandApi.Construct("MoveModule")
  CommandApi.Option ("Module", "Axes")
  CommandApi.Option ("XPosition", 100)
  CommandApi.Option ("YPosition", 150)
  CommandApi.Do()

  'Wait 2 seconds
  Wait(2)

 'Undo the move
  CommandApi.Undo()

 'Wait 2 seconds
  Wait(2)

 'Redo the move
  CommandApi.Redo()

End Sub

 

Updated November 3, 2016

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.