实体模型建立
- 格式:doc
- 大小:582.00 KB
- 文档页数:16
三维矿业软件Surpac构建实体模型的不同方法及原理目前,在矿业界主要应用Surpac和Micromine两款软件,但两者侧重点不同,其中Micromine软件广泛应用于地质勘查工程,而Surpac软件则广泛应用于矿山的生产和设计,在国内很少使用其他同类软件。
随着矿业在工业发展中愈发受到重视,在国民生产总值中所占比重越来越大,国家对矿山三维可视化技术愈加重视,投入大量财力、物力,极大的促进了我国矿山三维建模的发展。
1.Surpac软件的介绍1981年,Supace MINEX GROUP(简称:Surpac)成立于澳大利亚,是主要研究采矿规划及管理和矿产资源开发的软件系统,在不断的发展中向全球推广了自己的研究结果(XinJieChu,2016)。
Surpac矿山数字化软件可以导入地质数据建立地质数据库、构建实体模型、块体模型、晶位模型、进行地质解译、体积运算、对钻孔数据进行显示、矿体圈定等。
而使用块体模型可以描述矿体空间分布、内在属性分布规律、品味分布等;矿体的实体模型则比较方便进行任意轴线和角度的剖切、描绘出实体空间位置、地表形态、报告实体体积和表面积等,通过模型的建立可以精确合理的对未来矿区的采矿计划进行安排,对采矿过程进行设计,还可以对矿区矿藏资源量进行估算、Surpac主要应用于初期矿产的勘探工程、中期矿区开采以及后期矿山采矿完毕之后进行的复垦设计(吕英英,2009)。
Surpac软件主要具有以下特点:(1)Surpe软件需要新建坐标文件、工程测斜文件、品位文件、岩性文件,以上四个文件是后续建模的基础,而这些文件也可以在EXCEL或ACCESS中完成,因此在整理资料的过程中,用EXCEL或ACCESS便可以新建软件建模所需要的原始数据;(2)Surpac软件在建立地质数据库的过程中可根据文本文件或EXCEL文件中的数据,十分方便地建立地质数据库,并对数据库中的数据进行校检,如重叠样品、代码许可格式、整数的最小值和最大值的校验等;(3)Surpac软件在地质数据库的使用过程中可用不同的方式在钻孔上标注岩性、品味等信息,可查询钻孔的坐标与孔号;(4)Surpac软件可通过交互式解译生产轮廓线,是比较强大的功能;(5)Surpac软件能够将MapGIS格式的剖面图和平面图转换为DXF的格式,十分快捷方便;(6)就创建块体模型而言,Supac软件在创建块体模型方面的功能十分的完善以及强大,可利用普通克里格、最近距离、指示克里格、距离反比、部分百分比、连续指示模拟、连续高斯模拟等估值方法对块体进行插值;(7)就剖面分析而言,Supac软件可以进行任意轴线和任意剖面的切割,还能形成切割后剖面体;(8)就储量估算而言,Surpac软件可根据不同的储量级进行估算;(9)就二次开发而言,Surpac软件提供基于TCL脚本语言的二次开发工具,方便用户访问Surpac软件内部函数以及对外部的开发程序进行调用;(10)就国家政策的支持而言。
有限元骨模型的创建——基于mimics,magics,和solidworks的实体模型创建Mimics10本身不支持实体创建,这是很多使用它进行有限元分析的人遇到的一个大的难题。
因此我们参照自身的操作经验,写一个创建用于分析实体的流程。
这对于后来者来说是非常有用的,也可以帮助他们很快的掌握工作方法,提高实验分析的效率。
1.CT阈值的划分和mask的手动操作。
Mimics对于CT灰度的分区和模型的创建功能是比较强大的,但是要形成实体模型,必须要确定的首先是创建的表面模型(mimics自动生成的三维模型都是表面模型)具有封闭并且较平滑的曲面。
因此在操作上,除非必须保留的髓腔部分,一定要保证选定区域的内部是完全填充而没有孔洞的,因为孔洞的存在会产生很多小的内部的曲面,影响后来的实体重建。
如图1:图表 1箭头所示的孔洞是不允许的2.三角面模型的创建和简化。
遵循封闭和单独个体的原则由mask创建模型。
这里讲的单独个体是指一个mask最好只产生一个part,在创建时会有提示,如果提示multiple parts,最好检查你的mask是否封闭。
而如果需要产生不同个体,尽量用多个mask来完成。
在创建三维模型后,需要对这个模型进行简单的优化,在mimics里有triangle reduction 和smooth命令可以使用。
优化虽然会对模型的几何形状造成一定的影响,但是不会改变大的几何特征。
另外可以使用remesh插件进行简化和平滑,需要利用的指令主要包括Triangle reduction (normal ) :减少三角面的数量,可与smooth 命令交叉反复使用,直到三角面数量降低到可接受水平。
Smooth :平滑表面。
Detect self ‐intersections ,检查三角面的交叉,此项必须优化到0,如果进行检查时发现有交叉,会在模型上标示出来。
Delete triangles :当上述标示出现时,使用这个命令,删除所示三角面,和周围的三角面。
Entity 骨骼模型实体的创建步骤:1 创建mesh. 加载mesh.加载submesh⑴读取索引数据⑵读取顶点数据⑶读取骨骼名称⑷读取骨骼数据a 骨骼数据b 骨骼层级c 动画数据,Animation, AnimationTrack,AnimationKeyFrame2 用读取到Mesh 中的Skeleton创建SkeletonInstance。
3 创建每个SubMesh 对应的SubEntity。
4 访问SkeletonInstance 获得骨骼数目,依骨骼数目分配矩阵所占空间。
5 创建AnimationStateSet,AnimationStateSet 内部将维护一个AnimationState的链表。
每个AnimationState存储Animation 名字和长度数据。
compileBoneAssignments:⑴BuildIndexMap⑵获得VertexBufferBinding ,创建用来存储骨骼索引值和权重值的VertexBuffer.⑶使用BoneAssignmentList 为VertexBuffer 赋值。
6 prepareTempBlendBuffer.⑴clone VertexData. 克隆出的mSkelAnimVertexData.不再包含原有的顶点权重索引值。
⑵extractTempBufferInfo.TempBlendedBufferInfo mTempSkelAnimInfo.操作:mTempSkelAnimInfo->ExtractFrom(mSkelAnimVertexData);a 得到postion 和normal 对应的vertexElementb 得到顶点位置和法线值所在的缓冲区,存储缓冲区地址。
c 如果postion和normal分别在不同的缓冲区则分别引用。
在TempBlendedBufferInfo 类型变量里保存的是缓冲区的地址来至SubEntity->SubMesh->VertexData7 reevaluateVertexProcessing.判定使用硬件处理顶点混合还是软件处理顶点混合。
UG---实体建模概述Unigraphics “建模”可帮助设计工程师快速进行概念设计和详细设计。
它是一个基于实体建模的特征和约束,让用户可以以交互模式生成和编辑复杂的实体模型。
设计工程师可以生成和编辑更逼真的模型,而花费的力气要比使用传统的基于线框和实体的系统少得多。
实体建模的优点建模提高了用户的表达式层次,这样就可以用工程特征来定义设计,而不是用低层次的 CAD 几何体。
特征是以参数形式定义的,以便基于大小和位置进行尺寸驱动的编辑。
特征∙强大的面向工程的内置成型特征 - 槽、孔、凸台、圆台、腔体 - 可捕捉设计意图并提高效率∙特征引用的图案 - 矩形和圆周阵列 - 并有单个特征位移,图案中的所有特征都与主特征关联圆角和倒角∙固定的和可变的半径过渡可以与周围的面重叠并延伸到一个 0 半径∙可以对任何边倒角∙峭壁边圆角 - 针对那些不能容纳完整的圆角半径但仍需要圆角的设计高级建模操作∙可以扫掠、拉伸或旋转轮廓来形成实体。
∙特别强大的抽空体命令可以在几秒钟内将实体转变成薄壁设计;如果需要,内壁拓扑可以与外壁拓扑不同∙接近完成的模制型件的拔模∙用户定义的常用设计元素的特征(需要用“UG/用户定义的特征”来提前定义它们)以前的 CAD 系统是用几何体构造和编辑方法来构建模型的。
这些方法生成的模型由线框和面组成,可通过几何体编辑的方法来编辑。
然而系统却不知道几何体之间的关系。
较新的参数化系统引入了概念建模方法,可用来构建几何体之间的关系。
这些方法依赖用户定义的约束和参数表达式来构建模型。
这种方法构建的模型更具智能性,但是限制太多;约束有时会让用户无法执行原先未预料到的修改。
参数系统也严重依赖通过扫掠草图而生成的体,而且构造和编辑的方法也不丰富。
“建模”应用程序是新一代的建模程序,它结合了传统和参数化这两种建模方法。
这样您就可以自由地选择最适合您需要的设计方法。
有些时候只有一个简单的线框模型就足够了,不需要构建复杂的约束实体模型。
第二十课建立基本三维实体模型三维实体模型是三维图形中最重要的部分,它较前面讲的三维表面更进一步,不仅描述对象的表面,而且具有实体的特征(如重心、体积、惯性等)。
本课重点讲解建立长方体等基本三维实体模型的方法,通过旋转将二维平面转化为三维实体模型以及控制实体显示外观的方法,通过本课学习,读者应达到如下目标:z理解和掌握绘制基本三维实体模型的命令。
z掌握用旋转命令建立三维实体模型的方法。
z掌握如何设置控制实体显示的变量。
20.1建立基本三维实体模型在AutoCAD中,用户可以建立这些基本三维实体模型,包括长方体(Box命令)、球体(Sphere命令)、圆柱体(Cylinder命令)、圆锥体(Cone命令)、楔形体(Wedge命令)和圆环体(Torus命令)。
提示:激活建立上述实体的命令可以使用下面方法之一:z单击【View】→【Toolbars…】,在打开的对话框中,选择“Solids”,打开〖Solids〗工具栏,如图20-1所示,选择该工具栏上的相应按钮(前6项)就可以建立基本实体了。
图20-1z选择【Draw】菜单下的【Solids】菜单的相应子菜单(上面6项),如图20-2所示。
图20-2z在命令行直接键入命令名并回车。
20.1.1长方体单击〖Solids〗工具栏中的,可以完成的绘制。
其建立方法有以下两种:z指定长方体的两个角点和高度;z指定长方体的长度、宽度和高度。
若要建立立方体,直接输入边长就可以了。
在长方体绘制过程中,命令提示窗口中会显示如图20-3所示的内容,其中方括号中各选项的意义如下:图20-3z【Cube】:在当前命令提示窗口中输入C↵,可以生成立方体。
选择该选项后,根据系统提示输入立方体的边长,即可生成立方体。
z【Length】:在当前命令提示窗口中输入L↵,可以根据确定的长方体边的长度、宽度和高度生成长方体。
绘制长方体的操作步骤:(1) 单击〖Solids〗工具栏中的,激活建立长方体的命令。
三维实体模型的建立本节课将从以下几方面进行学习:建立线框连接实体使用DTM地物实体三维布尔运算实体的建立a、三角网建立建立三角网可以通过菜单实体模型→创建三角网功能实现,也可在工具栏中右键调出实体模型工具栏。
菜单创建三角网工具栏实体模型各个菜单项功能说明:两个段之间:在不同的剖面间联结三角网在一个段内:在一个选中的剖面内自动完成三角网的联结。
段到一个点的:一个剖面到一个点联结三角网多个段之间自动在一系列线和剖面间联结三角网。
使用控制线用控制线来定义剖面,进而产生三角网。
根据手动选点手动定义三角网约束,在剖面间联结三角网。
单三角形通过选定三角形顶点来定义每一个三角形。
从一个段到两个段在一个闭合的的母剖面和两个子剖面或点间,使用联合(Union)概念,来控制分支线,进而产生三角网。
从一个段到多个段在一个母剖面和多个子剖面间联结三角网。
使用中线和剖面利用剖面沿着中线联结三角网,一般用此功能生成井下巷道实体。
相连段间:高级用法(1)段间连三角网调整视口,运行菜单“实体模型→创建三角网→两个段之间”,出现以下对话框,输入要创建的体号和三角网选择两个需要三角网的线,按Esc键结束连三角网。
可以依次连多个段,只需要连续点击各个段,即可。
(2)段内连三角网段之间三角网已连好,但两端是开放的,需要补上,用段内连三角网,运行菜单:“实体模型→创建三角网→段内连三角网”,填写体号,三角网,注意体号和三角网必须与前面相同。
可将将矿体两端封闭上,如下图:(3)多个段之间在多个段内,指定线,一次性把所有段连成实体。
运行菜单“实体模型→创建三角网→多个段之间”,输入体号和网号,弹出对话框:选择范围,则需要给定那些段需要连三角网;如果手动,则需要手动选择各段。
选择封闭两段,则可以直接生成实体,可选择实心体或空心体。
选择手动,闭合末端,实心体后,会弹出对话框:选择两个结束端的类型,并选择结束端,之后依次选择之间的段,最后按ESC。
结果如下:非常快速的生成实体,但这样做往往生成的实体未加以控制,对于复杂情况,必须要人为参与控制,一般不建议使用该方法。
(4)使用控制线在连矿体时,地质工程师根据矿体的赋存情况,需要人为的加以控制,使用控制线的方法即可解决此问题。
如何生成控制线?在矿体在走向上,用若干根线连接起来即可。
——最少两条控制线;——最多十条控制线;——第一条(主)控制线必须联结所有将要通过控制线功能进行三角网联结的剖面。
——接下来的那一条可以只联结其中的一些条,但不可以比第一条更多;——所有的控制线必须具有相同的方向;——控制线不能交叉——控制线在两个相邻段之间,中间不能有另外的点。
如果在控制线中间产生另外的点,需要使用相联段法。
控制线共画了3根,运行菜单“实体模型→创建三角网→使用控制线”,拾取控制线,拾取完三根线后,按Esc,弹出对话框,输入体和线号,执行,产生以下界面:这样,矿体就会按照控制线的方向,生成三角网。
(5)从一个段到两个段如果矿体出现分叉或合并(分枝复合),则涉及到一个段到多个段连三角网,本例使用从一个段到两个段。
有两种情况:切分母线和不切分母线。
运行“实体模型→创建三角网→从一个段到两个段”,运行:输入以下数据,生成32000号辅助线。
先选择母体,再分别选择两个段(分枝),结果如下:如果切分母体,选择:执行,根据提示,每次在母单元上,分成两个区域,选其中一个,对应子单元,重复两次,如图:产生结果,注意:两根辅助线,必须错开,即母单元必须有公共部分,如图:(6)相连段间在前面,我们介绍了剖面间连三角网,对于简单的剖面,可以连成,但对于复杂的剖面,或剖面间还有工程,但无法参与连三角网,如图如果矿体尖灭到一根线上, Surpac 提供了高级的连三角网方法――相连段法。
其核心是用辅助线,将所要连的段,连接起来,成为一个整体,再连三角网。
它与前面的控制线相比,功能更强大。
有可能有点难度,有了一定经验,即可掌握其技巧。
Surpac 提供四种相联段的功能,菜单如下:1)全部相连段间在屏幕上,随意数字化三个闭合段,三个段之间用两根曲线相连,运行菜单:实体模型→创建三角网→相联段间→全部相连段间,如图:三角网:输入生成实体的体号和三角网号;原始剖面原始剖面,闭合段,代号1,2,3用点捕捉方式,将3个闭合段连起来,代号为4,选择方式:拾取段的方式,分析如下:——所有的段:一次性选择当前层的所有相连的段——线段的范围:指定线段的范围,为用宏命令提供方便——选择的控制段:手工拾取控制段——选择的段:手工拾取段选择所有段,则将当前活动图层内所有段连三角网。
运行结果如下:该方法最大的优点,是辅助线中间可以加其它点,来控制实体在剖面以外的形态。
2)两个相连段间两个相连段间, 与剖面法“在两个段之间”连三角网的方法类似,不同的是两个剖面间,有若干相连的线,来控制剖面之外的实体形状。
如图:数字化两个剖面,中间用3根段相连, 运行菜单:实体模型→创建三角网→相联段→两个相连段间,分别选择1、2号段,结果如下:原始剖面,代号为1,2 新的地质资料,揭露的矿体,代号为3,4,5发现3、4、5号线参与实体的构建,新的地质资料反映到实体中去了。
注意:用上述方法,辅助线的数目一般不要少于2根,辅助线必须捕捉到剖面线上,数目的原则是尽可能把矿体剖面外的轮廓表达出来,即可。
3)多个相连段间本功能非常相似剖面法中“一个段到多个段之间”连三角网,但功能更为强大。
如图:剖面线,代号分别为1,相连段,连接剖面的辅助线运行菜单:实体模型→创建三角网→相联段→多重,先选择从…开始,选择1号线(母体),按Esc结束,然后选择2、3号线,按Esc结束,这时所要连的段全部选择完毕后,弹出下面的界面:将两端的开口部分,用段内连三角网,则就生成了复杂物体的实体了。
多个相连段间的连接方式还可以更为复杂,如图是一个2到2的段:注意:辅助线的开始端和结束端,必须捕捉到红色的段上(这也是相连段的含义),运行菜单实体模型→创建三角网→相联段→多重,先选择1、2号线,再按Esc ,在选3、4号线,再按Esc ,出现下面的界面:1号段 3号段 4号段2号段辅助线表示连接成功。
注意:在连接如上复杂的实体时,如果发现得不到我们所需要的结果,则多加一些辅助线,辅助线尽量能描述实体的轮廓,并且要符合空间关系。
4)结束端此方法类似剖面“在段内连三角网”,是为了解决矿体如果尖灭到一根线上的情况。
首先将尖灭到线的段与剖面相连,如下:正常剖面,代号为1尖灭到一根线,代号为2运行菜单:实体模型→创建三角网→相联段→结束段,先拾取1号线,在拾取2号线,输出下面的结果:这样,就将尖灭到线的矿体模拟出来了。
b 、 有效性检验连完三角网,是否是一个有效的实体,还需要验证。
无效实体分为:● 自相交边:三角面产生相交,不符合空间关系。
● 开放边:实体中发现有三角面无相邻边,即内外不密闭。
● 重复边:两个三角面连接了相同的三个点。
● 无效边:一个三角网的边有两个以上的相连边。
1)开放边如图,随便建立一个实体,删除将当前的实体的一个三角面。
采用捕捉点方式,将两根线连起来该实体漏气,其中一个三角面删掉了,有开放边。
如果组成一个实体的多个三角网,三角网代号不相同,Surpac 也认为是开放边。
如图:所以在连一个实体时,输入的体号和三角网号要相同。
2)自相交边如图,随便建立一个实体,运行按纽,移动实体中的一个点,运行按纽,激活三角面的边界线,产生下面的效果,如图:体号为8,三角网号为2体号为8,三角网号为1删除了一个三角三角面自相交发现许多三角面产生相交,三角面产生相交,不符合空间关系。
3)验证实体如何来验证实体,Surpac提供了一系列工具。
如图:用上面的文件,来检验实体,运行实体模型→有效性验证→检验实体输入要验证实体体范围,如果设空,则验证全部实体。
报告文件位置:产生报告文件的名称和id编号。
颜色:指出如果出现无效部分,则分别用不同的颜色来显示。
执行,则有以下结果:表明有自相交,提示出现自相交的三角面代号,在图形区,运行,隐藏实体,可以看到的出错的线条:上图显示,蓝线部分表示出现自相交边。
如果出现实体验证无效,就不能报告实体的体积,逻辑运算等,必须通过各种手段来解决,解决思路基本如下:——实体内各面的三角网号是否相同?——组成实体的线框是否符合空间关系?——尝试不同的三角网算法——查出出错的地方,编辑线条,尽量符合空间关系——查找线中是否有交叉线、钉子角(相邻三点角度太小)?——线之间点是否太密(重复点:段内相邻点小于0.05)或太稀?——使用控制线?——直接移动(不能删除)实体内的点,使其符合空间关系?如果要隐藏上面提示的线,则运行:实体模型→实体验证→隐藏自相交边,就会隐藏自相交边。
4.设置实体实心或空心一般在计算矿体体积时,如果矿体内含有夹石,要将夹石的体积变为负值,这样统计的矿体的体积才是正确的。
实体的实心或空心是指它的正负关系,在逻辑运算中,如果实体为空(负),则它的内外约束就相反,统计报告就为负值,运行菜单:实体模型》实体验证》设置实体实心或空心,这样,就把当前体号为1的实体变成空心了。