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(); }
效果图如下:
添加一个实体是比较简单,而综合运用灵活控制就需要不断学习才行,我会接着努力的。