Eyeshot Ultimate 学习笔记(1)

在Winform项目中用到3D技术,这是在做项目一段时间以来第一次,还是指定的3D控件Eyeshot Ultimate,这个控件名称用度娘搜索,竟然毫无结果,不知道是没有人用过还是觉得该控件过于简单,既没有相关问答也没有任何讲解说明。既然我用到了,不妨把我学习的内容记录下来,自己以后可以温故知新,也希望能够帮助一些想要学习该控件的同学。

安装和使用

首先这个控件不是国内人士写的,纯英文的工具,官方网站网址:   Eyeshot Ultimate 官方网站  。如果没有注册,只能下载指定版本的部分内容,注册完成并且登录以后,可以浏览所有新旧版本,选择需要的下载。这个控件的版本与VS的版本也需要匹配,不然会导致无法使用,报错的情况。我目前使用的版本是 Eyeshot7.0和VS2010,安装包名称是EyeshotUltimate70325.exe。

下载完直接双击安装包即可安装,然后打开VS,工具栏中就会出现ViewportLayout控件,使用方法和一般控件相似,拖拽到窗体中就可以了。

总体简介

命名空间的结构如图:

将控件拖动到窗体中,就创建了一个名为ViewportLayout的视图控件(我个人习惯性将控件成为视图),该控件中目前我学习到的部分比较浅显,所有的操作都是围绕着实体集合(viewportLayout.Entities)、图层集合(viewportLayout.layers)、块集合(viewportLayout.Blocks)、组集合(viewportLayout.Groups)来展开的。其中实体集合为最最基础的集合,直接这里的实体集合是指通过viewportLayout.Entities.Add(Entity entity)直接添加到视图的实体集合,其他的图层集合,块集合和组集合中的元素当然就是图层,块和组。每个图层中又包含一个Entities实体集合,表示在同一Layer中的实体集合,块和组也都有各自的实体集合。

实体(Entity)

实体就是元素,用实体来搭建模型,ViewportLayout中包含一个实体集合Entities。实体的类型在官方文档中有一张图片可以显示,如下:

实在非常强大,包含各种各样的实体,可以通过灵活运用这些实体创造出2D、3D的模型。我才刚刚开始学习,只会其中几种,大部分都没有用到。

简单的添加一个实体是比较容易的,首先引用命名空间,然后添加代码如下:

protected override void OnLoad(EventArgs e)
{
   // Creates a mesh with the shape of a box
   Mesh m = Mesh.CreateBox(30, 20, 10);

   // Adds the mesh to the master entity collection
   viewportLayout1.Entities.Add(m, 0, Color.DarkRed);

   // Fits the drawing in the viewport
   viewportLayout1.ZoomFit();
}

效果图如下:

添加一个实体是比较简单,而综合运用灵活控制就需要不断学习才行,我会接着努力的。

时间: 2024-07-31 19:13:38

Eyeshot Ultimate 学习笔记(1)的相关文章

Eyeshot Ultimate 学习笔记(2)

导入模型 一般情况下,我们自己搭建模型的功力还不够,大多都是在3Dmax中做好模型,导出成模型文件,然后再导入Eyeshot视图中.导入的代码包括: OpenFileDialog openFileDialog1 = new OpenFileDialog(); string theFilter = "Points|*.asc|" + "Stereolithography|*.stl|" + "WaveFront OBJ|*.obj"; theFil

Eyeshot Ultimate 学习笔记(4)

动画 Eyeshot的官方Demo中有一个功能是近期项目需要用到的,就是动画效果.其中主要运用到BlockReference类,该类下的两个方法MoveTo(Dictionary<string, Block> blocks)和Animate(int frameNumber)分别用来移动某个block中的实体和作为接口与视图ViewportLayout交互. 假如我导入了一个模型,该模型中包含多个Entity和Material,这里material不用加以管理,只需要处理entity.首先要写一

Eyeshot Ultimate 学习笔记(3)

实体角度和位置的控制 有时候导入的模型方向或者角度不太适合,就需要调节一下,这里我发现的一种方法是用到Transformation类,其实有很多类的运用都非常灵活,如果不是有官方示例,恐怕是很难发现的. Transformation transf = new Rotation(Math.PI / 2, Vector3D.AxisX); //前一个参数为旋转的角度(弧度制),后一个参数为旋转轴. Entity entity=EntityList[0]; entity.TransformBy(tra

&lt;老友记&gt;学习笔记

这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的情路坎坷,事业成败和生活中的喜怒哀乐,无时无刻不牵动着彼此的心,而正是正平凡的点点滴滴,却成为最令人感动与留恋的东西. 人物:1.瑞秋•格林(RACHEL GREENE)由珍妮佛•安妮斯顿(Jennifer Aniston)扮演 瑞秋是莫妮卡的高中同学,在与牙医未婚夫的婚礼上脱逃至莫妮卡处. 2.罗

Spring3.0官网文档学习笔记(六)--3.4.1

3.4 依赖 3.4.1 依赖注入 依赖注入两种方式:基于构造器的DI.基于setter方法的DI. 3.4.1.1 基于构造器的DI 参数是引入对象,且之前不存在父-子类关系: package x.y; public class Foo { public Foo(Bar bar, Baz baz) { // ... } } <beans> <bean id="foo" class="x.y.Foo"> <constructor-arg

VSTO学习笔记(五)批量编辑Excel 2010 x64

原文:VSTO学习笔记(五)批量编辑Excel 2010 x64 近期因为工作的需要,经常要批量处理大量的Excel文件,如果纯手工一个个修改,非常的麻烦,于是写了这么一个帮助类,希望能对你有所帮助.里面很多方法可以进一步推广,增减适当的参数,部分方法用到了C# 4.0新特性,如果需要调试,请安装Visual Studio 2010. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Ultimate RC + Office 2010 Professional Plus

VSTO 学习笔记(十三)谈谈VSTO项目的部署

原文:VSTO 学习笔记(十三)谈谈VSTO项目的部署 一般客户计算机专业水平不高,但是有一些Office水平相当了得,尤其对Excel的操作非常熟练.因此如果能将产品的一些功能集成在Office中,将会有很好的基础. 但是由于客户安装的Office版本不一,所以VSTO项目的部署问题显得尤为重要,需要考虑很多问题. 测试代码下载 本系列所有测试代码均在Visual Studio 2010 Ultimate SP1 + Office 2010 Professional Plus x64 SP1

VSTO学习笔记(四)从SharePoint 2010中下载文件

原文:VSTO学习笔记(四)从SharePoint 2010中下载文件 上一次我们开发了一个简单的64位COM加载项,虽然功能很简单,但是包括了开发一个64位COM加载项的大部分过程.本次我们来给COM加载项添加一些功能:从SharePoint 2010的文档库中下载一个Excel文档到本地. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Ultimate RC + Office 2010 Professional Plus Beta x64 上测试通过. 1.首先

VSTO 学习笔记(六)在 Excel 2010中使用RDLC报表

原文:VSTO 学习笔记(六)在 Excel 2010中使用RDLC报表 Excel具有强大的图表显示.分析功能,这点毋庸置疑,但是如果将常规MIS系统中的数据以报表的形式在Excel中显示,却并不那么容易.在VSTO中,我们可以借助RDLC报表组件来满足这种需求. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Ultimate RTM + Office 2010 Professional Plus Beta x64 下测试通过 注:本次数据库使用的是 SQL Se