我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Proe教程

ProE通用裝配仿真過程二次開發技術

時間:2011-02-24 11:54:43 來源:

  本文介紹了ProE通用裝配仿真過程二次開發相關技術探討。

  0引言

  對一個產品來說,每個零件的加工工藝較容易制作,因它是針對其自身而論的,但對于一個很復雜的產品來說,由于零件數目較多,每個零件的裝配序列就比較難以確定,按照傳統的試湊裝配方法,不但費時費力,延長產品開發周期,有時甚至根本無法完成裝配。本文針對上述問題,考慮企業的實際情況,不對產品工藝規劃的整個過程實現自動規劃,而是從裝配角度人手,重點解決零部件的裝配序列問題。通過裝配仿真系統模擬虛擬零部件產品的裝配過程,實現裝配工藝路線規劃。同時,這也符合目前制造業中流行的自頂向下的設計模式。即在設計過程中,首先考慮產品的功能及裝配方面的事項,然后才對組成裝配體的零部件進行詳細設計,并允許零部件設計向前期的功能設計和裝配設計進行反饋。同時對其裝配過程進行三維仿真,使設計人員直觀地看到自己的設計結果,并且可以在此基礎上進行各部件間的干涉檢驗及布局調整,從而使設計人員很方便地實現這種面向功能和面向裝配的設計,并實時進行信息反饋。

  本文所討論的裝配系統選用Pro/Engineer作為開發平臺,以Pro/Enginee:的二次開發工具Pro/Toolkit為開發工具。

  1 系統開發原理

  首先,我們要先了解一些關于Pro/E的一些知識。Pro/E是美國參數化技術公司〔PTC)開發的一個通用CAD軟件,該軟件集三維模型設計、加工、分析及繪圖功能于一體,有強大的二次開發能力和第三方軟件的支持。而Pro/Toolkit則是PTC公司為Pro/E軟件提供的用戶化工具箱,該工具箱為用戶程序或第三方軟件提供與Pro/E的無縫連接。當用戶程序或第三方軟件用C語言編寫時,Pro/Toolkit提供一了一個C函數庫,它能夠使用戶或第三方軟件以一種可控制的、安全的方式訪問Pro/E的數據庫和應用程序。因此可以說Pro/Toolkit是Pro/E應用程序開發者們的API.

  其次,我們先分析一下目前裝配設計研究的現狀。裝配設計相當復雜,它不但要受零部件設計的幾何和功能的影響,而且受制造、裝配過程以及經濟性的影響。一般來說,產品的裝配設計必須由富有設計經驗的人員來執行,由他來決定裝配的順序、各個零部件的聯接關系、是否采用子裝配體、以及怎樣考慮制造和降低成本等,然后把任務分配給其它設計人員去完成。這一切工作都需要很高的專業知識和經驗知識,而完全由計算機自動生成裝配規劃的研究已經進行多年了,并且很多學者在這方面取得了很大的成績與進展。但是縱觀整個裝配規劃領域,到目前為止還沒有一個能夠完全實現自動裝配規劃的系統。這些基于知識和規則的裝配序列生成方法,對于特定的裝配序列求解比較有效,但實用面窄,領域知識的獲取需要較深的專業知識。而目前計算機的創造能力仍無法與人的創造能力相比擬,同時人在設計過程時,實際上就已考慮到裝配和拆卸過程,對于總體布局的裝配是很了解的,只不過有些細節部分沒有把握,需要計算機去模擬它的裝配或拆卸過程來驗證自己設計的可靠性,再者,根據現在的設計情況分析,完全的創新設計工作比較少,大部分是在原有的基礎上進行改造,所以一般用計算機來輔助完成設計裝配過程。為此,目前的裝配規劃基本上都是以自動裝配規劃為輔、以計算機輔助裝配規劃為主。本文所介紹的裝配設計軟件正是一種人機交互性非常好的,以便充分利用設計者的主動性模擬裝配過程的設計軟件。

  本軟件中的裝配規劃采用的方法是拆卸法。拆卸法是裝配規劃的基本方法,即假定裝配體已經裝配好了,再根據裝配體中零部件的配合關系,一個一個的將它們拆卸下來。若裝配體的裝配過程與拆卸過程互為逆過程,則裝配順序即為拆卸的逆順序,裝配路徑與拆卸路徑相重合,只是裝配方向與拆卸方向相反。

  本系統充分利用了Pro/Engineer中已有的裝配模型如零部件的標識機制等。因此,本文對具體的幾何描述不作討論,只對零部件的組織結構和空間位置的理論和方法進行詳細的論述。

  1.1層次結構及其中的零件的標識方法

  人們在設計一個產品的時候,最先想到的不是單個零件的形狀,而是整個產品的形狀和它要完成的功能任務。伴隨著設計的深人,整體的形狀空間逐級劃分,同時功能也逐級分解,直到最后不必再分解之時,再進行零件的造型設計。用這種面向裝配的設計方法產生的產品在邏輯結構上就會呈現出多層次性。

  利用上面的論述,我們可以看出裝配體模型最基本的組成單元是零件、子裝配體以及成品裝配體。如圖1所示的為Pro/Engineer軟件提供的多叉樹結構的等級模式裝配模型示例,圖中樹的根結點是成品裝配體,其他所有結點均為部件。所有的部件結點又可分為葉結點和中間結點,其中葉結點是不可拆分的零件,而其他的中間結點則是由概念設計所確定的子裝配體。多叉樹的分支代表從屬關系,分支只聯接相鄰的上下兩層結點,表示下層結點是上層結點的組成部件。由此看來,零件結點只有父結點,成品裝配體只有組成部件結點,而子裝配體結點既有父結點又有組成部件結點。子裝配體的層次結構與成品裝配體是一樣的,這樣遞歸下去就形成了多層次的產品結構樹(Assembly Structure Tree)。

  另外,Pro/Engineer還提供了一個封裝的結構體對象ProAsmcomppath,該對象是對多叉樹結構的一種數學描述。ProAsmcomppath對象類型的變量可作為Pro/E的二次開發模塊ProlTookit的某些函數的輸人變量,通過它可對裝配體中的零部件進行編輯操作,并可取出裝配體中零部件的信息。該對象的定義如下:

  typedef struct

  pro_comp_path

  {

  ProSolid owner;

  ProIdTable comp_id_table;

  int table num;

  }ProAsmcomppath;

圖1

  其中,owner-一表示成品裝配體(the root assembly),即表示多叉樹結構中的根結點;comp-id-table (the component identifier table)-一為一個一維數組,它包含組成多叉樹的根結點到該零部件結點路徑的全局標識信息;table num一一表示該零部件結點在多叉樹中位于的層數,也就是數組comp-id-table的長度。在ProAsmcomppath結構中,若table num值設為。(即多叉樹中的第。層),則表示成品裝配體本身(即多叉樹中的根結點)。

  用層次化結構表達產品對于可裝配性和可拆卸性檢查有很大的潛在優勢。首先,結構化的產品表達使復雜的邏輯結構規約化,使復雜問題規約化為若干個子問題的并集;其次,層次結構是設計者在概念設計過程中逐步得到的,設計者有意無意地會按照裝配知識和慣例來組織零部件,這樣層次結構本身就隱含了一部分智能性的可行裝配或拆卸序列,可以利用這部分信息,使之成為實際工程應用的可行的裝配和拆卸工藝。

  1.2空間位姿信息

  零部件在裝配體中總是占據一定的空間位置,這一空間位置是通過零部件的空間位姿信息來描述的。一個部件的空間位姿信息由兩部分組成:一部分是位置信息(Position),描述部件的空間位置;另一部分是姿態信息(Orientation)描述部件的方向。部件的平移是通過部件的空間位置的改變來體現的,部件的旋轉是通過部件的方向的改變來體現的。在Pro/Engineer中是用4x4階齊次變換矩陣來表達零部件的空間位姿信息的,其表示如下:

圖2

  2系統實現方法

  本軟件是在應用以上所介紹的基本知識的基礎上,利用Pro/E的二次開發工具Pro/Toolkit所研制開發的。其最大的特點就是通用性。這點可以在以下的它的使用方法的介紹上看出來:

  首先,在Pro/E平臺上調人任意的裝配體模型。事先計劃好所要選擇的零件或部件及其運動方向。根據運行方向決定所選的由二次開發所加人的菜單的鍵(這些鍵或對應于順X方向運行,或順Y方向運行,或順指定面的法線方向運行等)。以后根據軟件向導選擇要運行的零件或部件。然后根據軟件向導輸人所要形成動畫所需要的幀的數目(數目越大,動畫效果越好),這時會出現一個交互式界面(如圖2所示)。按下運行按鈕,則零件按所選方向運行,運行到一定步長停止,當然也可以在其停止之前的運動過程中通過交互式界面來對其進行控制,這時此零件則停在新的位置。此時可選擇另一個所需要拆卸的零件了。依次一步步實現了整個裝配體的拆卸過程。而在零件運行的過程中,整個Pro/E的操作環境依然是激活的。操作者可以結合交互式界面的循環鍵和快捷鍵不斷變化視角來反復觀察這個正在運行的零件是否同其他的零部件相干涉。

  圖2就是所設計的軟件的界面,其中被激活的齒輪就是擬要運行的零件。而邊上所顯示的就是控制界面。

圖3

  Pro/E的二次開發工具Pro/Toolkit事實上是一系列特定的封裝了特定功能的函數庫,利用它們可以很方便的完成上述任務,其大體步驟如下:首先用ProMdlCurrentGet()函數來獲取當前模型,然后利用ProSelectQ函數來選取將要運行的零部件并運用相關函數獲取此部件的路徑(即其在整個裝配體中所處的位姿),最后用ProAsmcomppathTrfGetQ函數獲取相關的變換矩陣的初值并根據不同的要求對其進行變換。在完成以上的工作以后,就可以調用ProAnimmovieCreate( )等相關函數來生成最終的動畫效果了。

  3 技術特點

  我們知道計算機仿真技術,從應用角度分類,基本上可分為系統分析、系統設計和系統訓練與教育等三大類。而仿真技術的廣泛應用也對仿真技術本身(包括仿真方法和仿真工具)提出了一系列要求,決定了當前仿真技術發展的主要特征如下:

  (1)減少模型開發時間。據統計在上個世紀90年代,從用戶提出問題到建立好仿真模型,并把它放到計算機上運行計算所需要的時間(稱為建模導前時間)大約需要幾周或幾個月,建模導前時間過長導致新思想與新方案價值下降,競爭力減弱。但是現在隨著計算機技術的發展,這項工作的時間已經明顯減少了;

  (2)改善通訊界面,包括人與人之間的界面和人與計算機之間的界面。為了成功完成任務,要求仿真軟件或仿真器能夠提供一個十分友好的人與人之間及人與計算機之間的通訊界面,并要求研究模型統一描述形式、圖形輸人與動畫輸出、仿真結果的統計分析等。

  (3)提高仿真精度和仿真效率,降低仿真費用。提高仿真精度包括提高模型建立的精度及提高實驗運行的精度。

  而本軟件的設計過程也正是符合了以上三點特征的。具體表現如下:

  (1)在裝配仿真系統研究中,研究并實現了人機交互式進行裝配序列與路徑的規劃,使裝配規劃更能表達用戶的設計意圖。由于所選擇零件的任意性,所以可以仿真任意可能的零件裝配線路,便于選擇最優路徑。同類似的研究相比,這便改善了通訊界面,提高了人機交互性,降低了仿真所需的時間;

  (2)在本軟件運行時,在進行裝配過程仿真的同時,由于工作界面始終是處于激活狀態下的,所以使用者可以不斷應用Pro/E的快捷鍵轉換視角來檢視零部件的干涉檢驗情況,而且是以動畫的形式演示,盡可能地模擬真實裝配過程。這也就增加了仿真的逼真度,同時與大部分類似的研究相比,由于其運作起來后工作界面始終處于激活狀態下,因此,其靈活性更大;

  (3)使專用產品仿真系統改變為通用裝配仿真系統,能夠實現對所有的裝配體進行裝配過程仿真,實現了裝配仿真的通用性。而且,其運作起來不需設置專門的變量,而且運行不同的裝配過程也不顯生硬。整個軟件的使用過程非常方便簡單。

  4結束語

  本文主要介紹了基于Pro/E二次開發技術的通用裝配仿真軟件的研究過程,并用大量的筆墨介紹了其原理、應用范圍及其特點。由于本文主要研究的是裝配仿真過程。所以沒有提及其他領域。然而,根據以上的論述,可以看出利用同樣的技術是完全可以在其他領域有所建樹的。例如教學軟件等。