ObjectARX環(huán)境下的結構建模系統(tǒng)的開發(fā)_第1頁
ObjectARX環(huán)境下的結構建模系統(tǒng)的開發(fā)_第2頁
ObjectARX環(huán)境下的結構建模系統(tǒng)的開發(fā)_第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ObjectARX環(huán)境下的結構建模系統(tǒng)的開發(fā)

摘要:本文介紹了AutoCAD提供的ObjectARX開發(fā)環(huán)境,闡述了利用ObjectARX開發(fā)一種新的結構建模系統(tǒng)的思路及方法,即直接利用繪圖工具進行結構信息輸入。輸入的結構信息可以生成為不同的數(shù)據文件,從而大大提高工作效率。關鍵詞:結構建模ObjectARX面向對象前言近年來,隨著計算機技術的飛速發(fā)展,絕大多數(shù)的工程設計人員已經采用計算機來進行建筑結構的分析和設計。在實際應用中,有眾多的結構分析軟件可供選擇,如ANSYS、SAP2000等。這些軟件雖然都能較好地完成分析任務,但它們基本上都是按傳統(tǒng)的編程方法實現(xiàn)的,其前后處理功能還有待進一步改進。結構分析軟件中的前后處理部分通常是用戶耗時最多的階段,尤其是結構建模部分更是關鍵,它直接影響著軟件的應用效率。因此,對結構建模這一功能模塊進行專門的研究和開發(fā),使其擁有更強的功能和更高的效率,成為了建筑結構設計及軟件開發(fā)人員的重點課題。

利用純Windows風格的AutoCAD2000提供的開發(fā)環(huán)境ObjectARX來進行結構建模系統(tǒng)的研制,可以充分利用面向對象編程技術的優(yōu)勢,最大限度地提高系統(tǒng)資源的利用率和軟件系統(tǒng)的功能,而且也符合廣大工程設計人員的使用習慣,有助于設計人員快速地掌握、使用新開發(fā)的結構建模系統(tǒng),提高工作效率。1面向對象的開發(fā)環(huán)境ObjectARXAutoCAD是目前在Windows98/2000/NT環(huán)境下應用最廣泛、使用人數(shù)最多的CAD軟件,它是廣大工程設計人員最為熟悉的工作平臺。AutoCAD2000除了提供一般通用的CAD功能,如繪圖、編輯等,還為用戶提供了不同的開發(fā)環(huán)境,如AutoLISP、VisualLISP、ObjectARX等。其中,ObjectARX是一種特定的C++編程環(huán)境,它是在AutoCADR13使用的ARX(AutoCADRun-timeeXtention)的基礎上發(fā)展起來的第二代面向對象的編程環(huán)境。ObjectARX應用程序本質上是WindowsDLL程序,而AutoCAD本身則是一個典型的Windows程序,因此ObjectARX應用程序與AutoCAD、Windows之間均采用Windows的消息傳遞機制直接通信。ObjectARX程序以C++為基本開發(fā)語言,具有面向對象編程方式的數(shù)據可封裝性、可繼承性及多態(tài)性等特點。用其開發(fā)的CAD軟件具有模塊性好、獨立性強、連接簡單、使用方便、內部功能高效實用等優(yōu)點,并且支持MFC(MicrosoftFundationClass),能簡潔并高效地實現(xiàn)許多復雜功能。2結構建模系統(tǒng)的設計思想為了配合工程設計人員的使用習慣,本文的設計思想是使設計人員在使用CAD命令繪制圖形的同時,對圖形對象進行處理,使繪制所得的結構模型文件中既有結構幾何信息,又包含荷載信息、約束信息等,并可輸出為用戶所需的數(shù)據文件。

基于這種思想,采用面向對象的方法進行開發(fā)是最合適的選擇。所謂面向對象,其指導思想是按人們通常的思維方式建立問題域模型,設計出盡可能自然地表現(xiàn)求解方法的軟件。為此,必須盡量直接表現(xiàn)組成問題域的事物及事物間的相互聯(lián)系的概念,建立適合人們思維方式的描述模式。當前,計算機技術正朝著分布式處理、并行處理、智能化、網絡化的方向發(fā)展,而面向對象技術即是實施這些目標的關鍵技術之一。現(xiàn)在,面向對象程序設計的思想和工具已經在建筑結構程序設計中得到廣泛應用。

一個工程的結構部分主要由梁、柱等構件組成,通過對其基本信息的研究,可以歸納總結出各種構件的特征信息,然后分別對其進行整理,并最終把它們賦予矢量圖形的圖素中。在程序運行過程中,根據圖形信息查找到相應的特征信息,從而達到繪圖與建模同步完成的目的。3結構建模系統(tǒng)的開發(fā)方法在ObjectARX環(huán)境下進行建模系統(tǒng)的開發(fā),其步驟如圖1所示。

為了便于分類管理,在創(chuàng)建結構模型之前應使系統(tǒng)自動進行初始化,如對各種不同的構件分配不同的線形、顏色及層名等。利用ObjectARX包含的AcEd、AcDb類庫中的相關函數(shù)可以簡便地完成這些功能要求,也可以使用具有相同功能的全局函數(shù)來實現(xiàn),如acdbEntMod()全局函數(shù)就可以用來修改一個實體所在的層。

在進行結構幾何模型的繪制時,系統(tǒng)允許用戶直接使用AutoCAD的繪圖、編輯命令,如line、arc等進行繪制輸入工作,充分發(fā)揮CAD實用、快速的繪圖功能。此外,ObjectARX還為用戶提供了模塊化繪圖的功能,使用戶可以將不同的多個命令集合在很少的自定義命令中,達到一次輸入后一次繪制完成的效果。用戶可以根據自身的需要,在接口函數(shù)中聲明自定義命令名稱,如“zhulie”,并指明相對應的處理函數(shù),如“draw_zhulie()”,然后再使用調用命令函數(shù)acedCommand()或acedCmd()完成處理函數(shù)的具體編寫工作。由于各種結構構件既包括自身的實體數(shù)據,又包括附加的結構信息,為了使系統(tǒng)能準確地識別、管理這些數(shù)據,必須對不同的構件類型分別進行預定義,以生成不同的數(shù)據結構。例如,對于柱構件,可以在程序中進行如下的定義:staticstructcolumn{ads_realcol_x;//柱中心點x坐標ads_realcol_y;//柱中心點y坐標ads_realwidth;//柱截面寬度ads_realheight;//柱截面高度intcol_num;

//柱號}column[500]各種構件均可仿照這種形式進行定義。由于構件的實體信息各有差異,因此各自的定義也互不相同,使得在調入模型文件或輸出數(shù)據文件時程序可以準確無誤地對構件種類、數(shù)據進行定位。

在系統(tǒng)中可以以對話框的方式建立輸入輸出模塊。在ObjectARX中允許使用MFC風格的對話框,這是一種純Windows風格的對話框,可以擔負起大部分的輸入輸出工作。例如,開發(fā)者可以創(chuàng)建一個“創(chuàng)建柱單元”的菜單命令,使其激活拾取圖元的內部命令。在用戶從屏幕上選擇了一個有效實體后,系統(tǒng)彈出一個對話框,供用戶輸入柱單元的相關信息。對話框中的各個編輯框對應于不同的變量,對對話框進行輸入后,系統(tǒng)會將所獲取的數(shù)據相應于預定義的結構變量分別進行存儲,形成相關的數(shù)據庫。

對單元附加信息的輸入,包括材料信息、荷載信息、約束信息等。輸入方式都可以采用對話框的形式,便于數(shù)據的統(tǒng)一管理。這些可以輸出為數(shù)據文件的附加信息均稱為擴展數(shù)據。在同一個實體上可對應多個擴展數(shù)據。在多重數(shù)據中按照擴展圖元數(shù)據組的方式找出所需組值,即可編輯、更新擴展數(shù)據。所以,簡單地說,利用面向對象的方式來進行結構建模,就是在CAD中生成的圖元上附加相應的擴展數(shù)據。按照這種思想分別定制各種構件的信息輸入模塊,即可使用戶方便地建立起一個含有多重信息的圖形系統(tǒng)。在程序中可通過調用acdbEntGetX()函數(shù)來獲取注冊的擴展數(shù)據。acdbEntGetX()函數(shù)類似于實體獲取函數(shù)acdbEntGet(),但acdbEntGet()返回的只是實體的定義數(shù)據,而acdbEntGetX()函數(shù)既可返回定義數(shù)據,又可返回擴展數(shù)據。返回的擴展數(shù)據可以調用acdbEntMod()函數(shù)進行相關的編輯和操作。另外,通過在傳送給acdbEntMake()的實體鏈表中定義擴展數(shù)據,也可達到創(chuàng)建擴展數(shù)據的目的,關鍵在于開發(fā)者根據實際情況,在保證程序運行效率的宗旨下,選擇合適的途徑進行編程。

在對所形成的模型文件進行讀取或輸出時,可利用ObjectARX提供的對擴展數(shù)據進行操作的函數(shù)來編寫程序。對實體的擴展數(shù)據進行編輯操作,其流程如圖2。針對用戶的不同要求,可對提取出的相關數(shù)據賦予不同的輸出格式,以配合后續(xù)的計算需要。4系統(tǒng)的主要特點依照以上的方法開發(fā)的建模系統(tǒng),由于采用ObjectARX作為開發(fā)環(huán)境,因此應用程序與AutoCAD是無縫連接的,具有以下一些特點:■允許用戶使用熟悉的AutoCAD進行結構的模型圖元的輸入,提高結構信息輸入的效率和準確性?!鱿到y(tǒng)可對輸入的圖形及數(shù)據進行分類管理,自動完成各對象的層、線形等的配置。■在運行過程中,程序可實時地將多種結構信息數(shù)據依據不同的基本實體進行存儲,并且最終可生成不同格式的數(shù)據文件。■系統(tǒng)的界面友好,引入了菜單、對話框等交互方式,直觀、便捷,使用者一目了然,方便省時。

利用先進、高效的ObjectARX開發(fā)環(huán)境,對結構建模系統(tǒng)進行開發(fā)定制,可以充分調用系統(tǒng)的內部資源,較老式的AutoLISP、ADS程序而言,運行速度更快、效率更高,可以解決設計人員使用繪圖工具進行結構建模和結構分析工作的技術問題,實現(xiàn)了繪圖與形成數(shù)據文件一體化的功能,具有廣泛的推廣價值。參考文獻1.任愛珠,朱偉,用圖形識別技術實現(xiàn)有限元建模自動化,工程力學,19952.丘國雄,等,我國建筑工程領域結構CAD軟件的質量和標準化問題,工程設計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論