亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CATIA三維地質(zhì)模型屬性可視化表達(dá)研究與開發(fā)

        2022-03-09 01:39:14羅登昌于起超盧樹盛
        水利技術(shù)監(jiān)督 2022年2期
        關(guān)鍵詞:二次開發(fā)可視化信息

        羅登昌,韓 旭,于起超,盧樹盛,王 銳

        (1.長江勘測規(guī)劃設(shè)計(jì)研究有限責(zé)任公司,湖北 武漢 430010;2.長江巖土工程有限公司,湖北 武漢 430010)

        1 研究背景

        CATIA是由法國達(dá)索公司開發(fā)出來的一款可完成三維設(shè)計(jì)和模擬解決方案的軟件,已經(jīng)被廣泛應(yīng)用于航空航天、機(jī)械制造、船舶制造等領(lǐng)域。該軟件功能強(qiáng)大,具有先進(jìn)的混合建模技術(shù),在設(shè)計(jì)環(huán)境中實(shí)現(xiàn)了曲面和實(shí)體的互操作,2003年首次被應(yīng)用于水利水電行業(yè)大壩、廠房和機(jī)電設(shè)備安裝的三維設(shè)計(jì),2006年在國內(nèi)水電行業(yè)開始推廣。

        對于CATIA在國內(nèi)水電行業(yè)的應(yīng)用,目前主要在于快速精準(zhǔn)的建模、二維出圖及三維可視化仿真等方面,例如,李小帥等[1]在CATIA V5環(huán)境下,通過CG知識庫的運(yùn)用,可快速搭建三維可視化仿真場景,縮短同類項(xiàng)目的制作周期,提高應(yīng)用自動化的程度;羅通等[2]基于CATIA二次開發(fā)研發(fā)出一種比較實(shí)用且自動化程度較高的渠道三維設(shè)計(jì)應(yīng)用程序,減輕渠道設(shè)計(jì)工作量,縮短渠道設(shè)計(jì)周期,降低渠道工程設(shè)計(jì)難度;杜飛龍等[3]基于CATIA二次開發(fā)實(shí)現(xiàn)了重力壩三維模型的快速構(gòu)建;王文進(jìn)等[4]基于CATIA二次開發(fā)提出了一種重力壩三維參數(shù)化設(shè)計(jì)方法,實(shí)現(xiàn)了高效快速進(jìn)行重力壩的設(shè)計(jì);樓濤等[5]基于3DEXPERIENCE平臺的CATIA二次開發(fā)提出了一種拱壩三維建模方法,提高了建模效率,減少建模過程中的重復(fù)工作;胡瑞華等[6]基于CATIA二次開發(fā),并應(yīng)用克里金插值法實(shí)現(xiàn)了多源數(shù)據(jù)條件下滑坡基巖覆蓋層分界面的建模。

        雖然水利水電行業(yè)學(xué)者對CATIA軟件應(yīng)用的研究很深入,但對于每一個(gè)模型體額外賦予相應(yīng)工程屬性的研究卻很少見,現(xiàn)有三維模型體仍僅有系統(tǒng)自帶的一些通用屬性。

        文章根據(jù)地質(zhì)專業(yè)的特點(diǎn),基于CATIA軟件針對三維模型地質(zhì)屬性的可視化表達(dá)進(jìn)行了研究與開發(fā)。

        2 軟件開發(fā)環(huán)境及語言選擇

        文章采用的軟件開發(fā)環(huán)境為Window 7及以上版本操作系統(tǒng),使用Visual Basic.NET編程語言,以Microsoft Visual Studio 2008作為開發(fā)平臺,通過自動化接口(Automation的API)連接CATIA模塊,并引用CATIA的類庫,通過代碼即可完成開發(fā)平臺與CATIA的連接。

        3 軟件設(shè)計(jì)

        3.1 設(shè)計(jì)思路

        軟件的設(shè)計(jì)是為了提高三維地質(zhì)模型可視化程度,便于模型流通與使用,增強(qiáng)模型通用性。圍繞這一目的,結(jié)合每一個(gè)地質(zhì)體屬性的差異性,需對每一實(shí)體分別賦予相應(yīng)的地質(zhì)屬性,讓模型使用者可以快速查詢到所需的屬性信息,從而全面了解模型的地質(zhì)特性,具體設(shè)計(jì)思路如圖1所示。

        圖1 軟件設(shè)計(jì)思路圖

        3.2 設(shè)計(jì)流程及關(guān)鍵代碼

        (1)選擇實(shí)體

        每個(gè)實(shí)體模型地質(zhì)屬性不盡相同,在實(shí)體選擇時(shí)需要確保所選擇的實(shí)體為單個(gè)模型,具體設(shè)計(jì)流程如圖2所示,關(guān)鍵代碼如下:

        If selectType=1 Then

        If mcount>1 Then

        Dim msg As String

        msg=“選擇了”+Str(mcount)+“個(gè)實(shí)體,一次只能選擇單個(gè)實(shí)體!”

        MsgBox(msg,vbInformation+vbOKOnly,title)

        Else

        MsgBox(“未選擇實(shí)體!”,vbInformation+vbOKOnly,title)

        圖2 選擇實(shí)體設(shè)計(jì)流程

        (2)地質(zhì)屬性添加

        地質(zhì)屬性信息是指地質(zhì)體的巖性、時(shí)代、物理力學(xué)參數(shù)及典型照片等,其屬性值多由數(shù)值、字符和圖片構(gòu)成。每條屬性信息均包含屬性名稱和屬性值,在對每條屬性信息進(jìn)行添加時(shí),名稱和屬性值需要一一對應(yīng),將屬性信息逐一添加到數(shù)據(jù)表單中,具體設(shè)計(jì)流程如圖3所示,關(guān)鍵代碼如下:

        Dim endrow As Integer=mView.Rows.Count- 1

        mView.Rows.Insert(endrow)

        mView.Item(0,endrow).Value=TB_Name.Text.Trim

        mView.Item(1,endrow).Value=TB_value.Text.Trim

        圖3 地質(zhì)屬性添加設(shè)計(jì)流程

        (3)地質(zhì)屬性編輯

        地質(zhì)屬性編輯主要針對一些輸入有誤的數(shù)據(jù)進(jìn)行調(diào)整。每條屬性信息僅包含兩個(gè)字段,對于有誤的屬性信息直接刪除該行,重新添加即可。對于不是圖像類型的屬性,所有信息均包含在屬性表單中,直接刪除表單中的屬性行即可,但對于圖像信息的屬性,需在數(shù)據(jù)庫中刪除縮略圖照片以及上傳的原始照片,具體設(shè)計(jì)流程如圖4所示,關(guān)鍵代碼如下:

        If Mid(PName,1,2)=“圖像” Then

        ListViewLargeImage.Images.RemoveByKey(PName)

        For i=0 To Me.ListViewImg.Items.Count- 1

        Dim nm As

        String=UCase(ListViewImg.Items(i).ImageKey. ToString.Trim)

        If nm=PName Then ListViewImg.Items.RemoveAt(i)

        ThumbnailImageCode.RemoveAt(i)

        圖4 地質(zhì)屬性編輯設(shè)計(jì)流程

        (4)地質(zhì)屬性保存

        地質(zhì)屬性保存是將已添加的地質(zhì)屬性信息傳遞到CATIA模型中的文檔系統(tǒng)與模型一起保存,而在傳遞屬性信息前需將屬性名稱和屬性值統(tǒng)一轉(zhuǎn)成字符串格式,并且將兩個(gè)參數(shù)合成一個(gè),中間用特定分隔符分開,這樣可以增加參數(shù)傳遞效率,方便后期屬性展示。對于新添加屬性需與已有屬性進(jìn)行對比,如果已經(jīng)存在,可以選擇更新或是延用以前信息;若不存在,可以重新創(chuàng)建新的屬性信息,具體設(shè)計(jì)流程如圖5所示。

        屬性值存儲都是將屬性信息轉(zhuǎn)成字符串格式進(jìn)行存儲,關(guān)鍵代碼如下:

        If Mid(proname,1,2)=“圖像” Then

        For j=0 To ThumbnailImageCode.Count- 1

        Dim mstu As Imglist=ThumbnailImageCode.Item(j)

        If proname=mstu.ImglistName Then

        provalue=mstu.ImglistValue

        provalue=mDataGridView.Item(1,i).Value

        propertyvalue=propertyvalue+proname+“===”+provalue+“||”

        當(dāng)屬性信息為文字或是數(shù)字時(shí),將統(tǒng)一轉(zhuǎn)成字符串類型進(jìn)行存儲,并在存儲時(shí),屬性名稱和屬性值之間加入“===”和“||”兩個(gè)特殊符號,后期展示時(shí)方便分開屬性名稱和屬性值;當(dāng)屬性信息為圖片時(shí),需進(jìn)行圖片轉(zhuǎn)換,首先將圖片轉(zhuǎn)成byte,再由byte轉(zhuǎn)到base64string,然后對base64string進(jìn)行存儲;當(dāng)需要展示圖片屬性信息時(shí),需進(jìn)行逆向轉(zhuǎn)換,由base64string到byte再到圖片。

        存儲圖像屬性信息過程:圖片轉(zhuǎn)byte再轉(zhuǎn)base64string,關(guān)鍵代碼如下:

        Dim bty()As Byte

        Dim ms As New IO.MemoryStream

        myMap.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg)

        bty=ms.ToArray

        Dim btytxt As String=System.Convert.ToBase64String(bty)

        Dim d As Integer=btytxt.Length

        Return btytxt

        展示圖像屬性信息過程:base64string到byte再到圖片,關(guān)鍵代碼如下:

        Dim mymap As Bitmap

        Dim bty()As Byte

        bty=System.Convert.FromBase64String(ByteTxt)

        Dim ms As New IO.MemoryStream(bty)

        mymap=Bitmap.FromStream(ms)

        ′mMap=mymap

        Return mymap

        圖5 地質(zhì)屬性保存設(shè)計(jì)流程

        (5)地質(zhì)屬性展示

        地質(zhì)屬性展示是將已經(jīng)保存好的地質(zhì)屬性通過數(shù)據(jù)表單和圖像顯示框的形式展示出來,具體設(shè)計(jì)流程如圖6所示,關(guān)鍵代碼如下:

        Dim pv As String=mstrParam.Value

        If pv.Length=0 Then Exit Sub

        pv=System.Text.Encoding.Unicode.GetString(Convert.FromBase64String(pv))

        Dim propertyStr()As String=Split(pv,“||”)

        For i=0 To propertyStr.Length- 1

        If propertyStr(i)<> “” And

        propertyStr(i)<>“===”Then

        Dim endrow As Integer=

        mDataGridView.Rows.Count- 1

        mDataGridView.Rows.Insert(endrow)

        Dim propertyStr1()As String=

        Split(propertyStr(i),“===”)

        mDataGridView.Item(0,endrow).Value=

        propertyStr1(0).Trim

        If Mid(propertyStr1(0).Trim,1,2)=“圖像” Then

        ShowIMG(propertyStr1(0).Trim,

        propertyStr1(1).Trim,endrow)

        Else

        mDataGridView.Item(1,endrow).Value=

        propertyStr1(1).Trim

        在圖像框中展示,先在屬性表中雙擊縮略圖,圖片會放大顯示在圖像框中,關(guān)鍵代碼如下:

        Dim ImgItem As Integer=ListViewImg. FocusedItem. Index

        showPicture(ListViewImg. Items(ImgItem). ImageKey. ToString. Trim)

        圖6 地質(zhì)屬性展示設(shè)計(jì)流程圖

        4 實(shí)例應(yīng)用

        重慶市某水庫是一座以防洪、城鄉(xiāng)供水、灌溉為主,兼顧改善生態(tài)環(huán)境和發(fā)電等綜合利用為一體的大型水利工程。工程區(qū)出露地層有元古界、古生界、中生界及新生界,區(qū)內(nèi)出露地層均為沉積巖類,地層總厚度為4890~10750m,除缺失泥盆、石炭系及第三系外,尚缺志留系上統(tǒng)和白堊系下統(tǒng)地層?;贑ATIA軟件完成了該項(xiàng)目的三維地質(zhì)建模工作,三維模型如圖7所示。

        圖7 三維模型圖

        現(xiàn)擬給三維模型中每個(gè)地質(zhì)體賦予相應(yīng)的地質(zhì)屬性信息,選取其中一個(gè)三維模型體(編號J/2S//1- 2|ak)作為代表,利用開發(fā)的軟件進(jìn)行模型屬性賦值,擬賦地質(zhì)屬性見表1。

        表1 擬賦地質(zhì)屬性表

        首先啟動軟件,然后按照擬添加的屬性列表添加屬性。

        5 結(jié)論

        (1)通過運(yùn)用VB編程語言對CATIA軟件進(jìn)行二次開發(fā),首次實(shí)現(xiàn)了在三維模型上定制屬性信息,成功解決了特有地質(zhì)屬性信息在三維地質(zhì)模型上可視化表達(dá)。

        (2)將新增的屬性信息隨三維模型一同存儲,提高了三維地質(zhì)模型可視化程度,更有利于模型流通和使用。

        (3)本軟件的成功開發(fā)與應(yīng)用,其開發(fā)思路以及功能實(shí)現(xiàn)代碼,均可為后來學(xué)者在進(jìn)行類似軟件的開發(fā)提供借鑒和參考。

        猜你喜歡
        二次開發(fā)可視化信息
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        基于CGAL和OpenGL的海底地形三維可視化
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
        av男人的天堂亚洲综合网| 无码国产精品第100页| 国产主播一区二区在线观看| 爱爱免费视频一区二区三区| 国产精品久久国产精品99 gif| 国产成人久久精品激情| 巨爆乳中文字幕爆乳区| 久久精品一区二区三区夜夜| 在线观看亚洲第一黄片| 亚洲第一页综合图片自拍| 无码的精品免费不卡在线| 真人与拘做受免费视频| 熟妇无码AV| 加勒比特在线视频播放| 国产自拍视频免费在线| 特级做a爰片毛片免费看无码| 国产精品久久久久久2021| av网站在线观看二区| 国产亚洲成性色av人片在线观| 国语精品一区二区三区| AV无码一区二区三区国产| 久久精品国产亚洲不卡| 三级全黄裸体| 精品999日本久久久影院| 日本爽快片18禁免费看| 亚洲永久精品ww47永久入口| 免费看黄在线永久观看| 国产乱码人妻一区二区三区| 欧美巨大巨粗黑人性aaaaaa| 久久天天躁狠狠躁夜夜爽蜜月| 国产高清一区在线观看| av免费不卡一区二区| 在线欧美中文字幕农村电影| 久久九九有精品国产尤物| 精品国产精品久久一区免费| 国产亚州精品女人久久久久久| 欧美巨大xxxx做受中文字幕| 国产亚洲高清在线精品不卡| 97中文字幕精品一区二区三区| 在线高清理伦片a| 久久99热精品免费观看欧美|