Insert and Rotate Camera Example (C#)
This example shows how to insert 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.
//------------------------------------------
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System;
using System.Diagnostics;
namespace PitchYawCameraCSharp.csproj
{
partial
class SolidWorksMacro
{
public
void Main()
{
ModelDoc2
swModel = default(ModelDoc2);
ModelDocExtension
swModelDocExt = default(ModelDocExtension);
Camera
swCamera = default(Camera);
int
fileerror = 0;
int
filewarning = 0;
bool
boolstatus = false;
//
Open part document
swApp.OpenDoc6("C:\\Program Files\\SolidWorks
Corp\\SolidWorks\\samples\\tutorial\\api\\coffeecup.sldprt",
(int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"", ref fileerror, ref filewarning);
swModel
= (ModelDoc2)swApp.ActiveDoc;
swModelDocExt
= (ModelDocExtension)swModel.Extension;
//
Insert a camera
swCamera
= (Camera)swModelDocExt.InsertCamera();
//
Set camera type to floating
swCamera.Type = (int)swCameraType_e.swCameraType_Floating;
//
Show camera
boolstatus
= swModelDocExt.SelectByID2("Camera1",
"CAMERAS", 0, 0, 0, false, 0, null, 0);
boolstatus
= swModel.SetUserPreferenceToggle((int)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();
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
}
}