1. 程式人生 > >ACIS核心和parasolid核心的來龍去脈與比較—轉載

ACIS核心和parasolid核心的來龍去脈與比較—轉載

 

1 互動圖形系統的誕生
  1946年研製成功的第一臺電子計算機ENIAC是以數值運算為目的,而將計算機應用於生成圖形和精密加工要滯後一段時間。1950年,美國麻省理工學院(簡稱MIT)在旋風Ⅰ型計算機顯示器上生成了簡單圖形,接著又參與了美國國防部戰術防空系統SAGE的研製。為了保護美國本土不受敵方遠端轟炸機攜帶核彈的突然侵襲,設想在美國各地佈置一百多個雷達站,將監測到的敵機進襲航跡用通訊網迅速傳送到空軍總部。空軍指揮員從總部的計算機顯示器上跟蹤敵機的行蹤,命令就近軍分割槽進行攔襲。SAGE系統有很多公司參與開發,整個技術方案由MIT林肯實驗室負責制定,於1957年投入試執行。當時使用的顯示器是19英寸陰極射線管,即在大螢幕真空管中用加熱的燈絲髮射電子束,經過聚焦和加速,轟擊螢幕上的熒光粉塗層,產生亮點。用兩對偏轉線圈分別控制電子束沿水平和垂直方向的偏移。將需要在螢幕上顯示的飛機航跡各點座標通過顯示處理器轉換成兩對偏轉線圈的控制電壓,就可以精確制導電子束在螢幕上的落點位置,畫出航跡線。當時還設計了一種人機互動工具,稱作光筆。用手握住光筆對準螢幕上的某一顯示線條或標註的字元,光訊號脈衝進入筆端鏡頭,通過光導纖維束傳向主機,發出中斷申請,同時凍結顯示處理器中對應光點在螢幕上的座標位置,就可以進一步查詢螢幕上某一顯示物件的其他資訊或向計算機輸送指令。這種互動操作方式很像我們現在使用滑鼠器來選擇選單和拾取圖形。SAGE計劃並未完全實施,到了60年代中期就下馬了,但是它的研究成果卻在民用工業中得到發揚,導致傳統的工程設計繪圖方法發生了革命性變化。
  將SAGE計劃中的光筆互動圖形技術應用到工程繪圖中來,要歸功於伊凡.薩瑟蘭德 (Ivan E. Sutherland)。 他在MIT進一步完善了光筆系統,並於1963年完成了題為”Sketchpad:人機圖形通訊系統“的博士論文,提出了使用鍵盤和光筆在計算機螢幕上進行互動設計繪圖的一系列操作技術,以及將圖形分解為子圖和圖元的層次資料結構,為60年代中至70年代末計算機輔助繪圖技術的大發展奠定了原型示範基礎。1964年秋IBM公司著手開發互動圖形終端的第一代產品IBM2250,採用重新整理式隨機掃描原理,用光筆作為互動輸入手段,並且配有一組32個功能鍵,以便執行畫直線、圓弧、虛線、標註尺寸、提取子圖等巨集命令。IBM還與美國通用汽車公司合作,開發DAC-1計算機輔助設計系統。洛克希德飛機公司和麥克唐納飛機公司也各自獨立在IBM2250上開發二維繪圖系統,前者稱為CADAM,後者稱為CADD。從60年代末起,逐漸在這些系統中增加曲線和曲面功能、數控加工程式設計功能等,形成了最早的計算機輔助設計、製造(簡稱CAD/CAM)系統。從1974年起CADAM正式作為商品向外界轉讓,成為70年代至80年代中期IBM主機上應用最廣的第一代CAD/CAM軟體產品。
  我國西安交通大學於1975年研製了751型光筆圖形顯示器,1978年為751配置了基本軟體。西北工業大學、上海飛機廠、貴州雲馬飛機廠、上海交通大學等在751系統上開展了我國最早的飛機框、肋裝配夾具設計,曲面外形設計和加工,組合機床設計等應用嘗試。
  1968年薩瑟蘭德又發表了”頭戴式三維顯示器”的經典論文,在頭盔的封閉環境下利用計算機成像的左右檢視匹配,生成立體視景, 使人猶如置身於計算機構築的虛擬場景中。隨後他與美國另一位計算機教授共同建立了Evans&Sutherland公司,以生產高效能的飛行模擬器為主要業務,用計算機實時產生飛行員駕駛訓練中從模擬座艙裡見到的機場起飛滑跑、空中盤旋和著陸等各種場景。他們也生產過以PS300為代表的高效能圖形顯示器。三維頭盔式顯示器的研製工作最早是在MIT Draper實驗室進行的,後來轉去猶他(Utah)大學。薩瑟蘭德為計算機圖形技術的發展作出了卓越貢獻。
  
2 曲面構造方法的新突破


  將光筆圖形顯示器和數控繪圖機、數控機床應用於設計和加工規則形狀的產品時,現有的三角、代數等數學工具已經足以應付程式設計中的演算法設計需要了。直線、圓、圓柱面、圓錐面和球面等的計算方法都已經相對定型。而對於飛機、汽車、船舶、葉輪等的流線曲面,恰好是最能體現CAD/CAM技術優越性的領域,當時還缺乏一種新的數學表達工具,以便從更本上改變當前生產中普遍採用的利用模線、樣板、主模型、標準樣件等一整套物理模型來保證曲面外形準確度和相關零部件裝配協調性的手工操作。為了充分說明工業界對於這種需求的迫切性,我們先來簡略回顧一下,什麼是傳統的生產方法。

2.1模線樣板標準樣件工作法

2.1模線樣板標準樣件工作法

  以飛機制造為例,用小比例尺繪製設計圖紙只能粗略決定飛機的外形輪廓線和重要的剖面線,這些曲線必須以實際尺寸畫到由大張鋁板拼成的桌面上。用長方形剖面的扁木條或塑料條光滑擬合這些曲線,並用壓鐵每隔一段距離壓住樣條,不使移動,然後用刻刀將樣條曲線刻畫到鋁板上,成為飛機外形的最終標準依據,稱作模線。模線只允許繪製一套,對稱的機身外形只畫一半,另一半靠用樣板銼出準確形狀後複製過去。有了飛機外形的完整理論模線後,再在外形輪廓內繪製飛機的內部結構,稱作結構模線。按照結構模線銼出樣板以供生產零件使用。樣板的品種很多,提供外形、內形、切面等標準依據,以便製造各種工藝裝備,即成型模、加工夾具、檢驗夾具、裝配夾具和型架等。圖4.3是成都飛機公司為美國麥道公司所生產的MD-80/90大型客機的機頭結構軸線圖。它的外廓尺寸是4877′3290′3487毫米,分為上下兩部分。1:1精確繪製的結構圖就是結構模線。機頭共有4,500項零件,製造工作量佔整架飛機的7%。生產中需要使用工藝裝備3,000餘項,其中裝配用工藝裝備佔500項。
  用來製造和檢驗工藝裝備的模線、樣板、主模型、標準樣件等稱作標準工藝裝備。圖4 .4是機翼裝配型架的示意圖,其中接頭定位件用來保證機翼與機身和副翼的連線點安裝在準確位置;卡板用來檢查機翼外形形狀,同時也保證機翼外形和接頭有準確的相對關係。型架上的卡板和接頭定位件靠標準樣件來安裝。圖4.5是機翼標準樣件的示意圖,採用剛性桁架結構,帶有主要結構件--樑和肋的外形以及接頭。機翼前緣向外伸出的兩個支架稱作標高板,是將標準樣件安裝到型架裡的定位基準。
  圖4.6是飛機艙門的標準樣件及其檢驗架(稱作反標準樣件),目的在於保證艙門的鉸接點和鎖銷位置安裝準確。艙門要能靈活開、閉,而在關閉後艙門外形要與機身緊密貼合,保證密封。圖中的L.O.S是視線(Line of sight)的縮寫,表示用光學儀器來校正正反標準樣件之間的定位關係,正反樣件上的四個對應孔應嚴格落在同一條準直線上。
  圖4.7表示一種小型飛機的區域性標準樣件和量規配置狀況。量規專門用來協調連線接頭之間的配合關係。圖4.8是機翼壁板的自動鉚接調平托架,供鉚接機翼蒙皮與長桁加強條之間的鉚釘時將機翼鉚接部位調整在水平位置。壓鉚機是一個固定機座,上面安裝了一個壓鉚頭,沿x方向在機座上左右移動,每次只鉚一個鉚釘。機翼壁板安放在托架上,用卡板夾緊。托架在滑軌上沿y方向前後移動。調平托架與壓鉚頭在工作中需要五座標聯動,這就是x-y-z三個方向的平移和繞x、y軸的轉動,才能保證每個鉚釘的軸線都是嚴格垂直於機翼蒙皮外形,或者說,每個鉚釘的軸線都能保證與機翼蒙皮的區域性法向量重合。這是為了確保每個鉚釘的鉚接質量所必需的。無需解釋,壓鉚托架也是用樣板或標準樣件加工、檢驗的。
  標準工藝裝備中還有一類表面標準樣件,這是用硬木或可塑樹脂製造的1:1飛機區域性外形,用來翻制蒙皮的成形模。在汽車工業裡往往製作1:1的整車外形模型,叫做主模型,也是用來翻制外表面板金件(稱作覆蓋件)衝壓模的型面。
  看了上面的簡單介紹後,我們再來總結一下,這種建立在模線、樣板、標準樣件之上的生產方法有哪些缺點?
  第一是生產週期長。因為標準工藝裝備必須從模線定型開始,一環扣一環的逐步投產。有了理論模線才能繪製結構模線,有了結構模線才能製造樣板,有了成套樣板才能啟動製造表面標準樣件和標準樣件、反標準樣件。機翼、機身、尾翼等所有樣件、反樣件、量規必須配套作對合檢查。這是一個複雜而龐大的協調體系。因此一架新設計的飛機,從開始研製到投入穩定的成批生產,一般需要6至8 年時間。
  第二是零部件之間的協調精度低。模線繪製以及樣板和標準樣件加工都是手工勞動,外形的複製環節多,誤差積累大,導致部件鉚接中經常使用墊片來消除縫隙。美國汽車製造業先是在80年代提出“5毫米工程”,力求提高車身衝壓件的製造質量,使裝配中的最大縫隙從原來的十多毫米降低為5毫米以內。90年代後又提出“2毫米工程”和“亞毫米工程”(near zero stamping), 已獲得成功,並在汽車工業推廣應用這些新的技術措施。只有從根本上改變原來的外形協調體系,全面推行產品數字化定義和數控技術,才有可能達到這些零間隙配合的目標。
  第三是設計差錯多,改型困難。 傳統的設計繪圖技術很難表達三維空間的幾何關係。新機型研製中要用木料搭出模擬真實飛機的樣機來佈置駕駛員座艙內的儀表和操縱系統, 鋪設機身內的電纜、管道等。即使這樣,圖紙中的設計差錯仍難以避免,經常發生尺寸不協調,零件、組合件相互干涉等。剛性的工藝裝備結構和剛性的協調體系不利於飛機進行改型,而一種成功的飛機型號,必然會有多種衍生的改型機種,由此更加加重了生產組織、管理上的困難。
  另外,全部生產工裝佔用了大量生產面積,而且很笨重,搬運和使用起來都很費力。一個飛機工廠一般都同時有兩三個以上型號在生產,增加了倉庫保管和使用週轉中的負擔。

2.2 曲面表達方法的歷史探索

2.2 曲面表達方法的歷史探索
  早在二次世界大戰期間,為了適應大批量生產戰鬥機的需要,國外飛機制造廠設計了一種用二次代數曲面構造飛機機身外形的方法。一般形式的三元二次代數方程可以寫成  
  
  其中包含了9個獨立係數。這些係數的幾何含義很難解釋清楚,曲面形狀無法顯式控制,也不便於區域性修改,所以後來發展了一種更直觀的作圖方法。如圖4.9(a)所示,首先構造二次曲線段。曲線AEC的首末點通過三角形ABC的底邊端點,並與三角形的其他兩邊相切。
  D是底邊的中點,曲線的拱高用肩點E通過f值控制:  
  
  已知兩點、兩斜和f值5個條件,就可以寫出二次曲線的代數方程來。然後用分段二次曲線逼近光滑曲線。圖4.9(b)中虛線表示已知曲線q,兩段二次曲線的B1C1和B2C2邊共線,因此兩段曲線光滑連線。圖4.9(c)中已知一張待定曲面的4條邊界線A1E1C1、A2E2C2、A1A2和C1C2。給定的橫切面線A1E1C1和A2E2C2假設都是一段二次曲線,縱向邊界線A1A2和C1C2 ,以及肩點E1和E2之間的f值變化曲線都可以用一段或多段二次曲線逼近。這樣,用任意平面平行於兩端邊介面切割這張曲面,得到的切面線也是一條二次曲線,它的起點、肩點和終點都可以用平面方程與A1A2、E1E2、C1C2 三條縱向線求交得到,因此新切面線的曲線方程是已知的。依此類推,用任意平面斜切這張曲面,同樣可以求得交線上的每一點的座標值,只是演算法很繁。因為這時每求一個交點,首先要通過這個交點作一平行於端面的輔助切面,再用這個輔助切面的二次曲線外形與斜切面求交,逐點求出斜切面的外形來。從二次世界大戰中後期到50年代末,飛機工廠就是用這種方法建立飛機的數學模型來提高外形設計和模線繪製的的精度和效率。當時只有手搖計算器,整個計算方法很繁,通用性很差,因此還需要尋求更靈活簡潔的曲面表達形式。
  1946年美國數學家舍恩伯格(I. J. Schoenberg)首次提出了樣條函式的思想,用分段函式來擬合給定的一組資料點,函式段間保持高階連續。1947年,他提出了B樣條的一般理論。他的傑出工作為現代樣條函式的理論與方法奠定了基礎。
  我國70年代初以蘇步青先生為代表,深入船廠開展數學放樣和曲線光順的應用研究,以中國科技大學常庚哲先生和北京航空學院熊振翔先生為代表,深入飛機工廠從事飛機外形曲面的數學模型建立。當時先仿照繪製模線中使用的扁木條加壓鐵的彈性樑彎曲力學模型,寫出代數方程並作合理簡化,形成三次函式樣條曲線。以後在使用中發現函式樣條曲線存在一些問題,例如同樣一組型值點,如果對型值點的座標系施加不同的旋轉變換,擬合出來的曲線形狀會有所不同;又如用它擬合螺旋線,它不能處理同一個(x, y)值的點對應有多個不同z值解的情況。因此後來改用引數形式的曲線表示式,例如從P0到P1點作一條直線,寫成引數形式的向量方程是
  
其中引數u的有效區間是[0,1]。當u=0時,P(0)=P0 ;u=1時,P(1)=P1。
  1963年美國弗格森(J. C. Ferguson)在波音公司進行飛機外形構造中首先使用了引數三次曲線和曲面。
對於CAD技術中的曲線曲面理論及其應用研究這樣一個學科分支,我國一開始稱作“計算幾何”,後來由於國外將“計算幾何”約定為研究幾何演算法的複雜度,即分析比較各種幾何計算方法的時間複雜度和佔用計算機儲存量的空間複雜度,以便從中尋求最優解,所以國內也就跟隨國際習慣改稱為“計算機輔助幾何設計“,簡稱CAGD。
  1974年3月在美國鹽湖城猶他大學召開了第一屆CAGD國際盛會。大會主題是“圖形學與數學”,共約120人蔘加,集中展示了計算機圖形學的最新研究、開發、應用成果[1]。建立在猶他城的Evans&Sutherland公司也展出了他們的高檔計算機圖形顯示器產品。這次大會發言中,被引用最多的開拓性研究成果有兩方面,即孔斯曲面和貝齊埃曲線。大會公認孔斯(Steven A. Coons)和貝齊埃(Pierre Bézier)在CAGD中起了奠基性作用。
  孔斯原來在MIT機械系執教,從事工程製圖和畫法幾何的教學、研究工作。在很多飛機公司參與過飛機外形設計和曲面構造的工程實踐,積累了8年經驗。1964年他在MIT發表了“空間圖形(Space figure)CAD曲面”的研究報告,提出了構造麴面的幾種方法,引起了國際學術界的重視。1967年英國飛機公司用孔斯方法來描述機翼、機身、螺旋槳的外形,開發出稱為NMG(數值主幾何)的曲面造型軟體,以後這套軟體經過擴充套件後還應用於英國當時的船艦設計。美國麥克唐納飛機公司將孔斯方法納入到他們開發的“計算機輔助設計與繪圖”CADD系統中,不斷充實曲線曲面操作功能,並逐步廣泛應用於F15戰鬥機的研製和生產。1967年孔斯發表另一篇題為“空間形狀(Space form)CAD曲面”的報告,發展了1964年的研究成果。此後,關於這一方法的應用和推廣,陸續出現了大量的文獻。從數學上看,孔斯曲面屬於二維樣條方法,它的基本內容已被收入計算數學的入門書和樣條函式的專門著作中,也被不少學者從數學上作了更深一層的研究和推廣。


從線框、實體造型到特徵建模
  
    1968-1973年前後,CAD中的二維繪圖和曲面造型已經取得了突破性進展,形成了公認比較滿意的技術體系,並且相應開發了軟體,已經小規模投入生產應用。於是,人們的注意力開始轉入怎樣才能更完整地表達產品的三維幾何形狀,使得計算機能夠“理解”產品資料的意義,從而獲得一定程度的智慧化分析、計算能力。當時正在使用的表示三維零件的方法是線框模型,如圖4.56中的支座,是用空間線條搭成鐵絲籠狀的框架。為了方便設計人員的互動輸入,每次定義一個工作平面,在工作面上構造二維圖形,然後通過座標變換,將畫在工作面區域性座標系中的二維線條變換成產品總體座標系中的三維線條。設想圖4.56中支座的底面為x-y平面,x軸沿底面的長邊方向,y軸沿短邊方向。支座的高度方向是z座標。依次在z=0, z=15, 和z=70的三個水平面上分別繪製:矩形框;矩形框加f60和f36兩個同心圓;以及帶缺口的兩同心圓。當繪製這些輪廓線時,工作平面都旋轉到與計算機圖形顯示器的螢幕相重合的位置。然後將總體座標系旋轉到使支座的x向側面正對螢幕,繪製f36和f20兩個圓。這樣,通過二維構圖與三維變換相結合,就可以在計算機裡建立起零件的三維模型。當然,這種建模方法很笨,沒有脫離傳統畫法幾何的範疇,完全靠人來一步一步操作。計算機所起的作用跟在二維繪圖系統中相近,基本上處於同一水平上。
  
    將實體的概念首先引入三維幾何造型的第一個嘗試是日本北海道大學衝野教郎(Norio Okino)教授,他從1968年起主持研製了TIPS系統,TIPS是英文“技術資訊處理系統”的縮寫。他用代數方程表示機械零件的規則曲面形狀。為了判別一個空間點是在曲面之外、之內還是之上,只要將點的(x, y, z)座標值代入曲面的代數方程中,計算方程的值是大於,小於,還是等於零。用垂直於x、y、z座標軸的三組密集平面去切割零件模型的所有表面,將求得的交線消除隱藏部分後就得到類似於圖4.57所示的零件立體圖。1972年衝野教授公佈了TIPS第一版,並組織了TIPS應用協會,免費贈送FORTRAN源程式,在英國、美國等大學中產生了很大影響。中國紡織大學、清華大學、華中理工大學的教師先後訪問過沖野教授,北京航空航天大學也得到了TIPS源程式磁帶和全套手冊的饋贈,併成功地移植到IBM主機上執行。當時的TIPS系統已是一個CAD/CAM整合系統的原型,可以自動計算零件的重量、慣性矩,自動生成有限元網格,產生數控加工的粗銑和精銑走刀軌跡。
  
    1972年美國羅切斯特(Rochester)大學沃爾克(H.B.Voelcker)教授開始研製PADL系統。PADL是零件與裝配描述語言的縮寫,1976年後向外界擴散,提供PADL-1.0版的源程式和全套文件。對於非贏利的教育單位只收象徵性的100美元,作為磁帶複製和資料成本費。到1981年,已有美國通用汽車公司和英國Leeds大學等40多個學校和公司引用了這一系統。北京航空航天大學當時也通過中國航空技術進出口公司申請引進一套,但由於對方在合同文字中寫了“凡是因使用此軟體而引起質量事故損失,本單位概不承擔法律責任”等條款,中航技公司不能接受這些條款,終止了簽署合同,僅購買了全套軟體資料。
  
    沃爾克教授及其課題組的主要成員雷奎卡(A.A.G. Requicha)對於實體造型的理論基礎發表了很多論著,至今在我國的CAD和計算機圖形學教材中有廣泛引用。實體造型簡稱體素拼合,它是用三維基本體素,如立方體、圓柱體、圓錐體、球、斜楔、圓環作為積木塊,通過兩兩相加或相減來產生規則形狀的機械零件。例如圖4.56中的支座,可以按照圖4.58中的自下而上順序,逐步用立方體、圓柱體和斜楔三種體素通過加、減運算拼合而成。沃欠克將體素拼合看作是一個集合運算過程,A和B兩個正則集通過並、差、交三種操作得出另一個正則集。他企圖為實體造型的集合運算建立一個嚴密、完整的理論體系,使得體素拼合的演算法實現可以表示為這一理論體系的一系列形式化描述。遵循這一方法,就可以保證開發的軟體正確無誤,執行可靠。1979年起沃爾克進一步聯合工業界力量,在國家科學基金委的支援下開發了PADL-2.0系統,於1982年推出試用版。當時美國的Unigraphics(簡稱UG),Calma, Auto-trol, AutoCAD12版都使用PADL2作為自己CAD/CAM商品系統的實體造型模組。圖4.58所示的體素拼合二叉樹,在PADL系統中稱作CSG,直譯為構造性實體幾何。這一名詞已被全世界普遍接受,成為實體造型中記錄體素拼合過程的一種標準描述形式。
  
    1973年,英國佈雷德(Ian Braid)在劍橋大學CAD實驗室發表了題為“用體素進行設計”(Designing with Volumes)的博士論文,提出了用體素拼合建立幾何形體邊界表示(Boundary representation,簡稱B-rep)的原型試驗系統。他也使用規則形狀的體素,但用引數方程表示二次圓錐曲面。在體素拼合中求出各個相貫表面之間的交線,並且沿交線將參與集合運算的兩個體素組合為一個整體。仍以支座為例,圖4.62(c)表示水平方向的圓柱體與豎直圓柱體的內外表面相貫,得出了四條交線。圖(d)表示經過拼合後的消除隱藏線圖形。實體造型中的拼合操作,在文獻中往往也稱作布林操作(Boolean operation),借用英國數學家喬治·布林(George Boole)所提出的與、或、非邏輯運演算法則來表示拼合後的相貫曲面取捨準則。所謂B-rep邊界表示法,就是顯式表示最終拼合所得形體的每張表面的有效邊界範圍。對於支座的主體圓柱外表面,經展開後大體將有圖4.59所示的形狀。表面的外邊界稱作外環,表面內孔的邊界稱作內環。一張表面只有一個外環,而內環的數量不限。在計算機內,將實體的所有幾何元素通過指標連成一整體,從任何一個元素出發,都可以遍歷所有其他元素。這就為CAD/CAM系統中的各種分析計算創造了智慧化、自動化處理的基本前提。圖4.60簡要說明了由佈雷德等逐漸發展起來的實體模型邊界表示的資料結構。圖中內容劃分成兩大部分,右邊稱作拓撲結構;左邊虛線框中稱作幾何表示。拓撲結構描述幾何元素的相互連線關係及其構成層次。最底層的構成元素是頂點(vertex),兩點相連成邊(edge),由邊構成的封閉輪廓稱作環(loop),一組外環和內環界定一張面(face),若干張面構成子殼(subshell),子殼形成封閉的殼(shell),殼組合成塊(lump),塊再組合成體(body)。由於存線上框模型,所以子殼和殼也可以由線(wire)構成。拓撲結構中的頂點、邊和麵都有幾何屬性,分別用左邊的單元來加以說明。頂點的空間位置記錄在點(point)單元內。邊的幾何定義,如直線、圓弧、B樣條曲線等記錄在曲線(curve)名下。同樣,面的幾何定義記錄在曲面(surface)名下。因為引數曲線、曲面同時存在引數域和空間域兩種表示形式,所以需要用引數域上的曲線(pcurve)來加以限定。體帶有座標變換矩陣(transform)。由於在正常形態的體中,每一條邊都為左、右兩個鄰面所共享,為了方便程式中的處理,在邊之外增加一個共邊(coedge)單元。當需要查詢一張面的鄰面時,首先找到該面邊界環中的邊,從邊指向共邊,再由共邊指向鄰面。在體素拼合過程中,面與面頻繁求交,重組邊環,拓撲結構中的指標關係不斷髮生變化,所以資料結構的設計要適應快速檢索相關幾何元素和簡捷變更拓撲指標關係的要求,以保證軟體的執行高效、可靠。1973年佈雷德完成論文答辯後,繼續留在CAD實驗室裡研究實體造型技術,接連發表了幾篇內容翔實的研究報告,並先後研製了Build1和Build2兩個新的實驗系統。其中Build2採用了當時歐洲最新推出的Algol 68結構化程式語言。與此同時,佈雷德和他的導師Charles Lang, 同窗Alan Grayer合作,聘請荷蘭人Peter Veenman作市場策劃,於1974年創辦了Shape Data公司,用Fortran語言開發出第一代實體造型商品系統Romulus,並從1978年起推向市場。
  
    1982年3月北航吳駿恆等與航空工業部下屬510廠合作,去英國劍橋CAD中心接收引進的GINO-F圖形軟體包。經福累斯特教授介紹,訪問了Shape Data和另一家實體造型系統Medusa開發公司。當時的Shape Data設在一棟三層的住宅樓內,使用一臺VAX-780超小型機和Prime機網路,共20人,其中15人為研究開發人員。圖形終端用Tektronix 4014儲存管,剛添置了Evans & Sutherland 公司的PS300型重新整理式隨機掃描顯示器。PS300的畫面清晰,而且有x, y, z, α,β,γ六個旋鈕,用硬體實現圖形的平移和旋轉變換。參觀中演示了車床上的車刀設計過程。車刀基本上是一多面體,見圖4.61。先畫車刀的二維底面輪廓,用Lift命令將底面提升成三維稜柱體,然後在刀柄部分打兩臺階孔,刀頭部分開出鑲嵌硬質合金刀片用的臺階。從三維模型可以自動生成各種投影檢視、剖面圖,並且產生零件的平面展開圖。用剪刀剪出紙樣的外形輪廓,沿摺疊線折彎,就能得到零件的三維紙模型。Romulus只提供三維幾何造型能力,繪圖輸出銜接劍橋另一家公司的GDS通用繪圖系統,加工程式設計銜接CAD中心的GNC,有限元建模銜接FEMGEN。當時Romulus已賣出25套,目標程式約3萬英磅,Fortran源程式要再加3萬英磅。英國的Ferranti數控機床公司在1981年將Romulus納入公司自己開發的CAM-X加工程式設計系統中,轉賣出15套。此後,北京航空工藝研究所的黃無忌等也訪問了Shape Data,洽談購買Romulus的源程式,共約10萬美元,最後未能在國內辦妥手續而作罷。    

    1981年後Evans & Sutherland公司收購了Shape Data,並在佈雷德等的支援下,從1986年起著手開發美國版權的第二代實體造型Parasolid系統,其中增強了二次曲面造型和互動查詢幾何資料、區域性修改形狀等功能。1988年前後,UG買下了Parasolid,並用它取代PADL2。由於UG的曲面造型系統一開始採用插值於四條邊界的孔斯曲面,開發了很強的二次曲面功能,所以與Parasolid的幾何演算法有很好的相容性,移植很快完成。但是1989年9月航空部CAD小組去洛杉磯附近的Cypress訪問麥道公司的UG系統整合組時,演示Parasolid的曲面求交功能過程中仍很快出現宕機。經過持久的應用磨合後,Parasolid已成為當前CAD系統中效能最穩定的通用幾何開發平臺之一。1996年夏,Autodesk公司主管MDT軟體開發的執行副總裁Dominic Gallello在北京談到Parasolid時情不自禁地流露出自豪感,認為這是美國開發CAD軟體的一項重大成果。至於Medusa實體造型系統,於1983年被美國CV公司併購,並進入中國市場銷售,國內有一批使用者,所以大家很熟悉這一軟體。這是一個多面體造型系統。
  
1986年美國建立了Spatial Technology公司,從事基於NURBS的新一代CAD通用支撐平臺開發。其中的實體造型功能從國際上流行的16種商品系統中優選,最後還是決定與 佈雷德等人合作。NURBS曲面功能則以波音公司於1980~1985年開發的CAD系統TIGER為基礎。1989年12月推出了ACIS1.0版。ACIS就是佈雷德的同窗Alan Grayer,導師Charles Lang,以及Ian Braid本人加上Solid的字首。ACIS自稱是世界上最好的CAD三維幾何造型平臺,專供CAD廠商進行增值產品開發和大學、研究所進行CAD技術研究。1993年6月Autodesk與Spatial公司簽約,採用ACIS作為三維機械設計系統MDT的開發平臺,從此成為ACIS的最大使用者。
  
    從1968年算起,在實體造型技術近20年的發展歷程中,世界各國曾經提出了多種多樣的實現方案,也湧現了品種繁多的商品系統,但是經過應用實踐的篩選,最後的優勝者是英國劍橋的佈雷達。這是為什麼!
  
    湊巧,英國Cardiff大學的馬丁(Ralph R. Martin)教授來訪問清華大學,而佈雷德正是Cardiff的名譽教授,我們就此問題請教了馬丁。他認為這是一個心理學問題,正如英國自己生產的計算機效能很好,但是顧客還是熱中IBM品牌。不錯,崇尚名牌確是一個重要因素,然而再深究一步還應該看到佈雷德三人小組和劍橋大學的特殊優勢。導師Charles Lang原來在美國MIT訪問,奉命召回劍橋大學參與籌建CAD實驗室。1968年福累斯特在此實驗室裡完成了題為“計算機輔助設計用曲線與曲面”的博士論文。Alan Grayer所作的博士論文課題是平板零件的自動數控加工。1967年,劍橋大學還與英國政府共同創辦了CAD中心。這是一個國營企業,專門從事CAD軟體的開發和銷售。當時的產品有GINO-F通用圖形處理軟體包,POLYSURF曲面造型系統,GNC數控加工程式設計系統和PDMS石化、電力等行業的工廠設計管理系統。1983年CAD中心從國營企業變為私有化。此外,英國還從1968年起創辦了CAD國際期刊,從1978年起每兩年召開一次CAD國際會議。置身劍橋CAD產業蓬勃向上的氛圍,兩位年輕的CAD博士,一位從MIT歸來從事計算機軟體技術研究的導師,一位富有機械設計系統開發經驗的經紀人,共同專心致志開拓市場,追求創新軟體的實用、可靠。而且佈雷德等三人從1970年起,直到2000年7月5日法國達索系統公司簽約以2,150萬美元現金收購ACIS業務,三人決定退出ACIS為止,整整30年來都將主要精力集中在實體造型平臺的開發和完善上。對比其他實體造型系統的發展,很多教授大多著眼於技術研究,注重提出新的技術方案,創造新的理論體系,而具體工作則讓年輕教師和研究生去做。這些作法都是正確和必要的,是科學技術發展的正常道路。但是對於實體造型類CAD應用軟體來說,理論上的難度不能說很大,而工程應用中的需求卻複雜多變,軟體系統龐大,需要有精幹、穩定的隊伍持久進行維護,而且每經過一段時間,例如7~8年後需要更新軟體的體系結構,以適應當前的主流軟體技術環境。正是佈雷德等作到了這一點,而很多其他系統則不能。所有這些綜合因素才是佈雷德等獲得成功的根本原因。
  
    實體造型的最大難點在於體素拼合的可靠性。一道典型的考題是作一正立方體,再沿立方體的中心線減去一正圓柱體。當圓柱的直徑稍小於正方體的邊長時,正方體中打出一個圓孔,而體的四周側面不受影響。相反,當圓柱的直徑稍大於正方體邊長時,體被切成四瓣。問題就出在當圓柱體直徑精確等於立方體邊長時,圓柱表面與立方體表面想切,將出現奇異情況,造成宕機。對於這類問題,只有用工程方法來處理,軟體系統內要設定統一的容差精度體系。例如ACIS的約定是,當兩點距離小於10-6時,認為兩點重合;當兩張鄰面的法矢夾角小於10-10時,認定兩面有公共切平面;用樣條擬合一條精確曲線的逼近誤差為10-3;計算機對數字的最大分辨能力為10-11,即將10-11設定為零。對於計算中出現的奇異問題,要約定特殊的處理方法。不同廠商的CAD系統設定的精度體系可能不同,由此造成了異構系統間交換產品幾何模型資料的困難。當前不少CAD商品系統正在修補自己產品的幾何容差體系,以便與其他CAD系統更好整合。
  
    用實體造型技術進行產品三維設計的思想,被CAD應用界接受得很慢。原因之一是這種互動設計方式不符合設計人員的構思習慣。1987年秋,美國引數化技術公司,簡稱PTC推出了引數化特徵造型軟體Pro/Engineer,在CAD界引起了轟動。這一新的構思產生於Samuel Geisberg。他出生於蘇聯,數學專業,1974年37歲時來到美國,先在CV公司工作,以後領導Applicon公司的實體造型軟體組。他認為現有體素拼合的操作方式需要改造,使得更符合工程設計習慣。在風險投資商的支援下,於1985年自立公司,提出了新的三維設計流程。這就是一般情況下先在某一基準面上進行二維草圖設計,可以隨意設定和修改尺寸標註值,讓計算機自動生成正規圖。然後通過拉伸命令,將二維輪廓提升為三維柱體。此後不斷更換作圖基準面,以二維輪廓為構架,掃成各種曲面形狀。這時,設計零件的組成單元不再是單純的幾何體,而是賦以工程語義,例如箱體、凸緣、螺孔、銷釘孔等,統稱為特徵(feature)。圖4.62表示按照特徵建模思想來構造支座的主要步驟。圖(a)中首先採用系統設定的三個基準面構成x, y, z 直角座標系。座標原點位置也已設定。在xy平面上畫一70×120毫米矩形框,提升成15毫米厚的平板。然後將座標系移到平板的上表面,以原點為中心,畫f60毫米圓,圖(b)中已生成了空心圓柱。再將座標系移到平板的側表面,在此基準面上畫一f36毫米圓。圖(c)表示新定義的水平圓柱體與原有的空心圓筒相貫,產生四條交線。圖(d)是完成集合運算後的消隱圖。圖(e)表示在俯檢視的零件頂面上畫一矩形框,準備開槽用。圖(f)中已完成開槽,並在零件的縱向對稱面上畫出加強筋的斜輪廓線。圖(g)表示已完成的零件消隱圖。
  
    圖(h)表示系統所記錄的特徵造型步驟,稱作特徵樹,自上而下,順序執行。特徵樹與前面圖4.58中CSG樹相比,主要區別在於:
  
    1)突出了基準面的概念。因為一切尺寸標註都需要有計量的參考點,例如在零件圖上標註尺寸公差和形位公差,在加工機床上定位毛坯和測量加工精度,在裝配中分析裝配尺寸鏈誤差和檢查工作面配合精度,都要用基準作為參照依據。設計過程中使用的基準面都要明確記錄下來,並且給以唯一的標識號;
  
    2)特徵造型的建模過程實際上是讓設計人員在工作面上繪製二維圖,再讓計算機自動產生三維邊界模型。前者繼承和發展了線框造型的人機介面優點,後者則隱蔽了實體的拼合過程。凡是新增凸臺,一定是加法運算;凡是開出凹槽,一定是減法運算,這是由特徵的語義所約定的。需要注意的是,這裡的凹槽包含了打出圓柱孔,是一種簡化的作法,目的為了減少操作命令的數量。其次,由於凸臺和凹槽都有特定的操作語義,都是在工作平面上向上提升或切割一個形體,所以計算機內的邊界模型重組過程可以直接顯式定義,而不必採用通用的體素拼合演算法。例如圖4.62(b)中在底板上增加一個圓柱體,只需在底板原資料結構的繪製草圖平面上增加一個圓形內環,從內環向上生成一個圓柱體。將原底面上的內環連向外環,並將其內環的共邊指標指向圓柱體側表面。整個圓柱體就與底面的邊界表示融為一體,演算法簡單可靠。而在常規的體素拼合演算法中,首先要將兩個拼合體素的所有各張面迴圈求交一遍,求得相貫線,然後沿相貫線完成相交曲面的裁剪和拼合,人為增加了問題求解的複雜度。
  
    3)特徵樹較詳細地記錄了設計物件的互動構建過程,有利於零件的設計更改。設計人員可以修改某些尺寸,用游標拖動特徵樹中的某些操作命令來改變命令執行的先後順序,然後重新執行一遍命令檔案,讓計算機自動生成更改尺寸後的零件形狀。需要說明的一點是,圖4.62(f)的特徵樹是用微軟Windows系統提供的功能生成的,圖中右側的+、-號與特徵的加減運算無關。
  
怎樣改進特徵設計的互動操作介面,增強軟體的主動導航能力,簡化使用者的輸入步驟,提高產品特徵模型的靈活修改變異能力,這是當前CAD系統發展中受到普遍關注的核心內容之一。從幾何造型技術的角度來看,特徵模型的修改有兩種層次:一種是在既定的拓撲結構下改變幾何元素的尺寸資料,通常稱作引數化設計;另一種是更改幾何元素間的拓撲連線關係,稱作變數化設計或變異設計。後一種的實現難度更大,很多著名的CAD廠商都在朝此方向努力。圖4.63和4.64反映了我國所作的一種探索性嘗試[23]。圖4.63(a)是客戶提供的焊槍鋁槍體的設計圖,需要依此設計和製造精鑄用的全套模具。圖4.43(b)是鑄造下模的設計圖,由於考慮鑄造中的金屬收縮率,零件圖中標註的尺寸在模具中都要留出收縮餘量。圖中還標註了幾個重要的基準面,用Dpl表示。圖4.64表示從圖(a)的零件模型生成的全套鑄模。這裡使用的是特徵剪貼技術,即將圖(a)中的零件表面特徵,根據鑄模的設計需要,逐個從零件的三維模型上取下(稱作剪),移植到對應模具的適當部位,使之成為鑄模的一部分工作表面(稱作貼)。這裡涉及的關鍵技術是首先要從焊槍零件的三維模型上切取所要的表面特徵,將該部分曲面的原始母線連同定義母線時所用的基準體系剝離零件模型,使之遊離出來。然後將這部分浮動的基準體系移植到對應模具的三維模型中,與模具模型的對應基準體系相匹配,並加以固定。如果被移植曲面的控制尺寸需要更改,這時可以改動曲面母線的形狀,然後重新生成新的曲面。圖4.65表示特徵模型中的曲面構造過程[24]。圖(a)是柴油發動機的鑄造模,對照圖4.66的平面圖可以看到型腔3是發動機的氣缸部分,型腔2是曲軸的軸承座,後者通過一組向外輻射的加強筋與發動機的外表面相連。圖4.65(b)和(c)表示型腔2左側面的構造方法。圖(b)中曲線Pro-1是母線,Pro-2和Pro-3是準線,母線沿準線掃動就生成圖(c) 所示的表面特徵Fea-1和Fea-2。圖(d)說明了這兩表面特徵與基準體系Dpl-1, 2, 3, 以及母線與準線的層次依賴關係。要想置換髮動機的左側外形表面,必須首先提取圖(d)所示的全套特徵關係有向圖,將其從發動機模型中移走,然後用類似方法重新生成與圖(b)、(c)、(d)的特徵體系相相容的新的表面特徵,並且讓加強筋與新的曲面連成一體。
  
不難理解,為了提高特徵建模的靈活修改、變異能力,必然要在軟體的實現技術上付出代價。模型的變異能力越強,軟體的結構和演算法也將越複雜。這就需要作出權衡,究竟應將軟體作得簡單、可靠,但是人工干預多,操作的自動化程度低,還是應該提高軟體的複雜度,要求使用者接受更高層次的培訓和掌握更高的操作技巧,使軟體達到更高的應用水平。這類問題不能簡單地作出回答,但是一般說來,總應循序漸進。必須首先實現前一目標,軟體達到實用可靠,為廣大使用者所接受,才有可能向後一目標邁進。忽視穩固的基礎工作而過早設定過高的技術目標,往往要前功盡棄,全軍覆沒。而過分穩妥,不能快速更新軟體功能,同樣也要被市場所淘汰。這是穩妥求實和銳意創新、跨越式發展之間的一對辯證關係。
  
與特徵造型技術密切相關的另一個理論課題是基於約束的產品形狀描述及其求解演算法。在繪製二維草圖中需要約定幾何元素之間的連線關係及其尺寸約束,在產品的三維裝配和運動機構設計中要規定相關零件之間的尺寸配合和運動約束。
  
     必然要在軟體的實現技術上付出代價。模型的變異能力越強,軟體的結構和演算法也將越複雜。這就需要作出權衡,究竟應將軟體作得簡單、可靠,但是人工干預多,操作的自動化程度低,還是應該提出軟體的複雜度,要求使用者接受更高層次的培訓和掌握更高的操作技巧,使軟體達到更高的主尖用水平。這類問題不能簡單地作出回答,但是一般說來,總應循序漸進。必須首先實現前一目標,軟體達到實用可靠,為廣大使用者所接受,才有可能向後一目標邁進。忽視穩固的基礎工作而過早設定過高的技術目標,往往要前功盡棄,全軍覆沒;而過分穩妥,不能快速更新軟體功能,同樣也要被市場所淘汰。這是穩妥求實和銳意創新、跨越式發展之間的一對辯證關係。
  
    與特徵造型技術密切相關的另一個理論課題是基於約束的產品形狀描述及其求解演算法。在繪製二維草圖中需要約定幾何元素之間的連線關係及其尺寸約束,在產品的三維裝配和運動機構設計中要規定相關零件之間的尺寸配合關係和運動約束。這需要聯立求解很多組方程組。由於工程設計中的情況千變萬化,難以用一種通用演算法來處理所有問題,所以在演算法設計中仍有很大的研究和優化空間。

國際主流CAD譜系

    歸納起來,CAD軟體產業經過近30年來的升沉起伏,國際範圍內的CAD主流產品已經集中到以下幾個譜系:
  
    1)IBM/達索   達索原來是法國的私營飛機公司,從1976年起自主開發CATIA三維曲面造型和數控加工系統。1975年從美國洛克希德飛機公司用100萬美元購買了CADAM系統的源程式,認真學習CADAM的開發成果,同時緊密依託IBM的計算機硬體環境。1981年產品開始上市。1989年洛克希德由於在研製軍用飛機中缺乏資金,被迫出賣CADAM公司。經過IBM的中介,達索用2.7億美元兼併了CADAM。此後,達索於1997年6月用3.1億美元收購了微機上最暢銷的新一代引數化特徵造型軟體Solidworks。1998年12月通過內部協商,合併了法國另兩家最有名的CAD公司產品的經營權,即Matra財團的工業設計和加工軟體Euclid/Styler和Machinist,以及Cisigraph的NURBS曲面工業設計軟體Strim 100和注塑模設計軟體Strim/Flow。2000年7月用2 150萬美元現金收購了ACIS幾何平臺。1998年2月達索與IBM合資成立ENOVIA公司,從事企業的資訊系統整合和第二代產品資料管理系統的開發。此外,達索還將原來在IBM主機和工作站上執行的CATIA系統改寫成微機版,推出了專供生產車間佈置生產線用的DELMIA軟體。由於IBM控股,IBM/達索的年營業額歷來佔CAD市場的首位。波音是CATIA的最大使用者。
  
    2)UGS   產品有1976年起開發的UG(Unigraphics) CAD/CAE/CAM整合系統,Parasolid幾何平臺,從Intergraph公司轉移來的SolidEdge微機版引數化特徵系統,iMAN產品資料管理系統,以及我國還不熟悉的ProductVision, FactoryCAD, FactoryFlow, Sense8, VisConcept, VisConference, VisMockup等等。
  
    3)SDRC   1967年建立,從事結構的動力分析,以後增加幾何造型功能,於1987年形成I-DEAS CAD/CAE/CAM整合系統。它的另一個十分有名的產品是Metaphase Ⅱ網上產品資料管理系統。
  
    4)PTC   創建於1985年,Pro/E特徵造型系統的銷售極好。1997年11月用2.62億美元併購了CV公司,合併了CV的產品資料管理系統Optegra和CAD/CAM系統CADDS5的廣大使用者市場。PTC新開發的Windchill新一代企業資訊管理系統,內容包括SCM供應鏈管理,ERP企業資源管理,CRM客戶關係管理和CPC協同產品商務等,被認為是全球範圍內相關企業從事動態協作,覆蓋產品全生命週期,網上管理產品資訊和過程的完整解決方案。PTC還兼併了英國從事CAD虛擬場景生成的Division公司。
  
    5)Intergraph   創建於1969年,從事GIS地理資訊系統和AEC工程建設軟體開發,是最有名的AEC軟體公司。以後進入機械CAD領域,採用了美國Bentley公司的Microstation三維幾何平臺。
  
此外,還有兩家最有名的微機CAD公司,這就是:
  
   1)Autodesk   1982年成立,國內非常熟悉。產品已有二、三維設計Autodesk、MDT、Inventor, 地理資訊系統Map/World/Guide,計算機動畫3D Studio,產品資料管理Workcenter等,並且正在全面增強網路功能。
  
    2)Bentley   創建於1984年,主要產品有:面向機械領域的Modeler; 面向建築領域的Triforma;面向地理工程領域的GeoGraphics; 面向土木(道路橋樑)工程領域的CivilPak; 面向工廠設計領域的PlantSchematic,以及五種專業產品共享的Microstation幾何平臺和Microstation/J網路工具平臺。Bentley原來與Intergraph緊密合作,委託後者銷售軟體。1995年後開始獨立進入市場。它在工程建設領域的使用者佔有率高於Autodesk產品。
  
    2001年5月23日美國EDS公司宣佈了它與SDRC商定的協議,將用25美元一股,總計約9.5億美元的現金收購SDRC,並用27美元一股,總計約1.7億美元收購UGS的14%股權。目的在於使EDS在全球協同、數字化、網路化、全生命週期產品開發的軟體上佔據首席地位,每年超過10億美元的營業額。兩家公司合併後仍稱UGS,並由原UGS的總裁和執行長擔任新UGS的相同職務。EDS是1991年從麥道飛機公司買下UGS的,UGS和SDRC在2000年度的營業額分別為5.26億和4.52億美元,而EDS的同期營業額為192億美元。以上協議還要取得原股票持有者的同意和正式投票表決,可能有變動。
  
     還需要宣告一點,前面關於國外CAD軟體廠商和產品的介紹,並無最新的文字依據,僅是根據筆者平時的積累和傳聞,難免有很多錯誤和疏漏。這裡只是提供一種巨集觀背景,藉以說明當前CAD商品軟體的全球一統化、產品全生命期化和網路化的強勁發展勢頭,以便吸引我國更多有志於發展CAD軟體產業的創業者更加堅定、有效地投身這一事業,將我國的CAD產業迅速提升到國際先進行列。