一个会的不多的人

一个会的不多的人

大家好,今天要介绍的API为相机相关的API,这篇文章比较适合女孩子,学会了相机就会拍照了,哈哈。

下面是要介绍的API:

(1)第一个为GetFocalDistance,这个API的含义为获取相机的焦距,下方是官方的具体解释:

C# Solidworks二次开发:相机访问相关API详解-LMLPHP

其API没有输入参数,只有返回值为相机的焦距。使用的时候还是先看备注,非常重要,非常重要,非常重要,重要的事情说三遍。

下面是官方使用的例子:

This example shows how to insert a camera and print out its settings.

//---------------------------------------------------------------
// Preconditions:
// 1. Open a model document that does not have any cameras inserted.
// 2. Open the Immediate window.
//
// Postconditions:
// 1. Inserts a camera in the model document.
// 2. Click View > Lights and Cameras > Properties > Camera1.
// 3. Click Zoom to Fit.
// 4. Examine the Immediate window, the graphics area, and the
//    Camera1 PropertyManager page.
//-------------------------------------------------------------
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System.Runtime.InteropServices;
using System;
using System.Diagnostics;
 
namespace Macro1CSharp.csproj
{
    public partial class SolidWorksMacro
    {
 
        public void Main()
        {
            ModelDoc2 swModel = default(ModelDoc2);
            ModelDocExtension swModelDocExt = default(ModelDocExtension);
            Camera swCamera = default(Camera);
 
            swModel = (ModelDoc2)swApp.ActiveDoc;
            swModelDocExt = (ModelDocExtension)swModel.Extension;
 
            // Insert a camera
            swCamera = (Camera)swModelDocExt.InsertCamera();
 
            // Print out camera settings
            Debug.Print("ID                                               = " + swCamera.ID);
            Debug.Print("Focal distance                                   = " + swCamera.GetFocalDistance() * 1000.0 + " mm");
            Debug.Print("Perspective mode                                 = " + swCamera.Perspective);
            Debug.Print("Depth of field effects enabled                   = " + swCamera.DepthOfFieldEnabled);
            Debug.Print("Distance from focal plane to where focus is lost = " + swCamera.DepthOfFieldOffset * 1000.0 + " mm");
            Debug.Print("Horizontal angle of the field of view            = " + swCamera.FieldOfViewAngle * 1000.0 + " mm");
            Debug.Print("Depth of the field of view                       = " + swCamera.FieldOfViewDepth * 1000.0 + " mm");
            Debug.Print("Height of the field of view                      = " + swCamera.FieldOfViewHeight * 1000.0 + " mm");
 
 
        }
 
        /// <summary>
        ///  The SldWorks swApp variable is pre-assigned for you.
        /// </summary>
        public SldWorks swApp;
    }
}

(2)第二个为GetPosition,这个API的含义为获取相机的当前位置,下面是官方的具体解释:

C# Solidworks二次开发:相机访问相关API详解-LMLPHP

其没有输入值,返回值为相机的当前位置IMathPoint

本篇文章要介绍的就是这么多,我们下篇文章再见。

04-15 05:56