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

        ?

        CATIA 二次開(kāi)發(fā)應(yīng)用于鐵路箱涵出入口建模

        2018-01-26 08:11:17張興華
        關(guān)鍵詞:二次開(kāi)發(fā)界面程序

        張興華

        (中國(guó)鐵路設(shè)計(jì)集團(tuán)有限公司 橋梁工程設(shè)計(jì)研究院,天津 300142)

        鐵路涵洞通用圖中制定了一系列涵洞結(jié)構(gòu)尺寸,用于適應(yīng)涵洞的各種孔徑、角度、埋深等參數(shù)變化,與之對(duì)應(yīng)的涵洞出入口作為獨(dú)立結(jié)構(gòu)也相應(yīng)地制定了復(fù)雜的尺寸表格。在鐵路三維建模項(xiàng)目中,人員手動(dòng)建模的重復(fù)操作較多而且又不能通用,特別是箱涵出入口擋土墻目前多為八字翼墻,八字翼墻放坡面交叉是空間三角形平面形式,關(guān)鍵節(jié)點(diǎn)坐標(biāo)計(jì)算難度較大?;谶@種情況,有必要研究、開(kāi)發(fā)一套能夠根據(jù)通用圖表格自動(dòng)創(chuàng)建出入口三維建模的程序。本文以VB.NET為開(kāi)發(fā)環(huán)境,結(jié)合CATIA建模應(yīng)用,開(kāi)發(fā)了參數(shù)化批量創(chuàng)建箱涵出入口的三維建模程序。

        1 CATIA軟件及界面介紹

        1.1 CATIA二次開(kāi)發(fā)簡(jiǎn)介

        CATIA是一款三維設(shè)計(jì)軟件,已廣泛應(yīng)用于機(jī)械、航空領(lǐng)域,在解決復(fù)雜建筑結(jié)構(gòu)空間建模方面有獨(dú)特的優(yōu)勢(shì)。目前,主要的二次開(kāi)發(fā)方式有:

        (1)通過(guò)安裝CATIA提供的二次開(kāi)發(fā)工具組件應(yīng)用架構(gòu)CAA,在C++開(kāi)發(fā)環(huán)境中與CATIA通信并使用其提供的一系列API函數(shù)進(jìn)行開(kāi)發(fā),以此達(dá)到開(kāi)發(fā)CATIA插件的目的。采用這種方法開(kāi)發(fā)的程序特點(diǎn)為插件形式,運(yùn)行效率高,缺點(diǎn)是開(kāi)發(fā)者需要在熟練運(yùn)用CATIA并且了解CAA API函數(shù)的基礎(chǔ)上,額外安裝相關(guān)的開(kāi)發(fā)組件并且需要掌握C++語(yǔ)言才能進(jìn)行開(kāi)發(fā)工作,所以入門(mén)難度較高。

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

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

        Dim documents1 As Documents= catia.Documents'獲得當(dāng)前操作窗口集合

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

        Dim part1 As Part=partDocument1.Part'獲得零件設(shè)計(jì)對(duì)象

        1.2 界面設(shè)計(jì)

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

        圖1 程序界面

        1.3 操作流程

        (1)根據(jù)位于界面左側(cè)的箱涵出入口結(jié)構(gòu)樣式圖,用戶按指定格式使用Excel準(zhǔn)備好相關(guān)數(shù)據(jù)文件;

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

        (3)可通過(guò)鼠標(biāo)選擇列表中的單行或多行來(lái)指定要建模的出入口;

        (4)點(diǎn)擊創(chuàng)建BIM模型按鈕,由程序在后臺(tái)啟動(dòng)CATIA并進(jìn)行參數(shù)化建模;

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

        2 Excel數(shù)據(jù)源的制作與讀取

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

        2.1 直接使用VBA

        該方法的特點(diǎn)是功能強(qiáng)大、速度快。但因其不能脫離Excel內(nèi)部環(huán)境運(yùn)行,所以不能開(kāi)發(fā)獨(dú)立的程序主界面。而且因?yàn)椴皇?NET環(huán)境,所以窗口及控件外觀也比較簡(jiǎn)陋。此外,對(duì)于開(kāi)發(fā)者而言,VBA的源代碼暴漏在外,不利于代碼保密;如果額外開(kāi)發(fā)DLL提供VBA調(diào)用,既可以達(dá)到VBA的高效率,又可以實(shí)現(xiàn)程序封裝的目的,但是,這樣做對(duì)于小程序而言,開(kāi)發(fā)難度加大、開(kāi)發(fā)成本過(guò)高。

        2.2 通過(guò)COM引用Excel類庫(kù)在外部操作其實(shí)例對(duì)象

        通過(guò)COM類庫(kù)創(chuàng)建實(shí)例相當(dāng)于在Excel外部使用VBA編程,幾乎可以實(shí)現(xiàn)所有的Excel功能,而且可以脫離Excel運(yùn)行環(huán)境,在外部獨(dú)立開(kāi)發(fā)程序的功能與界面。但該方法的缺點(diǎn)是速度慢,特別是在表格數(shù)據(jù)龐大時(shí)進(jìn)行的寫(xiě)操作,耗時(shí)幾乎是VBA操作的萬(wàn)倍以上。

        2.3 基于ADO或ADO.NET對(duì)象連接Excel

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

        Dim Con As New OleDbConnection '連接數(shù)據(jù)源

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

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

        Dim dataSet As New DataSet '數(shù)據(jù)集對(duì)象

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

        Dim filrow() As DataRow '過(guò)濾記錄

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

        經(jīng)過(guò)比較,本文采用ADO.NET方式讀取Excel數(shù)據(jù)源。

        3 出入口參數(shù)化建模

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

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

        3.1 建模步驟

        以圖2為例:

        (1)根據(jù)幾何公式計(jì)算c點(diǎn)坐標(biāo),以c點(diǎn)為基準(zhǔn)點(diǎn)創(chuàng)建出入口的①、③部分;

        (2)經(jīng)過(guò)對(duì)①、③部分的裁剪確定a點(diǎn)、b點(diǎn)坐標(biāo);

        (3)根據(jù)關(guān)鍵節(jié)點(diǎn)坐標(biāo)及實(shí)體間的裁剪功能創(chuàng)建②部分;

        (4)創(chuàng)建④部分。

        3.2 實(shí)現(xiàn)方法

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

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

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

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

        shapeFactory1 = part1.ShapeFactory'圖形加工類庫(kù)

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

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

        3.3 建模效果

        建模效果如圖3所示。

        圖3 CATIA建模效果圖

        4 結(jié)束語(yǔ)

        針對(duì)鐵路三維設(shè)計(jì)項(xiàng)目中外形尺寸變化繁多的涵洞出入口結(jié)構(gòu),本文對(duì)CATIA的二次開(kāi)發(fā)以及Excel作為數(shù)據(jù)源的相關(guān)技術(shù)進(jìn)行了研究,開(kāi)發(fā)了依據(jù)通用圖尺寸表格參數(shù)化創(chuàng)建箱涵出入口的三維建模程序,達(dá)到了批量建模的目的。本文介紹的CATIA二次開(kāi)發(fā)方法簡(jiǎn)單有效,同時(shí),以Excel作為數(shù)據(jù)源,使得用戶可以隨時(shí)更新尺寸數(shù)據(jù),操作簡(jiǎn)便。本程序已在鐵路BIM相關(guān)設(shè)計(jì)項(xiàng)目中應(yīng)用,效果良好,減少了手動(dòng)操作工作量,提高了建模效率。

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

        [2] 李 原,彭培林,邵 毅,等.基于CATIA的標(biāo)準(zhǔn)件庫(kù)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005,17(8):1873-1877.

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

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

        [5] 金 星. 鐵路勘測(cè)設(shè)計(jì)BIM 應(yīng)用基礎(chǔ)研究[J]. 鐵道建筑,2014(7):136-138.

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

        [7]侯彤璞,趙新慧. Visual Basic.NET程序設(shè)計(jì)實(shí)用教程[M].北京:清華大學(xué)出版社,2008.

        [8] 胡 挺,吳立軍. CATIA二次開(kāi)發(fā)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2006.

        猜你喜歡
        二次開(kāi)發(fā)界面程序
        國(guó)企黨委前置研究的“四個(gè)界面”
        淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開(kāi)發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        試論我國(guó)未決羈押程序的立法完善
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
        西門(mén)子Easy Screen對(duì)倒棱機(jī)床界面二次開(kāi)發(fā)
        “程序猿”的生活什么樣
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        人機(jī)交互界面發(fā)展趨勢(shì)研究
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        成人在线观看视频免费播放| 日本一区二区高清在线观看| 色婷婷精品| 亚洲av午夜国产精品无码中文字 | 人妻少妇中文字幕,久久精品| 欧美日韩国产乱了伦| 少妇内射视频播放舔大片| 777国产偷窥盗摄精品品在线| 97中文字幕精品一区二区三区| 日本最新一区二区三区视频 | 亚洲日韩久久综合中文字幕| 日本不卡一区二区三区在线视频| 日韩精品无码一本二本三本色| 国产女优一区在线观看| 午夜av福利亚洲写真集| 欧美日本免费一区二| 国产精品国产三级国产av′| 精品久久久久香蕉网| 激情五月婷婷一区二区| 中文字幕色一区二区三区页不卡| 日本精品免费一区二区三区| 成年男女免费视频网站| 中国农村妇女hdxxxx| 亚洲女av中文字幕一区二区| 日韩精品极品在线观看视频| 在线亚洲AV成人无码一区小说| 偷窥村妇洗澡毛毛多| 中国熟妇人妻xxxxx| 又粗又硬又大又爽免费视频播放| 色偷偷激情日本亚洲一区二区| 国产亚洲综合另类色专区| 亚洲视频综合在线第一页| 美女视频很黄很a免费国产| 日本中文字幕在线播放第1页| 免费xxx在线观看| 久久久久人妻一区精品色欧美 | 亚洲综合国产精品一区二区99| 扒开双腿疯狂进出爽爽爽视频| 野花社区视频在线观看| 国产免费无遮挡吸奶头视频 | 亚洲美女自拍偷拍视频|