Insert and Rotate Camera Example (VBA)
This example shows how to insert a camera and rotate a camera.
'------------------------------------------
' Preconditions: Specified part document exists.
'
' Postconditions: A camera is inserted in the model document,
' its
type changed to floating, and rotated
' (i.e.,
its pitch and yaw modified).
'
' NOTE: Because the part document is used in an
' online tutorial, do not save any changes when
' closing the document.
'------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swCamera As SldWorks.Camera
Dim fileerror As Long, filewarning As Long
Dim boolstatus As Boolean
Sub main()
Set swApp = Application.SldWorks
' Open part document
swApp.OpenDoc6
"C:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\api\coffeecup.sldprt",
swDocPART, swOpenDocOptions_Silent, "", fileerror, filewarning
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
' Insert a camera
Set swCamera = swModelDocExt.InsertCamera
' Set camera type to floating
swCamera.Type
= swCameraType_Floating
' Show camera
boolstatus = swModelDocExt.SelectByID2("Camera1",
"CAMERAS", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = swModel.SetUserPreferenceToggle(swUserPreferenceToggle_e.swDisplayCameras,
True)
swModel.GraphicsRedraw2
' Get camera's pitch and yaw settings
Debug.Print "Original pitch (up or down angle) =
" & swCamera.Pitch *
57.3 & " deg"
Debug.Print "Original yaw (side-to-side angle) =
" & swCamera.Yaw * 57.3
& " deg"
Debug.Print " "
' Rotate camera
swCamera.Pitch = -25
swCamera.Yaw = 150
' New pitch and yaw settings
Debug.Print "New pitch (up or down angle) =
" & swCamera.Pitch *
57.3 & " deg"
Debug.Print "New yaw (side-to-side angle) =
" & swCamera.Yaw * 57.3
& " deg"
swModel.GraphicsRedraw2
End Sub