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

CATIA 二次開發應用于鐵路箱涵出入口建模

2018-01-26 08:11:17張興華
鐵路計算機應用 2018年1期
關鍵詞:二次開發界面程序

張興華

(中國鐵路設計集團有限公司 橋梁工程設計研究院,天津 300142)

鐵路涵洞通用圖中制定了一系列涵洞結構尺寸,用于適應涵洞的各種孔徑、角度、埋深等參數變化,與之對應的涵洞出入口作為獨立結構也相應地制定了復雜的尺寸表格。在鐵路三維建模項目中,人員手動建模的重復操作較多而且又不能通用,特別是箱涵出入口擋土墻目前多為八字翼墻,八字翼墻放坡面交叉是空間三角形平面形式,關鍵節點坐標計算難度較大。基于這種情況,有必要研究、開發一套能夠根據通用圖表格自動創建出入口三維建模的程序。本文以VB.NET為開發環境,結合CATIA建模應用,開發了參數化批量創建箱涵出入口的三維建模程序。

1 CATIA軟件及界面介紹

1.1 CATIA二次開發簡介

CATIA是一款三維設計軟件,已廣泛應用于機械、航空領域,在解決復雜建筑結構空間建模方面有獨特的優勢。目前,主要的二次開發方式有:

(1)通過安裝CATIA提供的二次開發工具組件應用架構CAA,在C++開發環境中與CATIA通信并使用其提供的一系列API函數進行開發,以此達到開發CATIA插件的目的。采用這種方法開發的程序特點為插件形式,運行效率高,缺點是開發者需要在熟練運用CATIA并且了解CAA API函數的基礎上,額外安裝相關的開發組件并且需要掌握C++語言才能進行開發工作,所以入門難度較高。

(2)通過運行CATIA并錄制宏來進行開發。相對于我們熟知利用VBA二次開發Excel或CAD而言,CATIA的宏錄制器可以直接將錄制宏轉換為開放式的VBScript代碼,所以開發者幾乎無需系統地學習VBScript便可在錄制宏的基礎上修改代碼并使之成為自己的程序。該方法簡單方便,無需額外的開發環境,但此種方法人機交互性差,無法做出界面,也無法達到參數化建模的效果。不過,開發者可以利用VB.NET作為開發環境,通過COM引用CATIA對象庫至程序框架之中,復制粘貼并編輯宏代碼,從而達到在外部環境直接操作CATIA實例對象的效果,并且能夠開發獨立的程序界面,來實現交互式的參數化建模功能。這種方法運行速度不如前者,但簡單有效并且功能同樣強大,適用于小型化的建模開發工作,本文選取這種二次開發方式。其中,獲取CATIA實例對象的主要VBScript代碼如下:

Dim catia As INFITF.Application= GetObject(,"CATIA.Application")'獲得catia對象

Dim documents1 As Documents= catia.Documents'獲得當前操作窗口集合

Dim partDocument1 As Document=documents1.Add("Part")'獲得當前操作窗口

Dim part1 As Part=partDocument1.Part'獲得零件設計對象

1.2 界面設計

本程序的界面向用戶提供了箱涵出入口參數化建模圖示、Excel數據源的指定與加載、數據源的列表顯示以及洞門批量建模與文件導出功能按鈕,如圖1所示。

圖1 程序界面

1.3 操作流程

(1)根據位于界面左側的箱涵出入口結構樣式圖,用戶按指定格式使用Excel準備好相關數據文件;

(2)點擊界面左上角指定圖庫的藍色按鈕,選中文件后即可提取Excel并更新數據至界面右側列表,表中的每一行代表一種出入口尺寸類型;

(3)可通過鼠標選擇列表中的單行或多行來指定要建模的出入口;

(4)點擊創建BIM模型按鈕,由程序在后臺啟動CATIA并進行參數化建模;

(5)創建好的模型將保存為*.CATPart以及*.STL格式提供三維項目調用。

2 Excel數據源的制作與讀取

箱涵通用圖出入口的尺寸表作為三維建模時的數據來源,充當程序數據庫的作用。相對于部署困難的大型數據庫,就小程序來說,選用ACCESS或Excel會更加靈活而且容易開發。這兩者相比較,各有優勢,ACCESS作為數據庫應用比Excel更加專業,可以靈活地使用SQL語言操作數據記錄,但除非在程序中再額外開發數據庫管理功能,否則用戶直接編輯ACCESS文件比較麻煩且不直觀。Excel作為數據庫最大的缺點就是使用SQL語言不夠靈活,不宜實現添加、刪除、篩選記錄等功能。但其完全開放的數據編輯模式和廣泛普及的使用性,使得用戶依靠手動操作便可自由地管理數據記錄,達到隨時更新最新通用圖尺寸的效果,所以本文采用Excel作為通用圖的模板格式。目前,讀取Excel比較普及的方式主要有以下3種。

2.1 直接使用VBA

該方法的特點是功能強大、速度快。但因其不能脫離Excel內部環境運行,所以不能開發獨立的程序主界面。而且因為不是.NET環境,所以窗口及控件外觀也比較簡陋。此外,對于開發者而言,VBA的源代碼暴漏在外,不利于代碼保密;如果額外開發DLL提供VBA調用,既可以達到VBA的高效率,又可以實現程序封裝的目的,但是,這樣做對于小程序而言,開發難度加大、開發成本過高。

2.2 通過COM引用Excel類庫在外部操作其實例對象

通過COM類庫創建實例相當于在Excel外部使用VBA編程,幾乎可以實現所有的Excel功能,而且可以脫離Excel運行環境,在外部獨立開發程序的功能與界面。但該方法的缺點是速度慢,特別是在表格數據龐大時進行的寫操作,耗時幾乎是VBA操作的萬倍以上。

2.3 基于ADO或ADO.NET對象連接Excel

該方法是采用數據庫連接的形式,讀取效率比通過COM引用Excel類庫要高。ADO是對OLE DB的一種封裝,提供了大量的COM接口,既保留了原有的數據處理功能,又簡單易用。ADO.NET則是建立在ADO基礎上并針對.NET編程環境的升級。采用ADO.NET的OleDbConnection對象,可以以較快的速度從外部連接并讀取Excel表格內容,同時,DataSet對象的篩選功能,也能作為對該方法使用SQL時不夠靈活的一種補償。數據庫連接及操作的關鍵代碼如下:

Dim Con As New OleDbConnection '連接數據源

Con.ConnectionString = "ADO.NET的Excel連接字串" '賦值連接字串

Dim Adapter As New OleDbDataAdapter-("SELECT * FROM [sheet名稱$]", Con)

Dim dataSet As New DataSet '數據集對象

Adapter.Fill(dataSet, "sheet名稱") '填充數據集

Dim filrow() As DataRow '過濾記錄

filrow = dataSet.Tables("sheet名稱").Select("查找條件where的字符串")

經過比較,本文采用ADO.NET方式讀取Excel數據源。

3 出入口參數化建模

箱涵出入口擋土墻的外形為八字翼墻,結構比較復雜,特別是中部的三角形為空間平面,關鍵節點的坐標無法通過公式計算得到,所以整體建模難度較大。因此,將其進行拆分并分別建模,拆分后的出入口大致由4部分組成,如圖2所示。圖2中,①表示縱向擋墻;②表示橫向擋墻;③表示中部三角形擋墻;④表示基礎。

圖2 箱涵出入口平面示意圖

3.1 建模步驟

以圖2為例:

(1)根據幾何公式計算c點坐標,以c點為基準點創建出入口的①、③部分;

(2)經過對①、③部分的裁剪確定a點、b點坐標;

(3)根據關鍵節點坐標及實體間的裁剪功能創建②部分;

(4)創建④部分。

3.2 實現方法

各部分建模常用的VBScript代碼如下:

Dim sketch1 As Sketch=sketches1.Add(origin-Elements1.PlaneYZ) '設置xy平面為草圖平面

Dim constraints1 As Constraints=sketch1.Constraints '為草圖平滿設置約束集

constraints1.AddBiEltCst(catCstTypeVerticality,約束對象1, 約束對象2) '設置約束

shapeFactory1 = part1.ShapeFactory'圖形加工類庫

Dim pad1 As Pad=shapeFactory1.AddNewPad-(sketch1, 拉伸距離) '拉伸對象

Dim split1 As Split=shapeFactory1.AddNew-Split(裁剪對象, 裁剪面)'裁剪對象

3.3 建模效果

建模效果如圖3所示。

圖3 CATIA建模效果圖

4 結束語

針對鐵路三維設計項目中外形尺寸變化繁多的涵洞出入口結構,本文對CATIA的二次開發以及Excel作為數據源的相關技術進行了研究,開發了依據通用圖尺寸表格參數化創建箱涵出入口的三維建模程序,達到了批量建模的目的。本文介紹的CATIA二次開發方法簡單有效,同時,以Excel作為數據源,使得用戶可以隨時更新尺寸數據,操作簡便。本程序已在鐵路BIM相關設計項目中應用,效果良好,減少了手動操作工作量,提高了建模效率。

[1] 黎家立.基于ADO對象編程實現Excel表中數據的檢索[J].數據庫與信息管理,2017(2):53-54.

[2] 李 原,彭培林,邵 毅,等.基于CATIA的標準件庫設計與實現[J].計算機輔助設計與圖形學學報,2005,17(8):1873-1877.

[3] 潘永杰.基于BIM的橋梁建養一體化平臺應用研究[J].鐵路計算機應用,2016,25(5):39-43.

[4] 劉延宏. BIM 技術在鐵路橋梁建設中的應用[J]. 鐵路技術創新,2015(3):47-50.

[5] 金 星. 鐵路勘測設計BIM 應用基礎研究[J]. 鐵道建筑,2014(7):136-138.

[6]趙斯思.Visual Basic數據庫編程技術與實例[M]. 北京:人民郵電出版社.2004.

[7]侯彤璞,趙新慧. Visual Basic.NET程序設計實用教程[M].北京:清華大學出版社,2008.

[8] 胡 挺,吳立軍. CATIA二次開發技術基礎[M].北京:電子工業出版社,2006.

猜你喜歡
二次開發界面程序
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
西門子Easy Screen對倒棱機床界面二次開發
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
人機交互界面發展趨勢研究
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 欧美乱妇高清无乱码免费| 91精品国产一区| 97视频在线观看免费视频| 精品福利视频网| 国产AV毛片| 日韩精品一区二区深田咏美| 亚洲精品无码日韩国产不卡| 不卡无码网| 又黄又湿又爽的视频| 亚洲黄色激情网站| 日韩精品一区二区深田咏美| 国产黄在线免费观看| 久夜色精品国产噜噜| 国产精品无码久久久久久| 青青草原国产精品啪啪视频| 二级特黄绝大片免费视频大片| 国产成人在线无码免费视频| 国产精品开放后亚洲| 久久综合色88| 日韩欧美色综合| 日本在线欧美在线| 日韩成人在线网站| 国产精品美女网站| 在线看AV天堂| 在线视频97| 四虎国产精品永久一区| 九九久久精品免费观看| 成人在线不卡视频| 国产白丝av| 99久久精品国产精品亚洲| 欧洲熟妇精品视频| 美女无遮挡免费视频网站| 欧美日韩亚洲综合在线观看| a级毛片在线免费| 国产欧美日韩va| a级毛片在线免费| 国产精品无码AV片在线观看播放| 久久国语对白| 亚洲综合二区| 欧洲亚洲一区| 日本黄色不卡视频| 人与鲁专区| 午夜久久影院| 国产欧美日韩18| 狠狠色狠狠综合久久| 天天色天天操综合网| 国产精品国产三级国产专业不| 亚洲成人一区二区| 久久中文无码精品| 99re这里只有国产中文精品国产精品| 日本一区二区三区精品视频| 久久香蕉欧美精品| 日本不卡在线| 色窝窝免费一区二区三区 | 国产高清又黄又嫩的免费视频网站| 92午夜福利影院一区二区三区| 国产区人妖精品人妖精品视频| 天堂av高清一区二区三区| 日韩精品一区二区三区免费| 全部毛片免费看| 极品国产一区二区三区| 爱爱影院18禁免费| 亚洲热线99精品视频| a毛片在线播放| 日本高清免费一本在线观看 | 亚洲日本韩在线观看| a毛片基地免费大全| 在线观看免费国产| 免费人成网站在线观看欧美| 国产中文在线亚洲精品官网| 免费观看精品视频999| 无码中字出轨中文人妻中文中| 日韩av高清无码一区二区三区| 欧美a在线视频| 久久鸭综合久久国产| 精品人妻系列无码专区久久| 国产成人高清精品免费软件| 国产视频一区二区在线观看| 久久精品中文字幕免费| 国产精品播放| 色成人综合| jizz在线观看|