下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ObjectARX環(huán)境下的結(jié)構(gòu)建模系統(tǒng)的開發(fā)
摘要:本文介紹了AutoCAD提供的ObjectARX開發(fā)環(huán)境,闡述了利用ObjectARX開發(fā)一種新的結(jié)構(gòu)建模系統(tǒng)的思路及方法,即直接利用繪圖工具進(jìn)行結(jié)構(gòu)信息輸入。輸入的結(jié)構(gòu)信息可以生成為不同的數(shù)據(jù)文件,從而大大提高工作效率。關(guān)鍵詞:結(jié)構(gòu)建模ObjectARX面向?qū)ο笄把越陙?,隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,絕大多數(shù)的工程設(shè)計(jì)人員已經(jīng)采用計(jì)算機(jī)來進(jìn)行建筑結(jié)構(gòu)的分析和設(shè)計(jì)。在實(shí)際應(yīng)用中,有眾多的結(jié)構(gòu)分析軟件可供選擇,如ANSYS、SAP2000等。這些軟件雖然都能較好地完成分析任務(wù),但它們基本上都是按傳統(tǒng)的編程方法實(shí)現(xiàn)的,其前后處理功能還有待進(jìn)一步改進(jìn)。結(jié)構(gòu)分析軟件中的前后處理部分通常是用戶耗時(shí)最多的階段,尤其是結(jié)構(gòu)建模部分更是關(guān)鍵,它直接影響著軟件的應(yīng)用效率。因此,對結(jié)構(gòu)建模這一功能模塊進(jìn)行專門的研究和開發(fā),使其擁有更強(qiáng)的功能和更高的效率,成為了建筑結(jié)構(gòu)設(shè)計(jì)及軟件開發(fā)人員的重點(diǎn)課題。
利用純Windows風(fēng)格的AutoCAD2000提供的開發(fā)環(huán)境ObjectARX來進(jìn)行結(jié)構(gòu)建模系統(tǒng)的研制,可以充分利用面向?qū)ο缶幊碳夹g(shù)的優(yōu)勢,最大限度地提高系統(tǒng)資源的利用率和軟件系統(tǒng)的功能,而且也符合廣大工程設(shè)計(jì)人員的使用習(xí)慣,有助于設(shè)計(jì)人員快速地掌握、使用新開發(fā)的結(jié)構(gòu)建模系統(tǒng),提高工作效率。1面向?qū)ο蟮拈_發(fā)環(huán)境ObjectARXAutoCAD是目前在Windows98/2000/NT環(huán)境下應(yīng)用最廣泛、使用人數(shù)最多的CAD軟件,它是廣大工程設(shè)計(jì)人員最為熟悉的工作平臺(tái)。AutoCAD2000除了提供一般通用的CAD功能,如繪圖、編輯等,還為用戶提供了不同的開發(fā)環(huán)境,如AutoLISP、VisualLISP、ObjectARX等。其中,ObjectARX是一種特定的C++編程環(huán)境,它是在AutoCADR13使用的ARX(AutoCADRun-timeeXtention)的基礎(chǔ)上發(fā)展起來的第二代面向?qū)ο蟮木幊汰h(huán)境。ObjectARX應(yīng)用程序本質(zhì)上是WindowsDLL程序,而AutoCAD本身則是一個(gè)典型的Windows程序,因此ObjectARX應(yīng)用程序與AutoCAD、Windows之間均采用Windows的消息傳遞機(jī)制直接通信。ObjectARX程序以C++為基本開發(fā)語言,具有面向?qū)ο缶幊谭绞降臄?shù)據(jù)可封裝性、可繼承性及多態(tài)性等特點(diǎn)。用其開發(fā)的CAD軟件具有模塊性好、獨(dú)立性強(qiáng)、連接簡單、使用方便、內(nèi)部功能高效實(shí)用等優(yōu)點(diǎn),并且支持MFC(MicrosoftFundationClass),能簡潔并高效地實(shí)現(xiàn)許多復(fù)雜功能。2結(jié)構(gòu)建模系統(tǒng)的設(shè)計(jì)思想為了配合工程設(shè)計(jì)人員的使用習(xí)慣,本文的設(shè)計(jì)思想是使設(shè)計(jì)人員在使用CAD命令繪制圖形的同時(shí),對圖形對象進(jìn)行處理,使繪制所得的結(jié)構(gòu)模型文件中既有結(jié)構(gòu)幾何信息,又包含荷載信息、約束信息等,并可輸出為用戶所需的數(shù)據(jù)文件。
基于這種思想,采用面向?qū)ο蟮姆椒ㄟM(jìn)行開發(fā)是最合適的選擇。所謂面向?qū)ο?,其指?dǎo)思想是按人們通常的思維方式建立問題域模型,設(shè)計(jì)出盡可能自然地表現(xiàn)求解方法的軟件。為此,必須盡量直接表現(xiàn)組成問題域的事物及事物間的相互聯(lián)系的概念,建立適合人們思維方式的描述模式。當(dāng)前,計(jì)算機(jī)技術(shù)正朝著分布式處理、并行處理、智能化、網(wǎng)絡(luò)化的方向發(fā)展,而面向?qū)ο蠹夹g(shù)即是實(shí)施這些目標(biāo)的關(guān)鍵技術(shù)之一?,F(xiàn)在,面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和工具已經(jīng)在建筑結(jié)構(gòu)程序設(shè)計(jì)中得到廣泛應(yīng)用。
一個(gè)工程的結(jié)構(gòu)部分主要由梁、柱等構(gòu)件組成,通過對其基本信息的研究,可以歸納總結(jié)出各種構(gòu)件的特征信息,然后分別對其進(jìn)行整理,并最終把它們賦予矢量圖形的圖素中。在程序運(yùn)行過程中,根據(jù)圖形信息查找到相應(yīng)的特征信息,從而達(dá)到繪圖與建模同步完成的目的。3結(jié)構(gòu)建模系統(tǒng)的開發(fā)方法在ObjectARX環(huán)境下進(jìn)行建模系統(tǒng)的開發(fā),其步驟如圖1所示。
為了便于分類管理,在創(chuàng)建結(jié)構(gòu)模型之前應(yīng)使系統(tǒng)自動(dòng)進(jìn)行初始化,如對各種不同的構(gòu)件分配不同的線形、顏色及層名等。利用ObjectARX包含的AcEd、AcDb類庫中的相關(guān)函數(shù)可以簡便地完成這些功能要求,也可以使用具有相同功能的全局函數(shù)來實(shí)現(xiàn),如acdbEntMod()全局函數(shù)就可以用來修改一個(gè)實(shí)體所在的層。
在進(jìn)行結(jié)構(gòu)幾何模型的繪制時(shí),系統(tǒng)允許用戶直接使用AutoCAD的繪圖、編輯命令,如line、arc等進(jìn)行繪制輸入工作,充分發(fā)揮CAD實(shí)用、快速的繪圖功能。此外,ObjectARX還為用戶提供了模塊化繪圖的功能,使用戶可以將不同的多個(gè)命令集合在很少的自定義命令中,達(dá)到一次輸入后一次繪制完成的效果。用戶可以根據(jù)自身的需要,在接口函數(shù)中聲明自定義命令名稱,如“zhulie”,并指明相對應(yīng)的處理函數(shù),如“draw_zhulie()”,然后再使用調(diào)用命令函數(shù)acedCommand()或acedCmd()完成處理函數(shù)的具體編寫工作。由于各種結(jié)構(gòu)構(gòu)件既包括自身的實(shí)體數(shù)據(jù),又包括附加的結(jié)構(gòu)信息,為了使系統(tǒng)能準(zhǔn)確地識(shí)別、管理這些數(shù)據(jù),必須對不同的構(gòu)件類型分別進(jìn)行預(yù)定義,以生成不同的數(shù)據(jù)結(jié)構(gòu)。例如,對于柱構(gòu)件,可以在程序中進(jìn)行如下的定義:staticstructcolumn{ads_realcol_x;//柱中心點(diǎn)x坐標(biāo)ads_realcol_y;//柱中心點(diǎn)y坐標(biāo)ads_realwidth;//柱截面寬度ads_realheight;//柱截面高度intcol_num;
//柱號(hào)}column[500]各種構(gòu)件均可仿照這種形式進(jìn)行定義。由于構(gòu)件的實(shí)體信息各有差異,因此各自的定義也互不相同,使得在調(diào)入模型文件或輸出數(shù)據(jù)文件時(shí)程序可以準(zhǔn)確無誤地對構(gòu)件種類、數(shù)據(jù)進(jìn)行定位。
在系統(tǒng)中可以以對話框的方式建立輸入輸出模塊。在ObjectARX中允許使用MFC風(fēng)格的對話框,這是一種純Windows風(fēng)格的對話框,可以擔(dān)負(fù)起大部分的輸入輸出工作。例如,開發(fā)者可以創(chuàng)建一個(gè)“創(chuàng)建柱單元”的菜單命令,使其激活拾取圖元的內(nèi)部命令。在用戶從屏幕上選擇了一個(gè)有效實(shí)體后,系統(tǒng)彈出一個(gè)對話框,供用戶輸入柱單元的相關(guān)信息。對話框中的各個(gè)編輯框?qū)?yīng)于不同的變量,對對話框進(jìn)行輸入后,系統(tǒng)會(huì)將所獲取的數(shù)據(jù)相應(yīng)于預(yù)定義的結(jié)構(gòu)變量分別進(jìn)行存儲(chǔ),形成相關(guān)的數(shù)據(jù)庫。
對單元附加信息的輸入,包括材料信息、荷載信息、約束信息等。輸入方式都可以采用對話框的形式,便于數(shù)據(jù)的統(tǒng)一管理。這些可以輸出為數(shù)據(jù)文件的附加信息均稱為擴(kuò)展數(shù)據(jù)。在同一個(gè)實(shí)體上可對應(yīng)多個(gè)擴(kuò)展數(shù)據(jù)。在多重?cái)?shù)據(jù)中按照擴(kuò)展圖元數(shù)據(jù)組的方式找出所需組值,即可編輯、更新擴(kuò)展數(shù)據(jù)。所以,簡單地說,利用面向?qū)ο蟮姆绞絹磉M(jìn)行結(jié)構(gòu)建模,就是在CAD中生成的圖元上附加相應(yīng)的擴(kuò)展數(shù)據(jù)。按照這種思想分別定制各種構(gòu)件的信息輸入模塊,即可使用戶方便地建立起一個(gè)含有多重信息的圖形系統(tǒng)。在程序中可通過調(diào)用acdbEntGetX()函數(shù)來獲取注冊的擴(kuò)展數(shù)據(jù)。acdbEntGetX()函數(shù)類似于實(shí)體獲取函數(shù)acdbEntGet(),但acdbEntGet()返回的只是實(shí)體的定義數(shù)據(jù),而acdbEntGetX()函數(shù)既可返回定義數(shù)據(jù),又可返回?cái)U(kuò)展數(shù)據(jù)。返回的擴(kuò)展數(shù)據(jù)可以調(diào)用acdbEntMod()函數(shù)進(jìn)行相關(guān)的編輯和操作。另外,通過在傳送給acdbEntMake()的實(shí)體鏈表中定義擴(kuò)展數(shù)據(jù),也可達(dá)到創(chuàng)建擴(kuò)展數(shù)據(jù)的目的,關(guān)鍵在于開發(fā)者根據(jù)實(shí)際情況,在保證程序運(yùn)行效率的宗旨下,選擇合適的途徑進(jìn)行編程。
在對所形成的模型文件進(jìn)行讀取或輸出時(shí),可利用ObjectARX提供的對擴(kuò)展數(shù)據(jù)進(jìn)行操作的函數(shù)來編寫程序。對實(shí)體的擴(kuò)展數(shù)據(jù)進(jìn)行編輯操作,其流程如圖2。針對用戶的不同要求,可對提取出的相關(guān)數(shù)據(jù)賦予不同的輸出格式,以配合后續(xù)的計(jì)算需要。4系統(tǒng)的主要特點(diǎn)依照以上的方法開發(fā)的建模系統(tǒng),由于采用ObjectARX作為開發(fā)環(huán)境,因此應(yīng)用程序與AutoCAD是無縫連接的,具有以下一些特點(diǎn):■允許用戶使用熟悉的AutoCAD進(jìn)行結(jié)構(gòu)的模型圖元的輸入,提高結(jié)構(gòu)信息輸入的效率和準(zhǔn)確性。■系統(tǒng)可對輸入的圖形及數(shù)據(jù)進(jìn)行分類管理,自動(dòng)完成各對象的層、線形等的配置?!鲈谶\(yùn)行過程中,程序可實(shí)時(shí)地將多種結(jié)構(gòu)信息數(shù)據(jù)依據(jù)不同的基本實(shí)體進(jìn)行存儲(chǔ),并且最終可生成不同格式的數(shù)據(jù)文件?!鱿到y(tǒng)的界面友好,引入了菜單、對話框等交互方式,直觀、便捷,使用者一目了然,方便省時(shí)。
利用先進(jìn)、高效的ObjectARX開發(fā)環(huán)境,對結(jié)構(gòu)建模系統(tǒng)進(jìn)行開發(fā)定制,可以充分調(diào)用系統(tǒng)的內(nèi)部資源,較老式的AutoLISP、ADS程序而言,運(yùn)行速度更快、效率更高,可以解決設(shè)計(jì)人員使用繪圖工具進(jìn)行結(jié)構(gòu)建模和結(jié)構(gòu)分析工作的技術(shù)問題,實(shí)現(xiàn)了繪圖與形成數(shù)據(jù)文件一體化的功能,具有廣泛的推廣價(jià)值。參考文獻(xiàn)1.任愛珠,朱偉,用圖形識(shí)別技術(shù)實(shí)現(xiàn)有限元建模自動(dòng)化,工程力學(xué),19952.丘國雄,等,我國建筑工程領(lǐng)域結(jié)構(gòu)CAD軟件的質(zhì)量和標(biāo)準(zhǔn)化問題,工程設(shè)計(jì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024中石化原油采購國際市場風(fēng)險(xiǎn)規(guī)避合同3篇
- 巖茶制作培訓(xùn)課程設(shè)計(jì)
- 機(jī)械原理思政課程設(shè)計(jì)
- 虛擬制片技術(shù)在廣告制作中的應(yīng)用-洞察分析
- 招聘的課程設(shè)計(jì)
- 2024年石油化工設(shè)備采購與安裝合同
- 智力搶答器課程設(shè)計(jì)
- 沉浸式表演課程設(shè)計(jì)
- 煉鐵課程設(shè)計(jì)書
- 煤礦培訓(xùn)教師課程設(shè)計(jì)
- 2025蛇年元旦新年晚會(huì)蛇年獻(xiàn)歲模板
- 帶式輸送機(jī)機(jī)械設(shè)計(jì)課程設(shè)計(jì)(帶式輸送機(jī))
- 油氣管道泄漏事故應(yīng)急處理方案
- 部編版五年級(jí)語文上冊快樂讀書吧測試題及答案
- 三方代收款委托協(xié)議書范文
- 中國近代人物研究學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 變壓器搬遷施工方案
- 建筑施工安全風(fēng)險(xiǎn)辨識(shí)分級(jí)管控指南494條-副本
- 橙子主題課程設(shè)計(jì)
- 靜脈留置針?biāo)蚂o脈炎的標(biāo)準(zhǔn)化護(hù)理預(yù)防流程
- 廣西百色市縣級(jí)市2023-2024學(xué)年八年級(jí)上學(xué)期期末檢測物理試題(原卷版)
評論
0/150
提交評論