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

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

ProE設計進階:關系式函數的使用

時間:2012-04-07 18:00:40 來源:未知
在ProE關系式中我們可以使用系統函數,ProE對數學函數有強大的支持能力,通過這些函數我們可以來進行一些特定的運算得到所期望的值,這里就對一些比較常用的系統函數進行一個概括總結。
 
1、數學函數
 
在ProE中,我們可以使用靈活的數學函數,常用的函數列表如下:
 
sin()、cos()、tan()函數:
這三個都是數學上的三角函數,分別使用角度的度數值來求得角度對應的正弦、余弦和正切值,比如:
A=sin(30),A=0.5
B=cos(30),B=0.866
C=tan(30),C=0.577
 
asin()、acos()、atan()函數:
這三個是上面三個三角函數的反函數,通過給定的實數值求得對應的角度值,如:
A=asin(0.5),A=30
B=acos(0.5),B=60
C=atan(0.5),C=26.6
 
log():求得10為底的對數值,如:
A=log(1),A=0
A=log(10),A=1
A=log(5),A=0.6989
 
ln():求得以自然數e為底的對數值,e是自然數,值是2.718...,如:
A=ln(1),A=0
A=ln(5),A=1.609
 
exp():求得以自然數e為底的開方數,如:
A=exp(2),A=e^2=7.387
 
abs():求得給定參數的絕對值,如:
A=abs(-1.6),A=1.6
B=abs(3.5),B=3.5
 
max()、min():求得給定的兩個參數之中的最大最小值,如:
A=max(3.8,2.5),A=3.8
B=min(3.8,2.5),B=2.5
 
mod():求第一個參數除以第二個參數得到的余數,如:
A=mod(20,6),A=2
B=mod(20.7,6.1),B=2.4
 
sqrt():開平方,如:
A=sqrt(100),A=10;
B=sqrt(2),B=1.414
 
pow():指數函數,如
A=pow(10,2),A=100
B=pow(100,0.5),B=10
 
ceil():不小于其值的最小整數
floor():不超過其值的最大整數
ceil(10.2)值為11
floor(10.2)=11
也可以使用指定小數部分位數的ceil和floor函數,如:
ceil(10.255,2)=10.26
floor(10.255,1)=10.2
floor(10.255,2)=10.26
 
2、字符串函數:
string_length():字符串長度求值
用法:String_length(Parameter  name  or  string),括弧內參數名或字符串,字符串要用"  "括起,空格亦算一個字符。
例:strlen1=string_length("material"),則strlen1=8
 
rel_model_name():提取當前零件的文件名稱
用法:rel_model_name()注意括號內為空的,返回目前模型名稱。
 
rel_model_type():提取當前零件的文件類型
用法:rel_model_type()
如:當前模型為裝配圖
parttype=rel_model_type(),parttype="ASSEMBLY"。
 
itos():將整數換成字符串
用法:Itos(integer)整數,若為實數則舍去小數點。如:
S1=Itos(123),S1="123"
S2=itos(123.57),S2="123"
intl=123.5,S3=itos(intl),S3="123"
 
extract():提取字符
用法:extract(string,position,length)
 
evalGraph():圖形X值對應的Y值提取函數
用法:evalGraph(Graph_name,x_value),其中Graph_name是指控制圖形(Graph)的名字,要用雙引號括起,x_value是Graph中的定義域,函數返回Graph中x對應的y值。如:
sd5=evalGraph(“sec”,3)
 
下面都是使用參數來設計的具體例子:
 

 

 
ProE設計進階:關系式函數的使用
 

 

 
下圖是點按照線長陣列,默認情況下,點的數量需要我們自己確定,下面的圖通過函數floor函數和分析參數實現點的數量隨著曲線的變化自動匹配,修改線的形狀和長度后,點的個數會自動匹配:
 
ProE設計進階:關系式函數的使用
 

 

 

 下面是通過extract字符提取函數實現文字的陣列:
 
ProE設計進階:關系式函數的使用
 


 


 



 

ProE設計進階:關系式函數的使用
 

下面舉個列子說明Mod函數的使用:

 

利用可變截面掃描的函數和關系式,可以通過實現常見的周期性變化,比如正弦變化、余弦變化,但對于一般性的形狀是無法實現的。

  
如何在Pro/E可變掃描中循環利用已有的圖形(Graph)以實現更一般化的周期性形狀變化?
 
要實現循環利用圖形,那么在可變掃描過程中,必須有方法在某個值后歸零然后重新計算圖形對應的值,mod()函數是非常恰當的實現方式,比如,我們的圖形X定義域為0~10,要在可變掃描過程中循環利用5次,我們很容易推導出如下的關系式(為了方便,我做了一個標準的類似公式一樣的通式):
 
sd#=EvalGraph("Graph",mod(N*X_value*trajpar,X_value))*K
 
上面的關系式說明:
N:表示循環周期的次數
X_value:表示圖形的X定義域
K:縮放倍數
 
也可以用以下的關系式控制,道理類似:
 
sd#=EvalGraph("Graph",N*trajpar-floor(N*trajpar))*K----用此關系式來控制時,圖形的定義域為0~1。
 
上面的關系式說明:
N:表示循環周期的次數
K:縮放倍數
 
第一種方式要直觀、也容易理解:
 
在整個可變掃描過程中,trajpar是從0到1變化,所以N*X_value*trajpar的變化就是0到N*X_value,mod(N*X_value*trajpar,X_value)就是這0到N*X_value的變化要對X_value進行求余,換句話說,當變化到X_value的倍數的時候我們的mod()函數值就會歸0,從而實現圖形的循環利用,floor()函數的原理也是類似的。
 
注意點,循環利用的圖形必須要符合以下兩點:
 
1、圖形Graph的起點和終點Y值必須相等;
2、圖形 Graph必須是單一段(多段相切線條組合成的形狀,可采用轉換成樣條的方式來轉化成單根線條);
 

如下圖示意: