- 相關推薦
ObjectARX環境下的結構建模系統的開發
摘要:本文介紹了AutoCAD提供的ObjectARX開發環境,闡述了利用ObjectARX開發一種新的結構建模系統的思路及方法,即直接利用繪圖工具進行結構信息輸入。輸入的結構信息可以生成為不同的數據文件,從而大大提高工作效率。
關鍵詞:結構建模 ObjectARX 面向對象
前言
近年來,隨著計算機技術的飛速發展,絕大多數的工程設計人員已經采用計算機來進行建筑結構的分析和設計。在實際應用中,有眾多的結構分析軟件可供選擇,如ANSYS、SAP2000等。這些軟件雖然都能較好地完成分析任務,但它們基本上都是按傳統的編程方法實現的,其前后處理功能還有待進一步改進。結構分析軟件中的前后處理部分通常是用戶耗時最多的階段,尤其是結構建模部分更是關鍵,它直接影響著軟件的應用效率。因此,對結構建模這一功能模塊進行專門的研究和開發,使其擁有更強的功能和更高的效率,成為了建筑結構設計及軟件開發人員的重點課題。
利用純Windows風格的AutoCAD2000提供的開發環境ObjectARX來進行結構建模系統的研制,可以充分利用面向對象編程技術的優勢,最大限度地提高系統資源的利用率和軟件系統的功能,而且也符合廣大工程設計人員的使用習慣,有助于設計人員快速地掌握、使用新開發的結構建模系統,提高工作效率。
1 面向對象的開發環境ObjectARX
AutoCAD是目前在Windows 98/2000/NT環境下應用最廣泛、使用人數最多的CAD軟件,它是廣大工程設計人員最為熟悉的工作平臺。AutoCAD2000除了提供一般通用的CAD功能,如繪圖、編輯等,還為用戶提供了不同的開發環境,如AutoLISP、VisualLISP、ObjectARX等。其中,ObjectARX是一種特定的C 編程環境,它是在AutoCAD R13使用的ARX(AutoCAD Run-time eXtention)的基礎上發展起來的第二代面向對象的編程環境。ObjectARX應用程序本質上是Windows DLL程序,而AutoCAD本身則是一個典型的Windows程序,因此ObjectARX應用程序與AutoCAD、Windows之間均采用Windows的消息傳遞機制直接通信。ObjectARX程序以C 為基本開發語言,具有面向對象編程方式的數據可封裝性、可繼承性及多態性等特點。用其開發的CAD軟件具有模塊性好、獨立性強、連接簡單、使用方便、內部功能高效實用等優點,并且支持MFC(Microsoft Fundation Class),能簡潔并高效地實現許多復雜功能。
2結構建模系統的設計思想
為了配合工程設計人員的使用習慣,本文的設計思想是使設計人員在使用CAD命令繪制圖形的同時,對圖形對象進行處理,使繪制所得的結構模型文件中既有結構幾何信息,又包含荷載信息、約束信息等,并可輸出為用戶所需的數據文件。
基于這種思想,采用面向對象的方法進行開發是最合適的選擇。所謂面向對象,其指導思想是按人們通常的思維方式建立問題域模型,設計出盡可能自然地表現求解方法的軟件。為此,必須盡量直接表現組成問題域的事物及事物間的相互聯系的概念,建立適合人們思維方式的描述模式。當前,計算機技術正朝著分布式處理、并行處理、智能化、網絡化的方向發展,而面向對象技術即是實施這些目標的關鍵技術之一。現在,面向對象程序設計的思想和工具已經在建筑結構程序設計中得到廣泛應用。
一個工程的結構部分主要由梁、柱等構件組成,通過對其基本信息的研究,可以歸納總結出各種構件的特征信息,然后分別對其進行整理,并最終把它們賦予矢量圖形的圖素中。在程序運行過程中,根據圖形信息查找到相應的特征信息,從而達到繪圖與建模同步完成的目的。
3結構建模系統的開發方法
在ObjectARX環境下進行建模系統的開發,其步驟如圖1所示。
為了便于分類管理,在創建結構模型之前應使系統自動進行初始化,如對各種不同的構件分配不同的線形、顏色及層名等。利用ObjectARX包含的AcEd、AcDb類庫中的相關函數可以簡便地完成這些功能要求,也可以使用具有相同功能的全局函數來實現,如acdbEntMod()全局函數就可以用來修改一個實體所在的層。
在進行結構幾何模型的繪制時,系統允許用戶直接使用AutoCAD的繪圖、編輯命令,如line、arc等進行繪制輸入工作,充分發揮CAD實用、快速的繪圖功能。此外,ObjectARX還為用戶提供了模塊化繪圖的功能,使用戶可以將不同的多個命令集合在很少的自定義命令中,達到一次輸入后一次繪制完成的效果。用戶可以根據自身的需要,在接口函數中聲明自定義命令名稱,如“zhulie”,并指明相對應的處理函數,如“draw_zhulie()”,然后再使用調用命令函數acedCommand()或acedCmd()完成處理函數的具體編寫工作。
建模系統初始化
圖 1 結構建模系統的開發流程
由于各種結構構件既包括自身的實體數據,又包括附加的結構信息,為了使系統能準確地識別、管理這些數據,必須對不同的構件類型分別進行預定義,以生成不同的數據結構。例如,對于柱構件,可以在程序中進行如下的定義:
static struct column{
ads_real col_x; //柱中心點x坐標
ads_real col_y; //柱中心點y坐標
ads_real widt
【ObjectARX環境下的結構建模系統的開發】相關文章:
談網絡環境下會計系統結構03-18
淺談網絡環境下會計系統結構研究02-04
ERP環境下的成本實時監控系統03-21
論網絡環境下多媒體課件的開發及應用03-05
鹽漬土環境下混凝土結構耐久性措施03-14
基于鍵圖的機電作動系統的建模與仿真03-02
水工混凝土結構CAD系統設計03-19