• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    ObjectARX在站場土石方計算中的應(yīng)用

    2020-03-14 03:31:20何安靜
    四川建材 2020年2期
    關(guān)鍵詞:鏈表挖方土石方

    何安靜

    (中鐵二院(成都)建設(shè)發(fā)展有限責(zé)任公司,四川 成都 610031)

    0 前 言

    土木工程專業(yè)工程師大都基于計算機輔助繪圖工具開展設(shè)計工作,平面圖紙即為設(shè)計成果。目前,國內(nèi)輔助繪圖工具多基于AutoCAD平臺開發(fā)了相應(yīng)的圖紙快速生成擴展功能,提高了繪圖效率,但一般都缺少可準(zhǔn)確統(tǒng)計工程量功能,或只能利用外部工具進行統(tǒng)計計算。ObjectARX是AutoDesk公司針對AutoCAD平臺上的二次開發(fā)而推出的一個開發(fā)軟件包,它提供了以C++為基礎(chǔ)的面向?qū)ο蟮拈_發(fā)環(huán)境及應(yīng)用程序接口。本文充分基于AcDbObject類的基本特性,擴展出AutoCAD圖形數(shù)據(jù)庫快速訪問修改功能,研究設(shè)計繪圖過程中的工程量自動統(tǒng)計方法。

    鐵路站場土石方量統(tǒng)計是站場設(shè)計中最重要的工作內(nèi)容之一,傳統(tǒng)工作方法設(shè)計者需一邊量測不同類型的土石方量一邊做記錄,最后填入Excel表并計算得到結(jié)果。由于全部采用人工操作,工作效率低、出錯率較高,在設(shè)計任務(wù)繁重,在設(shè)計人員有限的情況下,往往還要配備專門的人員做土石方量統(tǒng)計工作。本研究定制AcDbObject的派生類,使設(shè)計者在框算土石方的同時,記錄不同類型挖方和填方數(shù)據(jù),而后輸出到Excel表進行工程量統(tǒng)計計算。

    1 AcDbObject類的功能

    AcDbObject類對象能夠?qū)崿F(xiàn)隨圖形一起保存在dwg文件中。數(shù)據(jù)成員對應(yīng)相應(yīng)的數(shù)據(jù)信息,函數(shù)成員對應(yīng)數(shù)據(jù)處理過程。創(chuàng)建AcDbObject的一般步驟為。

    1)利用向?qū)?chuàng)建派生于AcDbObject類的新類。

    2)重載函數(shù)dwgInFields()和dwgOutFields()用于數(shù)據(jù)保存。

    3)添加數(shù)據(jù)成員。

    4)添加函數(shù)成員。

    AcDbObject派生類要實現(xiàn)撤銷,需在修改數(shù)據(jù)成員函數(shù)前調(diào)用assertWriteEnabled()函數(shù),而讀取數(shù)據(jù)成員的函數(shù)時又要先調(diào)用assertReadEnabled()函數(shù)。在ObjectARX中,圖形自定義對象必須派生自AcDbEntity派生類,而AcDbObject派生類可以沒有相應(yīng)的圖形實體與其相對應(yīng)。使用時,AcDbEntity派生類是添加到模型空間或者圖紙空間中,而AcDbObject派生類是添加到數(shù)據(jù)庫的命名對象字典中。

    2 定制土石方類

    系統(tǒng)將每個斷面作為獨立的個體,每個斷面均有一個土石方類的對象與其相對應(yīng),土石方類的數(shù)據(jù)成員代表斷面的各種數(shù)據(jù)信息,函數(shù)成員即為處理每個斷面數(shù)據(jù)信息的過程。

    2.1 數(shù)據(jù)成員

    系統(tǒng)用里程值識別不同的斷面,再用兩個整數(shù)表示挖方和填方類型數(shù)目,為便于數(shù)據(jù)組織,系統(tǒng)用數(shù)據(jù)結(jié)構(gòu)中的鏈表形式存儲不同挖方與填方類型的具體信息,包括:種類名稱、線條顏色、面積等。以下是數(shù)據(jù)成員列表。

    doubleLiCheng; // 里程

    char*GuanHao //冠號

    Adesk::Int32 nw; // 挖方種類個數(shù)

    Adesk::Int32 nt; // 填方種類個數(shù)

    STWFWList; //挖方鏈表

    STWFTList; //填方鏈表

    STWF為鏈表數(shù)據(jù)結(jié)構(gòu),其具體形式為:

    typedef struct TWF{

    char* name; //類型名稱

    Adesk::Int32 colour; //繪制顏色

    double Area; //面積

    TWF *next; //前驅(qū)指針

    TWF::TWF() //初始化函數(shù)

    {

    name=new char[100];

    colour=0;

    Area=0;

    next=NULL;

    }

    }*STWF;

    2.2 函數(shù)成員

    函數(shù)成員是出來數(shù)據(jù)成員的過程,通過函數(shù)成員可以為每個數(shù)據(jù)成員賦值。以下是土石方類函數(shù)成員列表。

    數(shù)據(jù)存儲函數(shù):

    virtualAcad::ErrorStatus dwgOutFields (AcDbDwgFiler *pFiler) const ;

    virtualAcad::ErrorStatus dwgInFields (AcDbDwgFiler *pFiler) ;

    鏈表處理函數(shù):

    voidclearW(void);

    voidclearT(void);

    bool GetWN(int n,STWF &Wnode);

    bool GetTN(int n,STWF &Tnode);

    voidpush_back_W(char* name,int colour);

    voidpush_back_T(char* name,int colour);

    bool Read(void);

    bool print(void);

    鏈表出來函數(shù)包括了鏈表的清空、提取節(jié)點值、追加值、鏈表賦值、鏈表打印。由于部分?jǐn)?shù)據(jù)成員被設(shè)置為公共成員,因此省去了一些函數(shù)的編寫。

    3 定制文件配置類

    文件配置類代表系統(tǒng)常量,這些常量包括:填挖方類型名稱、多段線的寬度顏色等基本信息。配置類是由AcDbObject類派生得到,因此,將此類添加到數(shù)據(jù)庫的命名對象字典中即可實現(xiàn)隨文件保存。文件配置類與土石方類較為相似,不再累述。

    4 設(shè)置文件輸出

    本系統(tǒng)使用VC++7.0開放平臺編制而成,該平臺能夠非常方便地設(shè)置Excel連接端口,在類視圖中右擊程序名,在彈出的對話框中,選擇MFC中ActiveX控件中的MFC類,然后選擇從文件來源添加類,指定位置到Microsoft Office安裝目錄中Office12文件中的Excel.exe,在接口列表中選擇_Application、Workbooks、 _Workbook、 Worksheets、 _Worksheet、Range等基本的操作類到系統(tǒng)中,之后對這些對象編寫相應(yīng)的操作程序,即可實現(xiàn)斷面數(shù)據(jù)的輸出。

    5 應(yīng)用實例

    為驗證程序的各項功能,現(xiàn)以統(tǒng)計某路基斷面土石方量為例進行說明。

    1)設(shè)置配置信息。

    (1)首先設(shè)計者需編輯土石方類文本文件,并將其導(dǎo)入當(dāng)前文件中,文本文件格式為:

    n1 n2挖方類個數(shù) 填方類個數(shù)

    (2)編輯好文件后,使用Peizhi命令,彈出文件配置對話框,就可將其導(dǎo)入該文檔,并設(shè)定好線路名稱、車站名稱、設(shè)計階段,如圖1所示。

    圖1 文件配置對話框

    2)框選斷面里程。添加斷面里程,填寫里程冠號,選擇挖方或者填方類型,設(shè)置好統(tǒng)計面積站框選面積的百分比,然后用框選命令,框選其面積,即可得到相應(yīng)的結(jié)果,如果多次框選,面積還會累加。

    圖2 土石方統(tǒng)計工具欄

    另外,系統(tǒng)還設(shè)置了轉(zhuǎn)化既有多邊形面積、刪除里程斷面、數(shù)據(jù)重置三種功能。

    3)文本輸出??蜻x統(tǒng)計完各種類型填挖方量數(shù)據(jù)后,可以使用文本輸出功能將此組數(shù)據(jù)輸出到CAD文檔中。

    圖3 文本輸出圖

    4)導(dǎo)入Excel表。當(dāng)一個CAD文檔中的所有斷面全部統(tǒng)計完成后,可以使用導(dǎo)入Excel表命令將各斷面統(tǒng)計數(shù)據(jù)導(dǎo)入至標(biāo)準(zhǔn)Excel表格中,最后計算得到最終的土石方量。

    表1為某站斷面土石方統(tǒng)計表。

    表1 土石方統(tǒng)計表

    6 結(jié) 論

    本文通過ObjectARX提供的AcDbObject派生類,解決了站場土石方計算數(shù)據(jù)隨文檔保存的問題,為設(shè)計者提供了多種途經(jīng)和功能統(tǒng)計站場路基斷面土石方量,并且在統(tǒng)計完成后一并導(dǎo)入Excle標(biāo)準(zhǔn)表格。該系統(tǒng)不但大幅提高了生產(chǎn)效率,而且與人工統(tǒng)計相比,出錯率明顯降低。系統(tǒng)操作性強,適合在生產(chǎn)工作中推廣使用。

    [ID:009135]

    猜你喜歡
    鏈表挖方土石方
    山區(qū)高速公路挖方路基邊坡穩(wěn)定性分析及動態(tài)設(shè)計研究
    露天礦山土石方量的測量及計算
    基于二進制鏈表的粗糙集屬性約簡
    跟麥咭學(xué)編程
    基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
    土石方機械的春天已經(jīng)來了,路面機械的還會遠嗎?
    芻議公路工程水泥路面施工技術(shù)
    淺析建筑施工中的挖方和土方轉(zhuǎn)運
    土石方工程量計算程序設(shè)計及應(yīng)用研究
    淺談公路施工技術(shù)在山區(qū)公路修建中的應(yīng)用
    江城| 双牌县| 大埔区| 湛江市| 扎兰屯市| 连云港市| 阳城县| 北流市| 左云县| 黄冈市| 吴堡县| 红原县| 航空| 兴化市| 洛川县| 张家口市| 兴国县| 洪雅县| 腾冲县| 甘泉县| 繁昌县| 柘城县| 万源市| 离岛区| 洪湖市| 和硕县| 莱西市| 宁明县| 江陵县| 陈巴尔虎旗| 共和县| 汶川县| 武功县| 根河市| 视频| 全州县| 健康| 彭山县| 正阳县| 修武县| 蓝田县|