- Creo 6.0高級應用教程
- 北京兆迪科技有限公司編著
- 3540字
- 2023-11-09 19:22:41
2.1 創建模型關系
2.1.1 關于關系
1.關系的基本概念
關系(也稱參數關系)是用戶定義的尺寸(或其他參數)之間關系的數學表達式。關系能捕捉特征之間、參數之間或裝配元件之間的設計聯系,是捕捉設計意圖的一種方式。用戶可用它驅動模型——改變關系也就改變了模型。例如在圖2.1.1所示的模型中,通過創建關系d26=2*d23,可以使孔特征1的直徑總是孔特征2的直徑的兩倍,而且孔特征1的直徑始終由孔特征2的直徑所驅動和控制。

圖2.1.1 關系的基本概念
? 關系類型
有兩種類型的關系。
● 等式:使等式左邊的一個參數等于右邊的表達式。這種關系用于給尺寸和參數賦值。例如:簡單的賦值d1=4.75,復雜的賦值d5=d2*(SQRT(d7/3.0+d4))。
● 比較:比較左邊的表達式和右邊的表達式。這種關系一般是作為一個約束或用于邏輯分支的條件語句。例如:
作為約束(d1+d2)>(d3+2.5)
在條件語句中IF(d1+2.5)>=d7
? 關系層次
可以把關系增加到:
(1)特征的截面草圖中(在二維草繪模式下)。
(2)特征中(在零件或裝配模式下)。
(3)零件中(在零件或裝配模式下)。
(4)裝配中(在裝配模式下)。
? 進入關系操作界面
要進入關系操作界面,可在功能選項卡區域的選項卡中單擊
按鈕,系統彈出圖2.1.2所示的“關系”對話框,可在
區域指定要查看其中關系的對象的類型,然后選取某個對象。以裝配模型為例,系統將顯示如下幾種對象類型。

圖2.1.2 “關系”對話框
● :訪問裝配中的關系。
● :訪問裝配中骨架模型的關系(只對裝配適用)。
● :訪問零件中的關系。
● :訪問元件中的關系(只對裝配適用)。
● :訪問特征中的關系。
● :訪問繼承關系。適用于“零件”“裝配”。
● :如果特征有一個截面,那么用戶就可對截面中的關系進行訪問。
● :訪問陣列所特有的關系。
2.關系中使用的參數符號
在關系中,Creo支持四種類型的參數符號。
(1)尺寸符號。
—d#:零件模式下的尺寸。
—d#:#:裝配模式下的尺寸。第二個#為裝配或元件的進程標識。
—sd#:草繪環境中截面的尺寸。
—rd#:零件模式下的參考尺寸。
—rd#:#:裝配模式中的參考尺寸。第二個#為裝配或元件的進程標識。
—rsd#:草繪環境中截面的參考尺寸。
—kd#:在草繪環境中,截面中的已知尺寸(在父零件或裝配中)。
(2)公差:當尺寸由數字轉向參數的時候,會同時出現公差參數。
—tpm#:加減對稱格式中的公差,#是尺寸數。
—tp#:加減格式中的正公差,#是尺寸數。
—tm#:加減格式中的負公差,#是尺寸數。
(3)實例數:這是整數參數,比如陣列方向上的實例個數。
注意:如果將實例數定義為一個非整數值,系統將截去其小數部分。例如,2.90將變為2。
(4)用戶參數:這是由用戶所定義的參數。
例如:Volume=d0*d1*d2 Vendor="TWTI Corp."
注意:
● 用戶參數名必須以字母開頭(如果它們要用于關系的話)。
● 用戶參數名不能包含非字母數字字符,例如!、@、#、$。
● 不能使用d#、kd#、rd#、tm#、tp#或tpm#作為用戶參數名,因為它們是尺寸符號保留使用的。
● 下列參數是由系統保留使用的。
PI(幾何常數):3.14159(不能改變該值)。
G(引力常數):9.8m/s2。
C1、C2、C3和C4是默認值,分別等于1.0、2.0、3.0和4.0。
3.關系中的運算符
下列三類運算符可用于關系中。
(1)算術運算符。

(2)賦值運算符。
=是一個賦值運算符,它使得兩邊的式子或關系相等。應用時,等式左邊只能有一個參數。
(3)比較運算符:只要能返回TRUE或FALSE值,就可使用比較運算符。
系統支持下列比較運算符。

運算符|、&、!和~擴展了比較關系的應用,它們使得能在單一的語句中設置若干條件。例如,當d1在2和3之間且不等于2.5時,下面關系返回TRUE:
d1>2&d1<3&d1~=2.5
4.關系中使用的函數
(1)數學函數。
cos( )余弦
asin( )反正弦
cosh( )雙曲線余弦
tan( )正切
acos( )反余弦
tanh( )雙曲線正切
sin( )正弦
atan( )反正切
sqrt( )平方根
sinh( )雙曲線正弦
log( )以10為底的對數
abs( )絕對值
ln( )自然對數
ceil( )不小于其值的最小整數
exp( )e的冪
floor( )不超過其值的最大整數
注意:
● 所有三角函數都使用單位“度”。
● 可以給函數ceil和floor加一個可選的自變量,用它指定要保留的小數位數。這兩個函數的語法如下。
ceil(參數名或數值,小數位數)
floor(參數名或數值,小數位數)
其中,小數位數是可選值。
? 可以被表示為一個數或一個用戶自定義參數。如果該參數值是一個實數,則被截尾成為一個整數。
? 它的最大值是8。如果超過8,則不會舍入要舍入的數(第一個自變量),并使用其初值。
? 如果不指定它,則功能同前期版本一樣。
使用不指定小數部分位數的ceil和floor函數,舉例如下。

使用指定小數部分位數的ceil和floor函數,舉例如下。

(2)曲線表計算:曲線表計算使用戶能用曲線表特征通過關系來驅動尺寸。尺寸可以是截面、零件或裝配尺寸。格式如下。

其中graph_name是曲線表的名稱,x是沿曲線表x軸的值,返回y值。
對于混合特征,可以指定軌道參數trajpar作為該函數的第二個自變量。
注意:
曲線表特征通常是用于計算x軸上所定義范圍內x值對應的y值。當超出范圍時,y值是通過外推的方法來計算的。對于小于初始值的x值,系統通過從初始點延長切線的方法計算外推值;同樣,對于大于終點值的x值,系統將通過切線從終點往外延伸的方法計算外推值。
(3)復合曲線軌道函數:在關系中可以使用復合曲線的軌道參數trajpar_of_pnt。該函數返回一個0.0和1.0之間的值,函數格式如下。

其中,trajname是復合曲線名,pointname是基準點名。
5.關系中的條件語句
● IF語句
IF語句可以加到關系中以形成條件語句。例如:

條件是一個值為TRUE(或YES)或FALSE(或NO)的表達式,這些值也可以用于條件語句。例如:


● ELSE語句
即使再復雜的條件結構,都可以通過在分支中使用ELSE語句來實現。用這一語句,前一個關系可以修改成如下的樣子。

在IF、ELSE和ENDIF語句之間可以有若干個特征。此外,IF-ELSE-ENDIF結構可以在特征序列(它們是其他IF-ELSE-ENDIF結構的模型)內嵌套。IF語句的語法如下。
IF<條件>
若干個關系的序列或IF語句
ELSE(可選項)
若干個關系的序列或IF語句
ENDIF
注意:
● ENDIF必須作為一個字來拼寫。
● ELSE必須占一行。
● 條件語句中的相等必須使用兩個等號(==),賦值號必須是一個等號(=)。
6.關系中的聯立方程組
聯立方程組是指若干個關系,在其中必須聯立解出若干變量或尺寸。例如有一個寬為d1、高為d2的長方形,并要指定下列條件:其面積等于200,且其周長要等于60。
可以輸入下列方程組。

所有SOLVE和FOR語句之間的行成為方程組的一部分,FOR行列出要求解的變量。所有在聯立方程組中出現而在FOR列表中不出現的變量被解釋為常數。
聯立方程組中的變量必須預先初始化。
由聯立方程組定義的關系可以同單變量關系自由混合。選擇“顯示關系”時,兩者都顯示,并且它們可以用“編輯關系”進行編輯。
注意:即使方程組有多組解,也只返回一組。但用戶可以通過增加額外的約束條件來確定他所需要的那一組方程解。比如,上例中有兩組解,用戶可以增加約束d1<=d2,程序為:

7.用參數來傳遞字符串
可以給參數賦予字符串值,字符串值放在雙引號之間。例如,在工程圖注釋內可使用參數名,參數關系可以表示如下。

8.字符串運算符和函數
字符串可以使用下列運算符。

下面是與字符串有關的幾個函數。
(1)itos(int):將整數轉換為字符串。其中,int可以是一個數或表達式,非整數將被舍入。
(2)search(字符串,子串):搜索子串。結果值是子串在串中的位置(如未找到,返回0)。
(3)extract(字符串,位置,長度):提取一個子串。
(4)string_length( ):返回某參數中字符的個數。例如,串參數material的值是steel,則string_length(material)等于5,因為steel有5個字母。
(5)rel_model_name( ):返回當前模型名。例如,當前在零件A中工作,則rel_model_name( )等于A。要在裝配的關系中使用該函數,關系應為:
名稱=rel_model_name:2( )
注意:括號內是空的。
(6)rel_model_type( ):返回當前模型的類型。如果正在“裝配”模式下工作,則rel_model_type( )等于裝配名。
(7)exists( ):判斷某個項目(如參數、尺寸)是否存在。該函數適用于正在計算關系的模型。例如:
if exists("d5:20")檢查運行時標識為20的模型的尺寸是否為d5。
if exists("par:fid_25:cid_12")檢查元件標識12中特征標識為25的特征是否有參數par。該參數只存在于大型裝配的一個零件中。例如,在機床等大型裝配中有若干系統(如液壓、氣動、電氣系統),但大多數對象不屬于任何系統。在這種情況下,為了進行基于參數的計算評估,只需給系統中所屬的模型指派適當的參數。例如,電氣系統中的項目需要使用BOM報表中的零件號,而不是模型名,則可以創建一個報表參數bom_name,并寫出如下關系。

9.關系錯誤信息
系統會檢查編輯的文件中關系的有效性。如果發現了關系文件中的錯誤,則立即返回到編輯模式,并給錯誤的關系打上標記,然后可以修正有標記的關系。
在關系文件中可能出現三種類型的錯誤信息。
(1)長行:關系行超過80個字符。編輯該行,或把該行分成兩行(其方法是輸入反斜杠符號\,以表示關系在下一行繼續)。
(2)長符號名:符號名超過31個字符。
(3)錯誤:發生語法錯誤。例如,出現沒有定義的參數。此時可檢查關系中的錯誤并編輯。
注意:這種錯誤檢查捕捉不到約束沖突。如果聯立關系不能成立,則在消息區出現警告;如果遇到不確定的聯立關系,則在最后一個關系行下的空行上出現錯誤信息。