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

您的位置:網(wǎng)站首頁 > Proe教程

ProE通用裝配仿真過程二次開發(fā)技術(shù)

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

  本文介紹了ProE通用裝配仿真過程二次開發(fā)相關(guān)技術(shù)探討。

  0引言

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

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

  1 系統(tǒng)開發(fā)原理

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

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

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

  本系統(tǒng)充分利用了Pro/Engineer中已有的裝配模型如零部件的標(biāo)識機(jī)制等。因此,本文對具體的幾何描述不作討論,只對零部件的組織結(jié)構(gòu)和空間位置的理論和方法進(jìn)行詳細(xì)的論述。

  1.1層次結(jié)構(gòu)及其中的零件的標(biāo)識方法

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

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

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

  typedef struct

  pro_comp_path

  {

  ProSolid owner;

  ProIdTable comp_id_table;

  int table num;

  }ProAsmcomppath;

圖1

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

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

  1.2空間位姿信息

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

圖2

  2系統(tǒng)實(shí)現(xiàn)方法

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

  首先,在Pro/E平臺上調(diào)人任意的裝配體模型。事先計(jì)劃好所要選擇的零件或部件及其運(yùn)動方向。根據(jù)運(yùn)行方向決定所選的由二次開發(fā)所加人的菜單的鍵(這些鍵或?qū)?yīng)于順X方向運(yùn)行,或順Y方向運(yùn)行,或順指定面的法線方向運(yùn)行等)。以后根據(jù)軟件向?qū)нx擇要運(yùn)行的零件或部件。然后根據(jù)軟件向?qū)л斎怂纬蓜赢嬎枰膸臄?shù)目(數(shù)目越大,動畫效果越好),這時會出現(xiàn)一個交互式界面(如圖2所示)。按下運(yùn)行按鈕,則零件按所選方向運(yùn)行,運(yùn)行到一定步長停止,當(dāng)然也可以在其停止之前的運(yùn)動過程中通過交互式界面來對其進(jìn)行控制,這時此零件則停在新的位置。此時可選擇另一個所需要拆卸的零件了。依次一步步實(shí)現(xiàn)了整個裝配體的拆卸過程。而在零件運(yùn)行的過程中,整個Pro/E的操作環(huán)境依然是激活的。操作者可以結(jié)合交互式界面的循環(huán)鍵和快捷鍵不斷變化視角來反復(fù)觀察這個正在運(yùn)行的零件是否同其他的零部件相干涉。

  圖2就是所設(shè)計(jì)的軟件的界面,其中被激活的齒輪就是擬要運(yùn)行的零件。而邊上所顯示的就是控制界面。

圖3

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

  3 技術(shù)特點(diǎn)

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

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

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

  (3)提高仿真精度和仿真效率,降低仿真費(fèi)用。提高仿真精度包括提高模型建立的精度及提高實(shí)驗(yàn)運(yùn)行的精度。

  而本軟件的設(shè)計(jì)過程也正是符合了以上三點(diǎn)特征的。具體表現(xiàn)如下:

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

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

  (3)使專用產(chǎn)品仿真系統(tǒng)改變?yōu)橥ㄓ醚b配仿真系統(tǒng),能夠?qū)崿F(xiàn)對所有的裝配體進(jìn)行裝配過程仿真,實(shí)現(xiàn)了裝配仿真的通用性。而且,其運(yùn)作起來不需設(shè)置專門的變量,而且運(yùn)行不同的裝配過程也不顯生硬。整個軟件的使用過程非常方便簡單。

  4結(jié)束語

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