999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CATIA三維地質模型屬性可視化表達研究與開發

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

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

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

1 研究背景

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

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

雖然水利水電行業學者對CATIA軟件應用的研究很深入,但對于每一個模型體額外賦予相應工程屬性的研究卻很少見,現有三維模型體仍僅有系統自帶的一些通用屬性。

文章根據地質專業的特點,基于CATIA軟件針對三維模型地質屬性的可視化表達進行了研究與開發。

2 軟件開發環境及語言選擇

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

3 軟件設計

3.1 設計思路

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

圖1 軟件設計思路圖

3.2 設計流程及關鍵代碼

(1)選擇實體

每個實體模型地質屬性不盡相同,在實體選擇時需要確保所選擇的實體為單個模型,具體設計流程如圖2所示,關鍵代碼如下:

If selectType=1 Then

If mcount>1 Then

Dim msg As String

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

MsgBox(msg,vbInformation+vbOKOnly,title)

Else

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

圖2 選擇實體設計流程

(2)地質屬性添加

地質屬性信息是指地質體的巖性、時代、物理力學參數及典型照片等,其屬性值多由數值、字符和圖片構成。每條屬性信息均包含屬性名稱和屬性值,在對每條屬性信息進行添加時,名稱和屬性值需要一一對應,將屬性信息逐一添加到數據表單中,具體設計流程如圖3所示,關鍵代碼如下:

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 地質屬性添加設計流程

(3)地質屬性編輯

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

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 地質屬性編輯設計流程

(4)地質屬性保存

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

屬性值存儲都是將屬性信息轉成字符串格式進行存儲,關鍵代碼如下:

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+“||”

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

存儲圖像屬性信息過程:圖片轉byte再轉base64string,關鍵代碼如下:

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再到圖片,關鍵代碼如下:

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 地質屬性保存設計流程

(5)地質屬性展示

地質屬性展示是將已經保存好的地質屬性通過數據表單和圖像顯示框的形式展示出來,具體設計流程如圖6所示,關鍵代碼如下:

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

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

Dim ImgItem As Integer=ListViewImg. FocusedItem. Index

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

圖6 地質屬性展示設計流程圖

4 實例應用

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

圖7 三維模型圖

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

表1 擬賦地質屬性表

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

5 結論

(1)通過運用VB編程語言對CATIA軟件進行二次開發,首次實現了在三維模型上定制屬性信息,成功解決了特有地質屬性信息在三維地質模型上可視化表達。

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

(3)本軟件的成功開發與應用,其開發思路以及功能實現代碼,均可為后來學者在進行類似軟件的開發提供借鑒和參考。

猜你喜歡
二次開發可視化信息
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
基于Pro/E二次開發的推土鏟參數化模塊開發
主站蜘蛛池模板: 91精品视频播放| 国产日韩丝袜一二三区| 自拍偷拍欧美日韩| 天天躁日日躁狠狠躁中文字幕| 国产91麻豆免费观看| 亚洲天堂777| 国产伦精品一区二区三区视频优播| 亚洲综合色区在线播放2019| 免费国产一级 片内射老| 精品一区二区三区水蜜桃| 99热在线只有精品| 国产在线观看成人91| 国产亚洲精品yxsp| 成人永久免费A∨一级在线播放| 91久久国产综合精品女同我| 一级福利视频| 国产亚洲精品自在久久不卡| 白浆免费视频国产精品视频| 免费啪啪网址| 亚洲人成网站色7777| 91亚洲精选| 欧美色综合网站| 久久精品aⅴ无码中文字幕| 国产午夜看片| 久久这里只有精品国产99| 亚洲精品国偷自产在线91正片| 高清无码一本到东京热| 国产香蕉在线| 一级毛片视频免费| 中文字幕免费播放| 国产一级在线观看www色| 欧美www在线观看| 四虎影视国产精品| 91午夜福利在线观看| 亚洲成人精品久久| 免费一级成人毛片| 91免费观看视频| 欧美人人干| 国产日韩av在线播放| 国产jizz| 日本午夜精品一本在线观看| 久久综合国产乱子免费| 亚洲av成人无码网站在线观看| jijzzizz老师出水喷水喷出| 欧美啪啪精品| 日韩欧美中文字幕一本| 重口调教一区二区视频| 欧美激情视频一区| 黄色国产在线| 亚洲精品无码不卡在线播放| 伊人成色综合网| 久久亚洲国产最新网站| 精品国产成人高清在线| а∨天堂一区中文字幕| 日韩欧美国产另类| 国产成人综合欧美精品久久| 97国产在线观看| 亚洲国产成人精品无码区性色| 久久精品波多野结衣| 欧美不卡二区| 国产亚洲欧美在线中文bt天堂| 午夜福利免费视频| 国产丝袜91| 精品一区二区三区水蜜桃| 日韩毛片免费视频| 亚洲一区二区日韩欧美gif| 黄色网址手机国内免费在线观看| 亚洲网综合| 一级毛片免费观看久| 四虎AV麻豆| 日本成人精品视频| 日本久久网站| 欧美不卡视频在线观看| 黄片一区二区三区| 国产精品亚洲精品爽爽| 午夜视频www| 在线精品亚洲国产| 欧美一级高清片欧美国产欧美| 国产精品成人第一区| 欧美综合区自拍亚洲综合天堂| 看国产毛片| 漂亮人妻被中出中文字幕久久|