王 騰,周 培,彭 博,聶蓉梅,閆秀天
(北京宇航系統工程研究所,北京,100076)
隨著新一代運載火箭的研制,以CZ-7/CZ-5為代表的型號普遍使用了數字化的三維 CAD模型表達產品設計信息,但是現有航天產品的設計工具多采用CREO、CATIA等成熟的國外商業軟件,目前并未掌握這些商業三維CAD設計工具的底層核心技術,而航天彈箭體產品三維模型是用于國防軍工領域的特殊信息載體,關乎國防安全,有必要研究一種自主可控的表達航天產品結構設計信息的三維幾何重構技術,使得必要時可以替代商業三維CAD軟件進行信息表達。
目前國內外針對結構設計信息的三維幾何重構技術的研究可以分為3類,即基于ACIS、PARASOLID和 OCC(OpenCASCADE)3種幾何內核的研究。由于OCC幾何內核源代碼開源,相比于其余2種幾何內核更適合高校課題研究,所以國內外高校及研究機構大多使用 OCC。國內外在大量的研究工作中使用了OCC的幾何重構功能,但大多數文獻對基于OCC幾何重構的過程描述非常簡單。已有的基于OCC幾何重構的文獻中,根據模型幾何重構技術發展的先后順序,可以將基于 OCC幾何重構的研究劃分為以下 3種情況:a)基于已有的二維平面圖,使用OCC重構三維模型。德國弗勞恩霍夫制造工程研究所的 Sabine Roth-Koch[1]將已有的概念設計草圖模型,基于 OCC內核實現了模型的三維幾何重構;西安工業大學的劉崢[2]等人于2012年研究了鈑金系統展平后,基于OCC內核的模型三維重構方法。但以上研究是將二維的平面模型通過坐標變換得到三維模型的關鍵幾何信息,然后基于OCC內核實現模型的三維重構,這種方法并不直接記錄三維模型的重構過程信息。b)已知模型離散點的坐標信息,使用OCC重構三維模型。意大利學者Fabrizio[3]等人通過醫學掃描獲取模型的關鍵點位置坐標,基于OCC內核實現了人體血管的三維模型幾何重構;中國地質大學的孟鵬燕[4]等人于2014年研究了基于OCC內核的工程地質的三維重構問題。但以上研究均首先取得模型離散數據點的坐標信息,然后基于OCC完成結構的三維重構,這種方法并不適用于航天產品結構這類連續幾何體。c)已知模型幾何形狀尺寸,使用OCC重構三維模型。西北核技術研究所的袁媛[5]等人在2011年通過對OCC中具體的類和函數的分析,研究了基于OCC的幾何重構方法;安徽工業大學的牛標[6]等人以及西南科技大學的丁華[7]等人分別于 2013年和2014年基于OCC內核創建了CAD系統開發平臺,實現了規則的棱錐、圓柱體等簡單幾何體的三維重構;北京理工大學的蔣孟龍[8]等人于2015年研究了基于OCC內核的幾何建模功能,并以一個典型導彈為例對導彈的幾何外形實現了幾何重構。但以上研究只實現了將復雜模型充分簡化后的三維重構實例,并沒有針對具體產品的詳細結構進行三維重構。
本文基于OCC內核,針對航天領域典型的彈箭體復雜產品結構的三維模型,進行幾何維的、記錄模型重構過程,且考慮產品詳細結構信息的三維重構研究。
計算機輔助設計(CAD)軟件的核心是其內部的幾何內核。幾何內核實際上就是一個類庫,定義了圖形數據的存儲格式以及大量的圖形算法。OCC是法國MDTV(Matra Datavision)公司開發的開源3D幾何造型引擎,是一個先進的、三維的、邊界表示(B-Rep)為主的幾何造型工具包,是由 C++開發設計基于OpenGL的專用快速開發的CAD類庫,提供統一的數據結構,同時支持線框、CSG、B-Rep3種模型,并允許這3種表示共存于統一的數據結構中。OCC幾何內核最大的優點是開源,適合課題研究使用。OCC是基于面向對象的方法設計出來的對象庫,由一系列的C++類構成,相關的類組織成包,包組織成工具箱,最后相關工具箱組織成模塊,OCC提供了基礎類模塊、建模數據模塊、建模算法模塊、可視化模塊、數據交換模塊和應用程序模塊6個模塊供開發者使用,如圖1所示。

圖1 OCC結構體系Fig.1 OCC System
本文提出的幾何重構技術的思路流程如圖2所示。

圖2 航天結構件三維模型幾何重構流程Fig.2 Geometric Reconstruction Flow Chart of 3D Aerospace Structure
要實現航天產品典型結構件三維模型的幾何重構,首先需要制定包含所有航天典型產品結構件特征的描述規則,然后將結構件的關鍵幾何尺寸進行提取,最后利用幾何內核,例如OCC完成結構三維模型的幾何重構[9~11]。
壁板加筋結構是航天產品主體結構的一種典型結構,如圖3所示是典型的壁板加筋結構——殼段,由縱向桁條、壁板以及中框、端框組成。

圖3 殼段結構三維模型Fig.3 3D Model of Shell Section
查看殼段的特征組成結構可知,縱向桁條三維模型首先需要有基準平面上的草圖特征,然后經過拉伸特征生成最終的桁條三維模型。壁板三維模型首先需要有基準曲面上的草圖特征,然后將曲面經過加厚特征生成最終的壁板三維模型。中框首先需要有基準平面上的草圖特征,然后經過掃描特征生成最終的中框三維模型。端框與中框類似,是由基準平面上的草圖特征和掃描特征生成。
殼段結構組成特征如圖4所示。圖4a、4b所示為縱向桁條特征組成,圖4c、4d所示為壁板特征組成,圖4e、4f所示為端框特征組成圖。所以,對于縱向桁條,生成三維模型需要提供的數據有:基準平面內待拉伸橫截面的形狀及關鍵尺寸值、拉伸的方向、拉伸的距離;對于壁板,生成三維模型需要提供的數據有:基準曲面內待加厚的曲面形狀、曲面關鍵尺寸值、加厚的方向及厚度;對于端框和中框,生成三維模型需要提供的數據有:基準平面內待掃描的橫截面形狀、橫截面關鍵尺寸值、掃描的角度值。

圖4 殼段結構組成特征Fig.4 Feature of the Shell Section

續圖4
從以上對航天典型結構的特征分析可知:航天典型結構多為細長體結構、薄壁結構以及規則環狀結構,在三維設計軟件中多是通過拉伸、加厚、掃描特征生成,所以在對航天典型產品結構的模型進行三維重構時,需要準確定義及使用航天產品零部件的關鍵特征。
對于拉伸特征,需要定義:a)待拉伸的草圖的各坐標點位置;b)拉伸的方向;c)拉伸的距離。
對于加厚特征,需要定義:a)待加厚曲面的半徑、角度、高度;b)加厚的方向;c)加厚的厚度值。
對于掃描特征,需要定義:a)待掃描的草圖的各坐標點位置;b)掃描的方向;c)掃描的角度。
目前航天彈箭體產品均采用 PTC公司的三維CAD設計軟件 CREO進行產品結構的三維設計,CREO自身提供了可供用戶進行定制化功能拓展的二次開發接口,本文采用CREO自帶的Pro/TOOLKIT開發模塊實現零部件幾何外形關鍵尺寸的提取[12,13]。使用 ProSolidFeatVisit()函數遍歷待研究的產品結構三維模型,查看結構由哪些特征生成。然后使用ProSelect()函數通過交互式選取待研究產品的幾何外形關鍵尺寸,將關鍵尺寸以規則列表的形式存放于.txt文檔中,待三維模型幾何重構使用。
OCC采用Brep的方式,通過定義點、線的方式生成三維模型,首先通過BRepBuilderAPI_MakeVer tex()函數實現對點坐標的定義,使用BRepBuilderAPI_Mak e Edge()函數實現對邊的定義,使用BRepBuilderAPI_MakeWire()函數實現對封閉邊界的定義,再通過設置顯示顏色等完成對零部件的三維模型幾何重構。
在實現航天產品零部件三維模型的幾何重構之后,需要將重構的三維零件模型按照裝配規則形成三維裝配體模型。本文采用全局裝配的方法,零件自身默認坐標系在全局坐標系下的位置和姿態(簡稱位姿)是通過1個4×4階矩陣來表示的。定義為

式中 [xi, yi, zi],(i=1,2,3)為零部件默認坐標系的 3個坐標軸在指定坐標系下的 3個方向矢量;[d1, d2, d3]為零部件默認坐標系原點在指定坐標系下的位置向量。
因此,零部件默認坐標系下的任意1個空間向量點的坐標值要變換到指定坐標系下,需要乘以默認坐標系在指定坐標系下的位姿矩陣。
由于航天產品的零部件在CREO中的局部坐標與本文所用方法在OCC中零部件的局部坐標不一致,所以在CREO中通過二次開發技術查詢得到的零部件裝配矩陣并不能直接用于OCC中的零部件裝配。此時,需要建立OCC中局部坐標與CREO中局部坐標的坐標轉換關系,然后將此轉換矩陣與通過CREO二次開發技術查詢得到的零部件到裝配體的零部件裝配矩陣相乘,即可得到OCC中的局部坐標到全局坐標的全局轉換矩陣,如圖5所示。其坐標轉換關系為

式中 p為空間中某點的位置坐標;M,T,N為坐標轉換矩陣。則,

求得M,即得到在 OCC中零部件到裝配體的坐標轉換矩陣。

圖5 裝配坐標轉換示意Fig.5 Coordinate Transformation for Assembly
為了驗證本文提出的重構航天典型構件三維幾何模型方法的有效性,基于開源幾何造型引擎OCC對航天典型結構的局部結構進行了三維幾何模型重構。圖6是1/8殼段的CREO三維模型圖。

圖6 1/8殼段CREO三維模型圖Fig.6 3D CREO of 1/8 Shell Section
殼段的桁條橫截面為T型,如圖7所示,本文定義了 7個變量,分別為:B、H、δ、R、r、r1、r2,對 T型桁條的橫截面形狀進行描述,這7個變量中,B、H、δ的幾何意義分別為T型梁橫截面的寬、高和型材的厚度,R、r、r1、r2的幾何意義為橫截面過渡圓角的半徑。建立如圖7所示的T型桁條橫截面坐標系,作為桁條的局部坐標,由B、H、δ、R、r、r1、r2這7個變量可以唯一確定T型桁條17個關鍵尺寸點在局部坐標系中的坐標值。在桁條局部坐標系中,拉伸方向為(0,0,1),拉伸的距離可由前文的二次開發技術得到的.txt文檔獲得。

圖7 T型桁條橫截面示意Fig.7 The Cross-section of T Type Stringer
殼段的壁板橫截面為規則的環扇形,如圖8所示。

圖8 殼段的壁板橫截面示意Fig.8 The Cross-section of Shell Panel
本文定義了壁板的半徑R_skin,壁板對應的圓心角α_skin,壁板的高度H_skin,用這3個量確定壁板待加厚的曲面尺寸。加厚的方向(沿徑向增大方向為AC或者沿徑向減小方向為 AC’),加厚的厚度尺寸δ_skin,用這2個量確定加厚特征。
完成殼段桁條和壁板的三維模型的重構之后,利用位姿矩陣的變換關系,即:壁板的局部坐標即是總體坐標,而桁條的局部坐標是以橫截面為xoy平面,拉伸方向為 z方向。完成桁條全局坐標系中的裝配需要換算得到桁條在全局坐標和局部坐標的坐標轉換矩陣,即可得到1/8殼段的重構三維模型,如圖9所示給出了1/8殼段的裝配層級關系。1/8殼段的CREO三維模型與基于OCC重構的三維模型對比圖如圖10所示。

圖9 1/8殼段三維模型的OCC重構圖Fig.9 The Reconstruction Model of 1/8 Shell

圖10 殼段的CREO原模型與OCC重構模型對比Fig.10 Comparison of CREO and OCC
本文基于開源的三維幾何內核 OCC探索了航天典型結構件三維模型的幾何重構方法。其中用到了CREO二次開發的幾何信息批量提取技術,裝配矩陣查詢技術,以及基于開源幾何內核的三維幾何造型技術。為后續實現復雜航天彈箭體結構設計信息的自主可控存儲積累了經驗。