Hello
Anyone knows how to zoom with the camera through the API?
Everytime I'll try to change the camera settings, for example fieldOfViewAngle I get an error saying "Runtime error '445': Object does not support this action
Is it a bug or am I doing something wrong?
I just use the rotate camera example in the help and add swCamera.fieldOfViewAngle = 0.5 under swCamera.Yaw
Thanks for help.
'------------------------------------------
'
' 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\photowks\tutorial\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
swCamera.FieldOfViewAngle = 0.5
' 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
SolidworksApi macros