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

        ?

        Auto CAD Civil 3D中自定義部件的實(shí)現(xiàn)方法

        2015-02-11 17:56:20何守旺
        鐵路技術(shù)創(chuàng)新 2015年6期
        關(guān)鍵詞:翼墻代碼部件

        ■ 何守旺

        Auto CAD Civil 3D中自定義部件的實(shí)現(xiàn)方法

        ■ 何守旺

        對(duì)Auto CAD Civil 3D中自定義部件技術(shù)進(jìn)行分析,剖析其實(shí)現(xiàn)實(shí)質(zhì),提出.NET語(yǔ)言設(shè)計(jì)自定義部件的實(shí)施步驟,并結(jié)合鐵路隧道洞口位置選擇軟件中的自定義部件的具體實(shí)踐驗(yàn)證該方法的可行性。

        Auto CAD Civil 3D;自定義部件;幾何單元;邏輯目標(biāo);隧道洞口

        0 引言

        在Auto CAD Civil 3D中,部件是道路設(shè)計(jì)的基本構(gòu)造塊,一個(gè)部件就是一個(gè)A u t o C A D圖形對(duì)象(AECCSubassembly),是用于定義道路橫斷面、構(gòu)建道路等三維模型的重要組成部分。此處的道路是廣義道路,實(shí)際上指一個(gè)具有路線水平幾何特性、縱斷面垂直幾何特性及橫斷面幾何特性的三維帶狀模型,不僅可以是鐵路、公路、城市道路,還可以是地鐵、橋梁、隧道、擋土墻、水渠、大壩、管線、護(hù)坡、綠化帶等。Auto CAD Civil 3D通過工具選項(xiàng)板和工具目錄提供了大量預(yù)配置部件(如車道、路肩、中間帶和邊坡),這些部件都是由一些點(diǎn)、連接和造型進(jìn)行定義,基本能滿足使用要求,但在實(shí)際工程項(xiàng)目應(yīng)用中,根據(jù)項(xiàng)目特點(diǎn)和要求還需自定義部件。

        在Auto CAD Civil 3D中,可以通過以下3種方式實(shí)現(xiàn)自定義部件:(1)從多段線創(chuàng)建自定義部件;(2)使用部件編輯器創(chuàng)建部件;(3)使用.NET語(yǔ)言設(shè)計(jì)部件。一般對(duì)于形狀固定且不需指定邏輯目標(biāo)的部件,使用第一種方式就可以很快實(shí)現(xiàn),如渠道、路緣石等;而對(duì)于形狀動(dòng)態(tài)變化(需參數(shù)驅(qū)動(dòng))的部件,需要后2種方式來(lái)設(shè)計(jì)。部件編輯器(Autodesk Subassembly Composer)是通過可視化的軟件界面和圖形交互方式創(chuàng)建部件,但此方式的邏輯判斷中不支持循環(huán)條件,因此經(jīng)常需要使用.NET語(yǔ)言設(shè)計(jì)部件。

        1 自定義部件技術(shù)分析

        1.1 部件幾何單元和代碼

        部件有3種幾何單元:點(diǎn)(Point)、連接(Link)、造型(Shape),它們分別形成部件的頂點(diǎn)、點(diǎn)之間的一條直線段、連接圍成的閉合橫斷面區(qū)域?;谶@3種幾何單元來(lái)生成AutoCAD Civil 3D道路模型的線、曲面和結(jié)構(gòu)體,即沿著中心線進(jìn)行縱向延伸,“點(diǎn)”形成縱向要素線,“連接”形成縱向帶狀面,“造型”形成縱向空間帶,且每個(gè)部件可由任意多個(gè)點(diǎn)、連接和造型構(gòu)成。

        需要為幾何單元指定代碼(即創(chuàng)建有意義的文字名稱),用來(lái)標(biāo)識(shí)幾何單元的工程含義,每個(gè)幾何單元可以沒有代碼,也可以有任意多個(gè)代碼(多個(gè)代碼之間用逗號(hào)分隔)。其中,點(diǎn)代碼是要素代碼,指定構(gòu)成部件連接的端點(diǎn);連接代碼是為構(gòu)成道路部件的每個(gè)連接指定的要素代碼;造型代碼主要用于定義不同材質(zhì)的填充圖案及為材質(zhì)體積表格提取面積。在構(gòu)建道路模型時(shí),沿著線路方向,相同代碼的幾何單元被連接成為連續(xù)的構(gòu)造(沒有代碼的幾何單元不會(huì)被連接),點(diǎn)代碼、連接代碼還直接影響到橫斷面的標(biāo)注,因此必須在創(chuàng)建部件前仔細(xì)設(shè)計(jì)代碼方案。

        1.2 邏輯目標(biāo)

        邏輯目標(biāo)是某些部件的形體關(guān)聯(lián)到道路外部的對(duì)象,邏輯目標(biāo)分為曲面、寬度或偏移(水平方向),坡度或高度(豎直方向)。對(duì)于曲面邏輯目標(biāo),僅可使用曲面對(duì)象定義該曲面,如道路邊坡一定要和曲面相交,那么地形曲面就是邊坡部件的邏輯目標(biāo)。對(duì)于水平方向的寬度邏輯目標(biāo),可使用路線、多段線、要素線或測(cè)量地物對(duì)象定義寬度或偏移。類似地,對(duì)于垂直方向的高度邏輯目標(biāo),可使用縱斷面、三維多段線、要素線或測(cè)量地物對(duì)象來(lái)定義。將這3種邏輯目標(biāo)組合使用就可以進(jìn)行很多復(fù)雜的設(shè)計(jì),如在翼墻設(shè)計(jì)中需要考慮翼墻與端墻的切合,為此要聯(lián)合應(yīng)用高度邏輯目標(biāo)和寬度邏輯目標(biāo)。為使部件具有較高的靈活性,并能根據(jù)外部環(huán)境的不同而自動(dòng)變化,設(shè)計(jì)時(shí)通常使用虛擬目標(biāo),只有在建立道路模型時(shí),才需要為每個(gè)部件指定要關(guān)聯(lián)的外部對(duì)象。

        1.3 部件程序模塊

        在自定義部件的.NET項(xiàng)目中,需要添加C3DStockSubassemblies.dll程序集引用。在這個(gè)工程項(xiàng)目中,含有3個(gè)關(guān)鍵文件:(1)SATemplate.vb文件。定義了SATemplate類,所有自定義部件都必須定義一個(gè)該類的派生類,并在其模塊中實(shí)現(xiàn)若干個(gè)標(biāo)準(zhǔn)函數(shù),SATemplate提供了4個(gè)需要重載的函數(shù),GetLogicalNamesImplement函數(shù)定義運(yùn)行時(shí)邏輯指定列表,該列表可以在建模模式中創(chuàng)建;GetInputParametersImplement函數(shù)定義必須為部件定義的輸入?yún)?shù)列表;GetOutputParametersImplement函數(shù)定義由部件生成的輸出參數(shù)列表;DrawImplement讀取用戶定義的輸入?yún)?shù)和邏輯指定,調(diào)整部件造型,然后在已有裝配中增加點(diǎn)、連接和造型。上列函數(shù)都需要傳入CorridorState類型的對(duì)象,該對(duì)象是自定義部件和將要連接裝配的點(diǎn)、連線和造型集合的主要接口,提供許多特性和方法,包括當(dāng)前里程、當(dāng)前路線和縱斷面、當(dāng)前偏移和高程、圖層、顏色、直線樣式及線寬。某些特性(如CurrentAlignment特性)本身又提供了多組方法和特性,這些特性還包括若干參數(shù)集合,用于收集布爾、長(zhǎng)整形、雙精度、字符串路線、縱斷面、曲面和點(diǎn)等類型參數(shù)。(2)CodesSpecific.vb文件。提供CodeType和AllCodes結(jié)構(gòu),以及全局變量代碼,即帶有填充信息的AllCodes結(jié)構(gòu)實(shí)例。(3)Utilities.vb文件。提供一系列輔助功能函數(shù),如錯(cuò)誤處理、計(jì)算部件幾何,以及附著代碼字符和其他任務(wù)等。

        1.4 二次開發(fā)程序中對(duì)自定義部件的調(diào)用

        對(duì)自定義部件的管理是以Autodesk工具目錄的形式實(shí)現(xiàn),即使用帶有.ATC擴(kuò)展名的XML格式文件定義,定義部件工具目錄的內(nèi)容和組織,描述所有工具目錄及目錄內(nèi)的工具。在基于.NET API對(duì)AutoCAD Civil 3D進(jìn)行二次開發(fā)的程序中,對(duì)部件的調(diào)用主要以SubassemblyCollection類的3個(gè)成員函數(shù)來(lái)實(shí)現(xiàn):Add函數(shù)實(shí)現(xiàn)將多段線實(shí)體轉(zhuǎn)換為自定義部件;ImportSubassembly函數(shù)根據(jù)Autodesk工具目錄的.ATC文件及目錄內(nèi)的工具調(diào)用自定義部件;ImportStockSubassembly函數(shù)實(shí)現(xiàn)在.NET形狀生成模式下,根據(jù).NET裝配名稱和.NET類名稱調(diào)用自定義部件,對(duì)用.NET語(yǔ)言設(shè)計(jì)的部件的調(diào)用都用該函數(shù),有時(shí)需要結(jié)合SubassemblyGenerator類,實(shí)現(xiàn)對(duì)部件的直接替換。

        2 應(yīng)用開發(fā)流程

        以.NET為例,在具體實(shí)施過程中,一般按照以下步驟自定義部件:(1)規(guī)劃與分析,對(duì)部件幾何造型、應(yīng)用目的及設(shè)計(jì)操作中如何使用部件進(jìn)行精心規(guī)劃與分析;(2)創(chuàng)建設(shè)計(jì)文檔,主要描述部件的附著方式、參數(shù)、運(yùn)行時(shí)邏輯指定、行為、代碼方案等;(3)編程實(shí)現(xiàn)。

        根據(jù)以上方法和步驟,以翼墻式隧道洞門翼墻為例,在Auto CAD Civil 3D平臺(tái)上利用.NET API進(jìn)行鐵路隧道洞口位置選擇軟件自定義部件的定制。

        2.1 規(guī)劃與分析

        在翼墻式隧道洞門中,翼墻在正面起到抵抗山體縱向推力、增加洞門抗滑及抗傾覆能力的作用,兩側(cè)面保護(hù)路塹邊坡起擋土墻作用,由墻身、頂水溝、基礎(chǔ)組成。設(shè)計(jì)中需要考慮翼墻高度、厚度、邊坡、仰坡、胸坡及排水,與其關(guān)聯(lián)對(duì)象有路塹邊坡、端墻,隨著翼墻高度變化,考慮增加厚度,且需要考慮與端墻的切合,因此邏輯對(duì)象包括頂水溝高度、基礎(chǔ)高度和定位線偏移。最后為了計(jì)算材料,需要將其造型分為外露面、墻身、頂水溝、基礎(chǔ)。翼墻裝配見圖1。

        2.2 創(chuàng)建設(shè)計(jì)文檔

        翼墻部件的附著點(diǎn)位于隧道內(nèi)軌頂面與翼墻外側(cè)面交線上。輸入?yún)?shù)主要為翼墻高度和厚度、邊坡比、胸坡比、仰坡比、基底坡度、基礎(chǔ)埋深、頂水溝寬度和深度、外露面厚度、側(cè)水溝深度和寬度。翼墻部件運(yùn)行時(shí)邏輯指定見表1。

        翼墻部件基于給定的輸入?yún)?shù)值生成翼墻基礎(chǔ)和墻身結(jié)構(gòu)的連接,需要考慮部件行為間的差異,主要是隨著翼墻高度變化,翼墻厚度變化,且需要考慮與端墻的切合。翼墻部件的點(diǎn)、連接和造型示意見圖2、圖3。

        2.3 編程實(shí)現(xiàn)

        第一步:新建項(xiàng)目。在項(xiàng)目類型中選擇Visual C#語(yǔ)言,然后在模板列表中選擇“類庫(kù)”項(xiàng)目,最后輸入項(xiàng)目名稱及項(xiàng)目存儲(chǔ)位置,完成新建項(xiàng)目。

        第二步:添加引用。添加對(duì)acdbmgd.dll、acmgd.dll、accoremgd.dll、AecBaseMgd.dll、AeccDbMgd.dll、C3DStockSubassemblies.dll程序集的引用,并把引用的DLL庫(kù)文件的“復(fù)制本地”屬性設(shè)置為“False”。

        第三步:項(xiàng)目屬性設(shè)置。在項(xiàng)目屬性頁(yè)對(duì)話框中,將“應(yīng)用程序”選項(xiàng)卡中的“目標(biāo)框架”設(shè)置為“.NET Framework 4”,將“調(diào)試”選項(xiàng)卡中的“啟動(dòng)外部程序”設(shè)置為AutoCAD Civil 3D 2014主程序acad.exe的路徑。

        第四步:加入命名空間。根據(jù)實(shí)現(xiàn)功能要求,加入需要的命名空間。

        第五步:實(shí)現(xiàn)翼墻類。Wing Wall Subassembly類繼承于SATemplate基礎(chǔ)類,重載Get Logical Names Implement、Get Input Parameters Implement、Draw Implement三個(gè)函數(shù),在Draw Implement中,Param Elevation Target Collection、 Param Offset Target Collection、Param Double Collection三個(gè)集合實(shí)現(xiàn)從對(duì)象中獲取關(guān)聯(lián)參數(shù)(圖2中P0與P1點(diǎn)將用這些獲取參數(shù)計(jì)算得到),Point Collection、Link Collection、Shape Collection三個(gè)集合實(shí)現(xiàn)創(chuàng)建部件的點(diǎn)、連接、造型,并為幾何單元定義代碼。

        第六步:使用部件。通過安裝自定義部件或直接在項(xiàng)目中通過API調(diào)用來(lái)使用部件。

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

        在AutoCAD Civil 3D的應(yīng)用中,自定義部件是必須掌握的一項(xiàng)技能。探析自定義部件的關(guān)鍵技術(shù),重點(diǎn)分析.NET語(yǔ)言設(shè)計(jì)部件的方法,并將該方法應(yīng)用于實(shí)際鐵路隧道洞口位置選擇軟件的開發(fā)中,取得了很好效果,但該方法對(duì)設(shè)計(jì)人員要求較高。在項(xiàng)目的具體應(yīng)用中,根據(jù)具體情況,將自定義部件的3種方式組合應(yīng)用不失為一種較佳選擇。

        [1] 任耀.Auto CAD Civil 3D 2013應(yīng)用寶典[M].上海:同濟(jì)大學(xué)出版社,2013.

        [2] 秦洪現(xiàn),崔惠嵐,孫劍,等.Autodesk系列產(chǎn)品開發(fā)培訓(xùn)教程[M].北京:化學(xué)工業(yè)出版社,2008.

        [3] 曾洪飛,盧擇臨,張帆.Auto CAD VBA&VB.NET開發(fā)基礎(chǔ)與實(shí)例教程[M].北京:中國(guó)電力出版社,2013.

        [4] 何守旺.基于.NET的Auto CAD Civil 3D二次開發(fā)技術(shù)及應(yīng)用[J].鐵路技術(shù)創(chuàng)新,2014(5):42-44.

        [5] 張小英,朱海濤.隧道洞口三維設(shè)計(jì)系統(tǒng)的應(yīng)用[J].華東公路,2010(5):78-81.

        [6] 易平,駱秀萍.土石壩設(shè)計(jì)中Auto CAD Civil 3D技術(shù)的應(yīng)用[J].甘肅水利水電技術(shù),2013(11):39-41.

        [7] 江寶剛.淺談Autodesk Civil 3D軟件在工程中的應(yīng)用[J].山西建筑,2008(16):364-365.

        何守旺:中鐵第一勘察設(shè)計(jì)院集團(tuán)有限公司,工程師,陜西 西安,710043

        責(zé)任編輯 高紅義

        U459.1;TP39

        A

        1672-061X(2015)06-0084-03

        猜你喜歡
        翼墻代碼部件
        翼墻在水利工程項(xiàng)目中的應(yīng)用與分析
        水閘翼墻地基處理設(shè)計(jì)研究
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        基于Siemens NX和Sinumerik的銑頭部件再制造
        部件拆分與對(duì)外漢字部件教學(xué)
        基于ANSYS空箱扶壁式高大翼墻動(dòng)力分析
        高烈度地區(qū)設(shè)置少量鋼筋混凝土翼墻對(duì)框架結(jié)構(gòu)性能的影響
        国产少妇高潮在线视频| 偷窥村妇洗澡毛毛多| 久久精品性无码一区二区爱爱 | 天堂精品人妻一卡二卡| 日本无遮挡真人祼交视频| 亚洲国产精品va在线播放| 亚洲aⅴ无码日韩av无码网站| 蜜桃在线观看免费高清| 国产午夜亚洲精品国产成人av| 极品少妇一区二区三区四区| 丝袜国产高跟亚洲精品91| 亚洲一区二区不卡日韩| 无遮挡很爽很污很黄的女同| 任你躁国产自任一区二区三区 | 中文字幕有码高清| 亚洲第一区二区精品三区在线| 日本午夜精品一区二区三区电影| 欧美在线三级艳情网站| 亚洲av天堂久久精品| 美女视频在线观看亚洲色图| 护士人妻hd中文字幕| AV无码一区二区三区国产| 日韩产的人妻av在线网| 国产午夜福利片在线观看| 性欧美大战久久久久久久久| 久久久久久久久高潮无码| 东风日产车是不是国产的| 人妻少妇乱子伦精品无码专区电影 | 亚洲国产免费一区二区| 国产成人综合久久久久久| 中文字幕无码不卡一区二区三区| 久久久久综合一本久道| 人妻精品久久一区二区三区| 国产乱码一区二区三区爽爽爽| 久久精品国波多野结衣| 中文字幕一区二区人妻在线不卡| 亚洲av无码乱码国产麻豆| 亚洲人成绝费网站色www| 国产精品白浆免费观看| 久久一区二区三区久久久| 欧美另类高清zo欧美|