摘 要: 具有CAD功能的軟件系統都會面臨模型文件的處理問題,探討了在HOOPS\ACIS平臺下搭建具有CAD功能的軟件系統以及如何實現CAD文件模型處理的問題,闡述了CAD文件模型處理系統的模塊劃分,簡述了主要模塊的實現功能和采用的技術實現方式。
關鍵詞: ACIS;InterOp;PMI;模型分析;模型管理;模型處理
0 引言
基于HOOPS\ACIS搭建的具有CAD功能的軟件系統可以方便實現軟件系統的CAD功能,但在模型數據處理上,它只提供了幾種通用的數據格式和簡單的數據訪問接口,這對于需要對模型數據進行進一步處理的軟件系統來說是無法滿足要求的。
CAD文件模型處理系統從兩個應用層次設計了獨立的模型數據處理系統,來滿足不同軟件系統的不同需求。基本功能層,滿足軟件系統對模型數據的基本操作、顯示和數據訪問功能,它分為3個基本模塊來實現,分別是模型數據導入/導出模塊、模型數據管理模塊、模型操作界面模塊;高級功能擴展層,主要實現模型數據分析、PMI信息分析,再根據模型數據分析結果擴展應用,它分為兩個基本模塊來實現,分別是PMI數據處理模塊和模型數據分析模塊。
1 模型處理系統架構
CAD文件模型處理系統是搭建在HOOPS\ACIS平臺基礎之上的模型處理系統,它利用InterOp組件的最新功能和技術實現導入/導出功能,使用ACIS的實體數據組織和存儲CAD模型文件數據,統一管理模型文件對應CAD界面的HOOPS段值,實現了PMI信息分析和提取工作,為用戶提供深入分析模型數據的數據分析接口,建立了CAD多個模型文件的處理機制,設計了統一的用戶界面實現模型處理系統與用戶的交互[1]。
依據CAD文件模型處理系統需要實現的功能需求,把該系統劃分為以下5個子模塊進行具體實現:
(1)模型數據文件的導入/導出模塊:主要實現模型文件的導入、導出功能。
(2)PMI數據處理模塊:主要實現PMI數據分析、PMI數據存儲、PMI數據處理功能。
(3)模型數據管理模塊:主要實現模型數據的存儲、模型數據的訪問、多文件處理機制、模型數據的操作功能、模型數據畫圖控制。
(4)模型數據分析模塊:主要實現模型數據的深入分析、分析數據的存儲、分析數據的處理功能。
(5)模型操作界面模塊:主要完成CAD文件模型處理系統與用戶操作的交互工作。
模型處理系統包圖如圖1所示。
2 模型處理系統模塊功能簡述
下面介紹模型處理系統中各個模塊要實現的功能和采用的技術實現方式。
2.1 模型文件的導入/導出模塊
模型文件的導入/導出模塊主要實現模型文件導入和導出功能,它分為導入接口、導出接口、轉換參數處理三類接口。此模塊使用Spatial公司提供的InterOp組件實現[2]。
InterOp組件基本支持主流工程應用程序所需的所有主流3D數據交換格式,如IGES格式、STEP格式、UG的prt、ProE的prt、CATIA的CATIA V4、CATIA V5、SolidWorks的sldprt、SAT格式等[3]。如圖2所示,利用InterOp組件實現的導入/導出模塊支持的數據接口。
2.2 PMI數據的分析、處理模塊
工業產品制造信息(Product Manufacturing Information,PMI)是管控工業產品制造的重要方式,目前大的汽車、飛機制造商都在通過CAD中PMI數據實現工業產品生產、檢測自動化,減少人為因素的影響,提高生產、檢測效率。目前支持PMI格式的CAD平臺有CATIA V5、NX、SolidWorks、ProE[3]。此模塊通過InterOp組件實現,在老的版本只提供語義PMI功能,在新版本中增加了圖形PMI功能,通過此模塊分析后PMI數據解析為語義PMI信息、圖形PMI信息,為后續CAD圖形操作、檢測分析提供數據依據。PMI支持的制造信息有:標注、尺寸公差、幾何公差、形狀公差、位置公差、粗糙度等。
2.3 模型數據的處理模塊
模型數據的處理模塊,此模塊是模型處理系統的核心模塊,主要提供模型數據的存儲、模型數據的訪問、模型數據的處理等功能,此模塊利用HOOPS\ACIS提供的相關功能和數據格式實現。模型文件通過導入模塊導入CAD文件數據,如果存在PMI數據,會通過PMI數據分析/處理模塊提取PMI數據信息,最后把幾何實體數據存儲在處理模塊的ENTITY_LIST數據列表中[4]。模型數據的訪問和處理功能操作都是圍繞ENTITY_LIST數據列表進行的。
模型數據處理模塊實現了多個模型文件管理功能,是通過數據結構map<wstring,ENTITY_LIST*>實現的,這里需要做兩個工作,一是用數據結構建立CAD文件與CAD數據的對應關系;二是根據文件結構建立HOOPS中段的對應關系[5]。有了上述兩步的支持就可以方便實現CAD視圖多文件操作,模型數據的訪問功能通過數據結構訪問對應的ENTITY_LIST進行操作;CAD界面的操作根據不同段對應的不同KEY值進行操作。
在分配HOOPS的KEY值時參考多文件的結構去建立,這是實現CAD圖形操作的基礎。圖3所示為CAD多文件KEY值分配邏輯。
2.4 模型數據分析模塊
模型數據的處理是由分析模型實體列表來完成的,如果用戶需要進一步對模型文件進行分析,就需要對所得到的實體做進一步的處理,模型數據分析模塊就是用來完成此項功能的。
模型分析依據模型實體的拓撲結構來進行,拓撲對象包括體(Body)、塊(Lump)、殼(Shell)、子殼(Subshell)、線框(Wire)面(Face)、環(Loop)、有向邊(Coedge)、邊(Edge)、頂點(Vertex)[6]。利用拓撲結構找到對應的幾何,然后通過分析幾何提供的幾何信息進行相關處理。
模型分析模塊包含兩類數據的分析,一個是幾何分析,它是通過實體的拓撲結構分析來完成的;另一類是PMI信息的分析,它是結合PMI信息分析和幾何信息分析一起來完成的。
2.5 模型操作界面模塊
模型操作界面模塊是模型處理系統的人機交互系統,這里用樹形控件實現,模型信息數據的顯示和操作基于樹形結構之上,便于操作和擴充功能。圖4為模型操作樹形界面。
模型操作界面實現了三類數據的操作,第一類是模型數據的操作,在模型導入后,根據模型處理模塊的實體列表,顯示模型數據的樹型結果;第二類是PMI數據的操作,它是在存取PMI數據時,根據PMI數據處理模塊的PMI數據,顯示相關PMI信息;第三類是模型數據分析的操作,它是對模型數據或者PMI數據分析處理后生成的處理結果的顯示。
3 結論
基于HOOPS\ACIS的CAD文件處理系統簡要描述了文件模型處理系統的架構,此架構結合了最新的CAD技術,考慮了模型后續處理的擴充性,介紹了主要模塊的功能和技術實現,對采用類似技術和搭建類似模型處理系統有積極的借鑒作用。
參考文獻
[1] 金鑫,王曉英,魏紹榮,等.一種數據自動轉化軟件的構思與設計[J].微型機與應用,2014,33(1):14-17.
[2] 張雯,王守尊.ACIS幾何平臺及其應用模式的研究[J].微計算機信息,2006,22(10):253-255.
[3] Spatial Technology. 3D InterOp supported file formats [EB/OL]. [2015-05-25]. http://www.spatial.com/.
[4] 石曉宇ACIS幾何平臺及其開發應用[J].機電技術,2011(2):22-24.
[5] 吳敏,黃峻森.3D應用程序開發的強大動力——可視化組件HOOPS[J].CAD/CAM與制造業信息化,2006(7):50-52.