在gocad软件中建立二维工作面的辅助建模方法

文档序号:6609409阅读:380来源:国知局
专利名称:在gocad软件中建立二维工作面的辅助建模方法
技术领域
本发明涉及水电水利工程地质三维建模技术,具体的说,是涉及一种在GOCAD软件中建立二维工作面的辅助建模方法。
背景技术
随着计算机技术的发展,计算机三维技术应用已扩展至各行各业。在这种趋势下,工程设计领域也在逐步推进计算机三维技术,水电设计的三维化工作也势在必行。水电工程设计是一个跨越多专业、涉及多领域的协同过程。GOCAD软件是地质领域的三维软件,能很好地支持地质专业数据的三维化分析、显示和编辑并构建三维地质模型,是水电工程地质三维工作较为理想的基础平台。
·
在水电工程地质三维工作过程中,一方面,需要在三维环境下对地质体及其属性展布规律进行宏观的总结概化,另一方面,也需要结合勘探资料和水工建筑物设计进行精确的定位,对地质对象的特定位置进行精准编辑、修改,以准确表达相关区域的地质对象特征。由于三维软件系统是在二维的计算机显示屏上虚拟显示三维景象,直接在三维环境中对点(或对象)进行拾取、参照移动、平面量测等操作时都不够直观、方便,因此很多情况下需要二维化,在某个特定二维面上,对操作对象的轮廓进行精确调整,GOCAD对此缺乏有效的手段。

发明内容
本发明所要解决的技术问题是作为GOCAD三维建模手段的补充,提出一种在GOCAD软件中建立二维工作面的辅助建模方法,在三维空间中灵活、快捷地构建合适的二维操作平面作为参照工作面,通过在二维工作面上准确、直观、方便地编辑修改点\线的方式,来实现对地质对象的精确定位和调整。本发明解决上述技术问题所采用的方案是在GOCAD软件中建立二维工作面的辅助建模方法,包括以下步骤a.在被调整对象附近定义一个空间平面;b.在GOCAD软件中生成这个平面作为二维工作面;c.计算该工作面与地质对象的交切线;d.在二维工作面中参照并修改交切线;e.对地质对象进行调整。进一步,步骤a中,根据被调整对象的实际情况,选取以下方式之一在被调整对象附近定义一个合适的空间平面提供一个中心点、空间平面的倾向和倾角;或者,提供一个中心点、空间平面的法向矢量;或者,提供不共线的三个点;
另外,提供半径以定义平面的范围——指定工作面的大小。进一步,步骤b中,通过步骤a中所述工作面的各个参数来生成工作面,具体方法为首先把空间平面的多种定义格式用统一的中心点及平面法向矢量方式来表达;如果平面参数中含有地质产状格式的倾向dip、倾角ang,转换为法向即V (sin (ang) *sin (dip),sin(ang)*cos(dip), cos (ang));如果提供的是三个点 pi (xl, yl, zl)p2(x2, y2, z2)和p3(x3, y3, z3),则以三点为顶点的三角形重心作为中心点,并计算三点决定的平面法向矢量;进而,通过中心点、平面法向、半径等参数,在GOCAD中构建一个平面作为二维工作面。进一步,步骤c中,求该工作面与地质对象的交切线的具体方法是在GOCAD软件中调用 Gocad: :PLineAPI:: create from tsurf intersection,求得工作面与地质对象的交切线。进一步,步骤d中,对所述交切线进行修改的方法为在二维工作面内,对所述交切线进行编辑修改,或者参照原交切线重新画一条新的迹线作为交切线。
进一步,步骤e中,对地质对象进行修改的方法为以新的交切线上作为约束,对地质对象进行DSI插值,从而调整其形态。本发明的有益效果是在三维空间中指定的位置灵活地构建指定工作面,并在计算机中显示为二维视窗,将三维坐标自动转换为该指定工作面上的二维坐标;相关对象的编辑、修改操作可在这个面上直观方便地完成,从而解决了二、三维空间定位相互转换问题,给对象细部的精确调整工作带来极大的便利。
具体实施例方式本发明中的在GOCAD软件中建立二维工作面的辅助建模方法,包括以下步骤( I)在被调整对象附近定义一个空间平面;(2)在GOCAD软件中生成这个平面作为二维工作面;(3)计算该工作面与地质对象的交切线;(4)在二维工作面中参照并修改交切线;( 5 )对地质对象进行修改。在步骤(I)中,定义一个工作面有三种方法提供一个中心点、空间平面的倾向、倾角;或者,提供一个中心点、空间平面的法向矢量;或者,提供不共线的三个点。另外,提供半径以定义平面的范围——指定工作面的大小。在步骤(2)中,根据步骤(I)输入的参数生成工作面,具体方法如下把面的定义用点、法向的表不方法来统一表不和使用。如果步骤(I)中的平面是用中心点以及面的倾向dip、倾角ang来表示的,那么需要将产状格式转换为法向,即 V (sin (ang) *sin(dip), sin (ang) *cos (dip), cos (ang))。如果工作面是用三个点pi (xl, yl, zl)p2(x2, y2, z2)和p3 (x3, y3, z3),则既需要计算平面法向,也需要求中心点(以此三点为顶点的三角形的重心)。其算法如下算法I由面上的三点求面的法向Vector3vl (pi. x (), pi. y (), pi. z ());
Vector3v2 (p2. x (), p2. y (), p2. z ());Vector3v3 (p3. x (), p3. y (), p3. z ());Vector3v=(v2-vl)&(v3-vl);算法2 求 pi (xl, yl, zl)、p2(x2, y2, z2)和 p3 (x3, y3, z3)为顶点的三角形的重心Pt. X= (xl+x2+x3) /3 ;Pt. y=(yl+y2+y3)/3 ; Pt. z= (zl+z2+z3)/3 ;然后由工作面上的一点、工作面法向和工作面半径生成工作面,算法如下算法3由面上的一点p(x, y, z)、工作面法向norm(nx, ny, nz)生成半径为L的面,
VSet^vs= (VSet*)CieobaseIJh: : i nslance O->create ("skdj ΓI sadj—temp—(则'
Set:: id ());
SuhVSeI* subvs = vs—>create—element ();for ( int I = 0; i < vlJ si. count () ; i++)i
APoi nt3iJ p(vList, item(i)->x(), vList, item(i)->y (), fList, item(i)->z{)); Point 3d pO = hcs^>transform_into (lies, p);
Atom* a = subvs->create_atom(pO);
subvs->add—atoii(a> ;
I
vs-XipdaU;();
TSurf# ts = TSurfAPI::create_from_atoralc_group(nameI vs, false,
VectorSd (norm, x (), norm, γ (), norm, z ()), fal se);在步骤(3)中,求该工作面与地质对象的交切线的具体方法是在GPCAD软件中调用 Gocad: :PLineAPI: : create_from_tsurf_intersection,求得工作面与地质对象的交切线。在步骤(4)中,有两种方式对所述交切线进行修改,其一是拖拽交切线上的点,修改原有交切线,其二是重新划一条新的交切线,在GOCAD中如果拖拽和画线时都是以工作面为背景的,就能确保点都落在工作面上。在步骤(5)中,以新(或修改后)的交线上的点为约束点,对地质对象(面)进行DSI插值,从而修改其形态。需要指定新交线、被约束面、约束影响范围和迭代步数,插值过程由程序完成。算法如下算法4指定约束线、被约束面、约束影响范围和迭代步数运行DSI插值if (靈个 IiiI Wifi)
{
(k)cad: : TSurHlPI: : run__ i sot rap i c_ds i_geo (s, n i I rld i I—Mext () · iolnl () smooihChec
kBax->isChecked () s false,2, Of); }
else
{
ilouhIc ciis 二 dislanco_to_roRion_Kdi(). KiDouhIe()
irCluslDisl-dis)
{
deiete^region(s, ^region)t
_rvgum = crcatc___regic>n (s, Ji s, (I1Unc^) cc^ntrol lers, tcm(O) s ^shooter) ;//新建—·个I^jrm
JastDis = dis·’
}
AtomicGroup^ atomic^ = dynamic___cast<Atomi eGroup^> (s);
for( PtrList<Atomio>:: iterator I (atomicg->atoraics ()) i i, raore() ; i. next() ) IAiuiiiic* current^utomic = i. cur ();
AtnmicAPl::run_dsi_in_region(eurrent^atomic^ _rogion. IhI nI ()fniirFMi i->iext O , toIntO, smoothCheckBox->isCheckcci()) %
)
权利要求
1.在GOCAD软件中建立二维工作面的辅助建模方法,其特征在于,包括以下步骤 a.在被调整对象附近定义一个空间平面; b.在GOCAD软件中生成这个平面作为二维工作面; c.计算该工作面与地质对象的交切线; d.在二维工作面中参照并修改交切线; e.对地质对象进行调整。
2.如权利要求I所述的在GOCAD软件中建立二维工作面的辅助建模方法,其特征在于, 步骤a中,根据被调整对象的实际情况,选取以下方式之一在被调整对象附近定义一个合适的空间平面 提供一个中心点、空间平面的倾向和倾角;或者, 提供一个中心点、空间平面的法向矢量;或者, 提供不共线的三个点; 另外,提供半径以定义平面的范围,指定工作面的大小。
3.如权利要求2所述的在GOCAD软件中建立二维工作面的辅助建模方法,其特征在于,步骤b中,通过步骤a中所述工作面的各个参数来生成工作面,具体方法为首先把空间平面的多种定义格式用统一的中心点及平面法向矢量方式来表达;如果平面参数中含有地质产状格式的倾向dip、倾角ang,转换为法向即v (sin (ang) *sin (dip),sin (ang) *cos (dip), cos (ang));如果提供的是三个点 pi (xl, yl, zl)p2(x2, y2, z2)和 p3 (x3, y3, z3),则以三点为顶点的三角形重心作为中心点,并计算三点决定的平面法向矢量;进而,通过中心点、平面法向、半径等参数,在GOCAD中构建一个平面作为二维工作面。
4.如权利要求1-3任意一项所述的在GOCAD软件中建立二维工作面的辅助建模方法,其特征在于,步骤c中,求该工作面与地质对象的交切线的具体方法是在GOCAD软件中调用 Gocad: :PLineAPI: : create_from_tsurf_intersection,求得工作面与地质对象的交切线。
5.如权利要求1-3任意一项所述的在GOCAD软件中建立二维工作面的辅助建模方法,其特征在于,步骤d中,对所述交切线进行修改的方法为在二维工作面内,对所述交切线进行编辑修改,或者参照原交切线重新画一条新的迹线作为交切线。
6.如权利要求5所述的在GOCAD软件中建立二维工作面的辅助建模方法,其特征在于,步骤e中,对地质对象进行修改的方法为以新的交切线上作为约束,对地质对象进行DSI插值,从而调整其形态。
全文摘要
本发明涉及水电水利工程地质三维建模技术,其公开了一种在GOCAD软件中建立二维工作面的辅助建模方法,在三维空间中准确构建任意指定的二维操作平面,以此实现精确定位和对象编辑。该方法包括以下步骤a.确定一个工作面;b.在GOCAD软件中生成这个工作面;c.求该工作面与地质对象的交切线;d.对所述交切线进行修改;e.对地质对象进行修改。本发明在三维空间中某个指定的位置构建任意指定面,并在计算机中显示为二维视窗,将三维坐标自动转换为该指定面上的二维坐标;相关对象的编辑、修改操作可在这个面上进行,从而解决了二、三维空间定位相互转换问题,给对象细部编辑、修改工作带来极大的便利,适用于三维建模软件中对相应对象的编辑。
文档编号G06F17/50GK102831281SQ201210339518
公开日2012年12月19日 申请日期2012年9月14日 优先权日2012年9月14日
发明者田华兵, 刘仕勇, 王刚, 李攀峰, 石伟民, 吉云, 黄啸鹰 申请人:中国水电顾问集团成都勘测设计研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1