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

ObjectARX在站場土石方計算中的應用

2020-03-14 03:31:20何安靜
四川建材 2020年2期

何安靜

(中鐵二院(成都)建設發展有限責任公司,四川 成都 610031)

0 前 言

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

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

1 AcDbObject類的功能

AcDbObject類對象能夠實現隨圖形一起保存在dwg文件中。數據成員對應相應的數據信息,函數成員對應數據處理過程。創建AcDbObject的一般步驟為。

1)利用向導創建派生于AcDbObject類的新類。

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

3)添加數據成員。

4)添加函數成員。

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

2 定制土石方類

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

2.1 數據成員

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

doubleLiCheng; // 里程

char*GuanHao //冠號

Adesk::Int32 nw; // 挖方種類個數

Adesk::Int32 nt; // 填方種類個數

STWFWList; //挖方鏈表

STWFTList; //填方鏈表

STWF為鏈表數據結構,其具體形式為:

typedef struct TWF{

char* name; //類型名稱

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

double Area; //面積

TWF *next; //前驅指針

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

{

name=new char[100];

colour=0;

Area=0;

next=NULL;

}

}*STWF;

2.2 函數成員

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

數據存儲函數:

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

virtualAcad::ErrorStatus dwgInFields (AcDbDwgFiler *pFiler) ;

鏈表處理函數:

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);

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

3 定制文件配置類

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

4 設置文件輸出

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

5 應用實例

為驗證程序的各項功能,現以統計某路基斷面土石方量為例進行說明。

1)設置配置信息。

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

n1 n2挖方類個數 填方類個數

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

圖1 文件配置對話框

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

圖2 土石方統計工具欄

另外,系統還設置了轉化既有多邊形面積、刪除里程斷面、數據重置三種功能。

3)文本輸出。框選統計完各種類型填挖方量數據后,可以使用文本輸出功能將此組數據輸出到CAD文檔中。

圖3 文本輸出圖

4)導入Excel表。當一個CAD文檔中的所有斷面全部統計完成后,可以使用導入Excel表命令將各斷面統計數據導入至標準Excel表格中,最后計算得到最終的土石方量。

表1為某站斷面土石方統計表。

表1 土石方統計表

6 結 論

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

[ID:009135]

主站蜘蛛池模板: 青青青国产视频手机| 亚洲性日韩精品一区二区| WWW丫丫国产成人精品| 免费高清自慰一区二区三区| 亚洲成人网在线观看| 国产欧美日韩综合一区在线播放| 国产精品久久久久久久久| 亚洲一区色| 亚洲小视频网站| 欧美亚洲一区二区三区导航| 91精品人妻一区二区| 在线观看国产网址你懂的| 国产香蕉97碰碰视频VA碰碰看| 日韩欧美综合在线制服| 亚洲一区二区三区国产精品| 呦女亚洲一区精品| 国产欧美日韩在线一区| 最新午夜男女福利片视频| 日本黄色a视频| 激情综合图区| 色综合天天视频在线观看| 精品久久久久久久久久久| 在线无码av一区二区三区| 夜夜拍夜夜爽| 国产欧美视频综合二区| 亚洲精品无码AV电影在线播放| 精品国产成人国产在线| 免费在线视频a| 中文字幕1区2区| 青青草欧美| 亚洲欧美综合另类图片小说区| 亚洲国产欧美国产综合久久 | 91精品久久久久久无码人妻| 午夜福利视频一区| 99精品国产自在现线观看| 秘书高跟黑色丝袜国产91在线 | 中文字幕无码电影| 国产精品无码制服丝袜| 亚洲 欧美 中文 AⅤ在线视频| 欧美精品伊人久久| 天天躁夜夜躁狠狠躁躁88| 亚洲精品在线影院| 国产特一级毛片| AⅤ色综合久久天堂AV色综合| 新SSS无码手机在线观看| 亚洲精品中文字幕无乱码| 欧美日韩成人在线观看| 婷婷亚洲视频| 国产色网站| 国产精品七七在线播放| 精品一区二区三区四区五区| 激情五月婷婷综合网| 一级福利视频| 亚洲成av人无码综合在线观看| 国产精品太粉嫩高中在线观看| 一级毛片免费的| 精品国产一区二区三区在线观看| 第一页亚洲| 香蕉国产精品视频| 一本大道香蕉中文日本不卡高清二区| 国产第一色| 成人日韩精品| 国产剧情国内精品原创| 白浆视频在线观看| 2020国产精品视频| 亚洲中文字幕精品| 一区二区日韩国产精久久| 国产久草视频| 久久久久久久97| 国产高清国内精品福利| 国产一区二区精品高清在线观看| 亚洲午夜国产精品无卡| 久久精品人人做人人爽| 欧美亚洲国产视频| 亚洲成aⅴ人片在线影院八| 粉嫩国产白浆在线观看| 日本a∨在线观看| 欧美色视频在线| 老司国产精品视频91| 久久久久亚洲精品无码网站| 亚洲一区二区日韩欧美gif| 岛国精品一区免费视频在线观看|