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

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

下面是要介绍的API:

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

其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的含义为获取相机的当前位置,下面是官方的具体解释:

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

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

相关推荐
一根甜苦瓜9 小时前
Go语言Slice的一道骚题
开发语言·后端·golang
驰羽9 小时前
[GO]Go语言泛型详解
开发语言·golang·xcode
NPE~9 小时前
[手写系列]Go手写db — — 第五版(实现数据库操作模块)
开发语言·数据库·后端·golang·教程·手写系列·手写数据库
润 下9 小时前
C语言——深入解析C语言指针:从基础到实践从入门到精通(二)
c语言·开发语言·经验分享·笔记·学习·程序人生
是木子啦9 小时前
wpf passwordbox控件 光标移到最后
c#·wpf
布伦鸽9 小时前
C# WPF DataGrid使用Observable<Observable<object>类型作为数据源
开发语言·c#·wpf
say_fall9 小时前
精通C语言(4.四种动态内存有关函数)
c语言·开发语言
暴力求解10 小时前
c++类和对象(下)
开发语言·c++·算法
应用市场10 小时前
Qt插件机制实现动态组件加载详解
开发语言·qt
小秋学嵌入式-不读研版10 小时前
C65-枚举类型
c语言·开发语言·笔记