Inventor-iLogic中文完整版教程_第1頁
Inventor-iLogic中文完整版教程_第2頁
Inventor-iLogic中文完整版教程_第3頁
Inventor-iLogic中文完整版教程_第4頁
Inventor-iLogic中文完整版教程_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEPAGE26Contents第一章InventoriLogic概述 4InventoriLogic的產(chǎn)生和發(fā)展 4InventoriLogic的設(shè)計(jì)理念 4InventoriLogic對(duì)學(xué)習(xí)者的要求 5第二章InventoriLogic的初體驗(yàn) 6——基礎(chǔ)知識(shí)介紹 6創(chuàng)建規(guī)則 6新建一個(gè)零件 6添加新的參數(shù) 7定義一個(gè)規(guī)則 11對(duì)已有規(guī)則的操作 14規(guī)則的自動(dòng)運(yùn)行 15規(guī)則的保存 15規(guī)則語法 15If-Then-Else語句 15ElseIf語句 17SelectCase語句 19While語句 21第三章iLogic函數(shù) 23Parameters 25Parameter(Dynamic) 25SetList 25SetValueOptions(On) 26SetValueOptions(Off) 26GetList 27SetListfromArrayList 27ListfromExcel(1) 27ListfromExcel(2) 28FindValueinaList 28Choose 29Parameter.Param 29ToleranceSetDeviation 30ToleranceSetSymmetric 30SetParameterComment 30SetiLogicParameterComment 31Parameter(ass’y) 31Parameter(ass’yMakePath) 31SetListInComponent 32GetListinComponent 32ValueforEquals 32QuietParameterErrors 32QuietMultivalueErrors 33Features 33Components 33iProperties 33第四章其它 34第一章InventoriLogic概述InventoriLogic的產(chǎn)生和發(fā)展InventorCAD系統(tǒng)的主流,在所創(chuàng)建的模型中,參數(shù)關(guān)系、約束關(guān)系體現(xiàn)了設(shè)計(jì)者設(shè)的設(shè)計(jì)意圖,是對(duì)設(shè)計(jì)意圖的一種間接表達(dá),但并不是清晰、直接的表達(dá),尤其是一些非結(jié)構(gòu)的設(shè)計(jì)信息,更難在模型中得以表達(dá)。隨著設(shè)計(jì)技術(shù)和需求的不斷發(fā)展,設(shè)計(jì)者對(duì)軟件提出了越來越高的要求,這種設(shè)計(jì)意圖等信息不能清晰、直接表達(dá)的缺陷,在設(shè)計(jì)修改、設(shè)計(jì)管理、設(shè)計(jì)重用中,體現(xiàn)地越來越明顯。4040%對(duì)已20%是完全新的設(shè)計(jì)【1】,正因?yàn)槿绱?,設(shè)計(jì)重用已成為近十年的一個(gè)研究領(lǐng)域,而研究的難點(diǎn)之一,就是當(dāng)前的CAD系統(tǒng)不能很好地表達(dá)設(shè)在這樣的需求下,InventoriLogic被研發(fā)出來,到目前為止,剛剛發(fā)布過兩個(gè)版本,InventoriLogic2009和InventoriLogic2010,它通過新的技術(shù)方法,將設(shè)計(jì)意圖等設(shè)計(jì)Inventor創(chuàng)建的模型中,從而極大地方便了設(shè)計(jì)者根據(jù)設(shè)計(jì)信息,InventoriLogic的功能,仍在發(fā)展和完善之中。InventoriLogic2009和InventoriLogic2010都是單獨(dú)的產(chǎn)品,作為Inventor的插件,安裝之后,可以在Inventor上使用,Inventor2011iLogic,不再需要單獨(dú)安裝iLogic。InventoriLogic的設(shè)計(jì)理念Logic的意思是“邏輯”,那么,InventoriLogic的邏輯體現(xiàn)在什么地方呢?體現(xiàn)具體體現(xiàn)在以下幾個(gè)方面:字符串類型數(shù)據(jù)的對(duì)比判斷、數(shù)值型數(shù)據(jù)的大小判斷、布爾型數(shù)據(jù)的是非判斷,并根據(jù)判斷結(jié)果,決定下一步的操作。Inventor里面有iPart、iMate等,“i”有intelligent智能的、自動(dòng)化的意味,那么,InventoriLogic的智能、自動(dòng)化體又現(xiàn)在什么地方呢?體現(xiàn)在設(shè)計(jì)過程中,對(duì)模型的一些手動(dòng)操作,由iLogic自動(dòng)完成。iLogic是通過調(diào)用自身的函數(shù)來完成這些操作,所以,它能夠完成哪些操作、不能完成哪些操作,主要取決于iLogic的函數(shù)功能有哪些。進(jìn)行哪些邏輯判斷,根據(jù)判斷結(jié)果,調(diào)用哪些函數(shù)、進(jìn)行什么樣的操作——這些就稱iLogic的一個(gè)規(guī)則。例如,建立一個(gè)關(guān)于材料的規(guī)則——對(duì)薄壁零件的材料進(jìn)行判斷,根據(jù)材料的不同,自動(dòng)調(diào)整厚度等參數(shù)尺寸;建立一個(gè)關(guān)于質(zhì)量的規(guī)則——對(duì)質(zhì)量有要求的零件,實(shí)時(shí)進(jìn)行達(dá)。像這種通過規(guī)則,來改變?cè)O(shè)計(jì)的新理念,就稱為規(guī)則驅(qū)動(dòng)設(shè)計(jì)(RDD:RulesDrivenDesign),RDDInventoriLogic工作的概念依據(jù),iLogic的絕大部分功能,都是通過運(yùn)行一個(gè)又一個(gè)的規(guī)則來實(shí)現(xiàn)的!3D模型的參數(shù),所以,國外有人說,InventoriLogic3D參數(shù)化設(shè)計(jì)的橋梁(iLogicisbridgingthegapbetween3-Dparametricdesignandknowledge-basedengineering)。InventoriLogic對(duì)學(xué)習(xí)者的要求需要熟悉Inventor的基本操作。InventoriLogic2009和InventoriLogic2010都InventorInventor的基本操作、常見的概念。iLogiciLogic提供的函數(shù)和一些關(guān)鍵詞來定義的,但是關(guān)鍵詞比較少,只有幾個(gè),很容易掌握;而每個(gè)函數(shù)的語法也很簡(jiǎn)單,容易理20200多個(gè),不過,常用函數(shù)比較少,而且Inventor中常用的一些單詞進(jìn)行分類,能很快的找到所需要的函數(shù)。當(dāng)然,如果有編程基礎(chǔ),學(xué)習(xí)起來會(huì)更快、更容易。第二章InventoriLogic的初體驗(yàn)——基礎(chǔ)知識(shí)介紹本章將會(huì)定義、運(yùn)行一個(gè)簡(jiǎn)單的規(guī)則,介紹在該過程中涉及到的iLogic的基礎(chǔ)知識(shí):界面、參數(shù)編輯器、規(guī)則編輯器、規(guī)則的定義、保存、運(yùn)行等,在最后一節(jié)還將介紹以下iLogic中的語法。InventoriLogic2010進(jìn)行講解,其運(yùn)行平臺(tái):安裝在中文操作系Inventor2010。另外,Inventor2010有兩種界面:功能區(qū)用戶界面(RibbonUI)、經(jīng)典用戶界面(ClassicUI),由于默認(rèn)安裝的是功能區(qū)用戶界面(RibbonUI),所以本教程采用功能區(qū)用戶界面(RibbonUI)。在經(jīng)典用戶界面(ClassicUI)的瀏覽器中,可以切換模型iLogic面板。創(chuàng)建規(guī)則InventoriLogic的界面,包括參數(shù)編輯器、規(guī)則編輯器等。新建一個(gè)零件1”,有兩個(gè)特征:拉伸和旋轉(zhuǎn),模型及參數(shù)如圖所示:2.1.1添加新的參數(shù)要?jiǎng)?chuàng)建的兩個(gè)新參數(shù):參數(shù)名稱數(shù)據(jù)類型數(shù)據(jù)值改變顏色BooleanTrue、False指定顏色字符串型String打開iLogic的參數(shù)編輯器,管理/參數(shù)/ifx,(經(jīng)典用戶界面,需要將)彈出iLogic參數(shù)編輯器。ifx參數(shù)編輯器簡(jiǎn)介參數(shù)編輯器界面如圖:對(duì)其中一些名詞的說明:標(biāo)記欄(Key):僅僅為了把參數(shù)分成兩類,標(biāo)記的和無標(biāo)記的,用于參數(shù)過濾器顯示標(biāo)記的參數(shù)、無標(biāo)記的參數(shù)及時(shí)更新:參數(shù)的值被改變時(shí),立即根據(jù)參數(shù)的新值,進(jìn)行模型更新刷新參數(shù)表:從模型中重新讀取各個(gè)參數(shù)的值切換顯示方式:控制參數(shù)編輯器的顯示方式——收縮顯示和擴(kuò)展顯示參數(shù)過濾器:用于控制參數(shù)編輯器中所顯示的參數(shù)iLogiciLogiciLogicInventorfx中的參數(shù)。NameType選擇布爾型BooleanFalse,第一個(gè)參數(shù)創(chuàng)建完畢。再次在空白行參數(shù)名稱NameType選擇字符串型String,在這一行的任意單元格上,點(diǎn)擊右鍵,選擇“MakeMulti-Value(創(chuàng)建多值)”,在彈出窗口的文本編輯區(qū)中,輸入?yún)?shù)的三個(gè)值,并點(diǎn)擊“添加Add”按鈕,加為參數(shù)的值,如圖所示:OK”后,兩個(gè)參數(shù)創(chuàng)建完畢。如果需要?jiǎng)h除參數(shù),在參數(shù)行上右鍵選擇“DeleteParameter(刪除參數(shù))Doneifx的編輯器。1:數(shù)據(jù)類型和參數(shù)類型說明:,InventorfxiFx實(shí)數(shù)型參數(shù)又分為幾種:模型參數(shù)、用戶參數(shù)、鏈接參數(shù)等,模型參數(shù)是標(biāo)注模型時(shí)自動(dòng)產(chǎn)生的fxExcel數(shù)。ifx2ifxfx的不同ifxiLogicifxifx(所以,ifx創(chuàng)建參數(shù)的時(shí)候,只能看到四種:Sting、Boolean、Model、User)。3:iLogic對(duì)參數(shù)的分類iLogicfx、ifx顯示:定義一個(gè)規(guī)則添加一個(gè)規(guī)則,在管理/iLogic欄內(nèi),點(diǎn)擊“AddRule(添加規(guī)則)”,將規(guī)則命名為“驅(qū)動(dòng)顏色的規(guī)則”,彈出規(guī)則編輯器。規(guī)則編輯器簡(jiǎn)介規(guī)則編輯器,界面如圖:對(duì)規(guī)則編輯器界面的說明:第一眼看去,界面貌似很復(fù)雜,實(shí)則不然!其實(shí),最核心、也最簡(jiǎn)單的就是那一片空白——“規(guī)則代碼編輯區(qū)”,可以在里面編輯代碼;因?yàn)槭菍?duì)模型的編輯,經(jīng)常用到零部件的參數(shù)、特征等信息,于是在上邊安排了“模型顯示區(qū)”,它的主體就是Inventor瀏覽器內(nèi)的模型樹,老朋友了,不陌生!編輯規(guī)則,經(jīng)常用到函數(shù),誰也不能記住那么多的函數(shù),于是,左邊安排了“iLogic函數(shù)區(qū)”,便于使用函數(shù)的時(shí)候,就地查找!最上面的一些標(biāo)簽,并不常用,暫時(shí)不管它;最下面是一些語法中常用的幾個(gè)關(guān)鍵詞,點(diǎn)擊關(guān)鍵詞按鈕,編輯區(qū)就出現(xiàn)這個(gè)關(guān)鍵詞,功能很簡(jiǎn)單。:如果需要改變零件拉伸特征的顏色,那么,把它改成指定顏色;如果不需要,則保持默認(rèn)的顏色。規(guī)則邏輯True,那么,拉伸特征的顏色,等于“指定顏False,那么,拉伸特征的顏色,等于材料的顏色。規(guī)則代碼,邏輯與代碼對(duì)應(yīng)關(guān)系如下:‘如果變量“改變顏色”為真True,那么,If改變顏色=TrueThen’拉伸特征的顏色,等于“指定顏色”的值Feature.Color("拉伸1"指定顏色‘;(在邏輯上,分號(hào)表示“如果……”這一句話的結(jié)束)EndIf‘如果變量“改變顏色”為假False,那么,If改變顏色=FalseThen’拉伸特征的顏色,等于材料的顏色Feature.Color("拉伸1""AsMaterial"‘。(在邏輯上,句號(hào)表示“如果……”這一句話的結(jié)束)EndIf關(guān)鍵詞:If、Then、EndIf等,直接輸入,或者點(diǎn)擊關(guān)鍵詞按鈕;函數(shù):在函數(shù)區(qū)展開瀏覽樹,查找相應(yīng)的函數(shù),比如Features(特征)/Color(顏函數(shù)變量:可以直接輸入,推薦雙擊鍵入,例如,特征顏色函數(shù)的變量是featurename(特征名稱),在模型顯示區(qū)右邊,點(diǎn)擊“Names(名稱)”標(biāo)簽,1Names(名稱)標(biāo)簽下的列表中,雙擊列表中的特征名稱,則編輯區(qū)鼠標(biāo)原來停留的地方,出現(xiàn)特征名稱參數(shù):雙擊鍵入,在模型顯示區(qū)右邊,激活“Parameters(參數(shù))”標(biāo)簽,然后點(diǎn)選模型樹中的fxifx,Parameters(參數(shù))標(biāo)簽下會(huì)出現(xiàn)相應(yīng)的參數(shù),雙擊參數(shù)名以鍵入到編輯區(qū)。試一試,在參數(shù)名上右鍵,選擇“CaptureCurrentStatus(撲捉當(dāng)前狀態(tài))”,編輯區(qū)會(huì)出現(xiàn)什么情況?在瀏覽樹的某個(gè)特征上面,也右鍵選擇“CaptureCurrentStatus(撲捉當(dāng)前狀態(tài))”,編輯區(qū)又會(huì)出現(xiàn)什么情況?邏輯及運(yùn)算符號(hào):可以直接輸入,也可以雙擊鍵入,在編輯器右上邊有一個(gè)RuleSyntax(規(guī)則語法)的標(biāo)簽,里面有邏輯和運(yùn)算符號(hào),找到后雙擊鍵入。點(diǎn)擊“Done(完成)”,退出規(guī)則編輯器,我們完成了第一個(gè)規(guī)則的定義。點(diǎn)擊管理/iLogic欄內(nèi)的“iLogic規(guī)則瀏覽樹”按鈕,在彈出的窗口中,可以看到我們已經(jīng)定義好的“驅(qū)動(dòng)顏色的規(guī)則”,OK退出。4:iLogic規(guī)則代碼的標(biāo)點(diǎn)符號(hào)及顏色代碼的標(biāo)點(diǎn)符號(hào)。iLogic剛剛研發(fā)出來,對(duì)中文的支持還不夠全面,中英文的單雙引號(hào)、逗號(hào)都支持,中文的“+-=”等也支持,但需要在符號(hào)兩邊加空格,而英文并不需要,所以,中文標(biāo)點(diǎn)符號(hào)可以使用,但為了簡(jiǎn)單起見,推薦使用英文標(biāo)點(diǎn)符號(hào);自動(dòng)用顏色表示不同的代碼含義。關(guān)鍵詞、函數(shù)、不同的參數(shù)名稱、不同的數(shù)據(jù)類型,它們的顏色都不同,例如,請(qǐng)參看下圖:對(duì)已有規(guī)則的操作點(diǎn)擊管理/iLogic欄內(nèi)的“iLogic規(guī)則瀏覽樹”按鈕,可以看到已有的規(guī)則,如果是在最上面的文件上右鍵,則可以看到如下圖所示的操作選項(xiàng):如果在具體的規(guī)則上右鍵,則可以看到運(yùn)行、編輯、重生成、抑制、刪除等操作選項(xiàng),如下圖所示:以上的操作,比較容易理解,需要解釋一點(diǎn)的是“重生成”操作,它的意思就是重新提取規(guī)Inventor參數(shù),然后重新匯編規(guī)則代碼,最后再運(yùn)行規(guī)則。另外,雙擊規(guī)則名稱,直接進(jìn)行規(guī)則的編輯操作。規(guī)則的自動(dòng)運(yùn)行如何運(yùn)行上一節(jié)已定義好的規(guī)則呢?點(diǎn)擊管理/參數(shù)欄內(nèi)的iLogicifx,重新選擇“改變顏色”、“指定顏色”的值,看看模型會(huì)有什么樣的變化?按照iLogic的默認(rèn)設(shè)置,當(dāng)參數(shù)發(fā)生變化時(shí),規(guī)則自動(dòng)運(yùn)行,并立即自動(dòng)更新模型。如果想更改默認(rèn)設(shè)置,參數(shù)編輯器的即時(shí)更新選項(xiàng)控制模型的更新,規(guī)則編輯器的Option選項(xiàng)標(biāo)簽下的 “參數(shù)改True時(shí),按照規(guī)則代碼,“指定顏色”的值傳遞運(yùn)行規(guī)則,把“指定顏色”的新值,重新傳遞給函數(shù),進(jìn)行顏色的再次修改。如果為規(guī)則設(shè)置了“參數(shù)改變時(shí)不自動(dòng)運(yùn)行”,則可以通過前面介紹的方法手動(dòng)運(yùn)行。規(guī)則的保存當(dāng)我們編輯好“驅(qū)動(dòng)顏色的規(guī)則”,點(diǎn)擊Inventor的保存按鈕,在保存零件1.ipt的同時(shí),也完成了對(duì)規(guī)則的保存。但是,規(guī)則被保存到哪里了?規(guī)則就保存在零件ipt之中,也就是說,規(guī)則是內(nèi)嵌入到模型文件的。1.iam1.ipt,這時(shí)“驅(qū)動(dòng)顏色的規(guī)則”還能不能被看到?在部件的“iLogic規(guī)則瀏覽樹”中是看不到的!但是,雙擊零件1.ipt,進(jìn)入編輯零件1.ipt的環(huán)境,這時(shí)可以在“iLogic規(guī)則瀏覽樹”中看到已1.ipt的規(guī)則。如果是iamiam中創(chuàng)建的規(guī)則,內(nèi)嵌并保存在iam部件文件這個(gè)規(guī)則屬于這個(gè)組件,而不屬于它上級(jí)的部件,要內(nèi)嵌并保存到組件的文件中。規(guī)則語法iLogic編寫規(guī)則,一是要掌握語法,二是要掌握函數(shù),而語法很簡(jiǎn)單,下面即將介紹,至于函數(shù),由于其個(gè)數(shù)較多,下一章予以專門介紹。本節(jié)將介紹選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)語句,選擇結(jié)構(gòu)主要有If-Then-Else、ElseIf、SelectCaseWhile語句,下面予以分別介紹。If-Then-Else語句請(qǐng)看If-Then-Else邏輯結(jié)構(gòu)圖:上一句True條件表達(dá)式False下一句一個(gè)或多個(gè)語句一個(gè)或多個(gè)語句If上一句True條件表達(dá)式False下一句一個(gè)或多個(gè)語句一個(gè)或多個(gè)語句句If-Then-Else邏輯結(jié)構(gòu)圖TrueFalse,然后根據(jù)返回值決定執(zhí)行那些語句。If-Then-Else語句的格式:If<條件表達(dá)式Then<如果條件表達(dá)式正確,執(zhí)行語句>Else<如果條件表達(dá)式不正確,執(zhí)行語句>EndIfIf-Then之間的條件表達(dá)式正確時(shí),ThenElseIf-Then之間的表達(dá)式不正確時(shí),ElseEndIf之間的語句被執(zhí)行。If改變顏色=TrueThenFeature.Color("拉伸1"指定顏色ElseFeature.Color("拉伸1""AsMaterial"EndIf1:TrueFalse,那么,可以直接在表達(dá)式的位置,放置一個(gè)布爾型參數(shù)嗎?因?yàn)椴紶栃蛥?shù)的值也是True或False,答案是可以的。在“顏色驅(qū)動(dòng)的規(guī)則”數(shù)“改變顏色”就是布爾型參數(shù),所以,“顏色驅(qū)動(dòng)的規(guī)則”也可以可以這樣寫:If改變顏色ThenFeature.Color("拉伸1"指定顏色ElseFeature.Color("拉伸1""AsMaterial"EndIf2:If-Then-Else語句還有單行格式(EndIf):If<條件表達(dá)式>Then<若條件表達(dá)式正確,執(zhí)行語句>Else<若條件表達(dá)式不正確,執(zhí)行語句>1中代碼的單行形式為:IfThenFeature.Color(1")=ElseFeature.Color(1")="AsMaterial"注3:If-Then-Else結(jié)構(gòu)提供了2種選擇,“如果……”時(shí),有一種選擇,“其它”時(shí),則有另外一種選擇,而實(shí)際上,我們有時(shí)只選擇其中的一種情況,比如“其它”時(shí),我們什么都不用做,這種情況的邏輯如下圖所示:上一句True條件表達(dá)式False下一句一個(gè)或多個(gè)語句If上一句True條件表達(dá)式False下一句一個(gè)或多個(gè)語句If-Then語句邏輯結(jié)構(gòu)圖If-Then語句的格式:If<條件表達(dá)式Then<如果條件表達(dá)式正確,執(zhí)行語句>EndIfElse即可,我們?cè)凇邦伾?qū)動(dòng)的規(guī)則”中就是這樣做的,所以,這里就不再舉例了。ElseIf語句ElseIf語句的邏輯結(jié)構(gòu)圖:上一句True條件表達(dá)式1上一句True條件表達(dá)式1FalseTrue條件表達(dá)式2FalseTrue條件表達(dá)式3 False下一句語句4語句3語句2語句11True1,如果不正確,返回False2True2,如果不正確,返回False,再次進(jìn)入對(duì)下一個(gè)表達(dá)式的判斷……ElseIf語句的格式:<1Then1正確,執(zhí)行語句1><2>Then2正確,執(zhí)行語句2><3>Then3正確,執(zhí)行語句3>Else4>EndIf說明:學(xué)習(xí)If-Then-Else之后,ElseIf的邏輯結(jié)構(gòu)關(guān)系不難明白,語句格式也容易理解;同樣,Else部分,則可以直接省略。If指定顏色="紅色"ThenMessageBox.Show("當(dāng)前:指定顏色=紅色""Title1")ElseIf指定顏色="黃色ThenMessageBox.Show("當(dāng)前:指定顏色=黃色","Title2")ElseIf指定顏色="灰色ThenMessageBox.Show("當(dāng)前:指定顏色=灰色","Title3")ElseMessageBox.Show("當(dāng)前:指定顏色=材料色","Title4")EndIf1:這里引入了一個(gè)新的參數(shù),該參數(shù)位于iLogic規(guī)則編輯器:MessageBox/Show雙擊show,函數(shù)格式為:MessageBox.Show("Message","Title"),其功能是彈出一個(gè)消息窗口,第一個(gè)變量為要顯示的信息,第二個(gè)變量為消息窗口的標(biāo)題。SelectCase語句Case語句的邏輯結(jié)構(gòu)圖:上一句上一句SelectCase語句情景表達(dá)式情景1情景2情景3其它情景下一句語句4語句3語句2語句1當(dāng)程序執(zhí)行SelectCase語句時(shí),根據(jù)情景表達(dá)式的值,找到對(duì)應(yīng)的情景代號(hào),執(zhí)行相應(yīng)的語句。SelectCase語句格式:SelectCase<情景表達(dá)式>情景列表1>1>情景列表2>執(zhí)行語句2>情景列表3>執(zhí)行語句3>CaseElse執(zhí)行語句4>EndSelectElseIfElse部分,則可以直接省略。例如,ElseIf中創(chuàng)建的規(guī)則“顯示制定的顏色”,也可以這樣寫:SelectCase指定顏色Case"紅色"MessageBox.Show("當(dāng)前:指定顏色=紅色","Title1")Case"黃色"MessageBox.Show("當(dāng)前:指定顏色=黃色","Title2")Case"灰色"MessageBox.Show("當(dāng)前:指定顏色=灰色""Title3")CaseElseMessageBox.Show("當(dāng)前:指定顏色=材料色","Title4")EndSelect1:情景表達(dá)式可以是復(fù)雜的表達(dá)式,例如:SelectCaseradius+1是實(shí)數(shù)型參數(shù),可以用算術(shù)表達(dá)式;SelectCaseMinOfMany(x,y,z):MinOfMany(x,y,z)是個(gè)函數(shù),表示多個(gè)數(shù)中的最大值;2:情景列表也有多種表達(dá)格式:格式舉例Case12,…Case1,10,100Case“紅色”,”黃色”,”灰色”Case1To情景列表nCase1To9Case“A”To“E”CaseIs情景列表nCaseIs>=21以上三種的混合CaseIs<=5,20To29,43有些人可能不太明白,舉個(gè)例子:SelectCasewidthCase1,2,3,4,5MessageBox.Show("小型鋼板",規(guī)格大小")Case6to15MessageBox.Show("中型鋼板",規(guī)格大小")CaseIs>15MessageBox.Show("大型鋼板",規(guī)格大小")EndSelectwidth15615,將顯15,將顯示“大型鋼板”。While語句Case語句的邏輯結(jié)構(gòu)圖:上一句上一句True條件表達(dá)式False語句下一句True,執(zhí)行語句,然后再次判斷條件表達(dá)式,如果False為止。While語句的格式:While<條件表達(dá)式><如果條件表達(dá)式正確,執(zhí)行語句>EndWhileWhile語句格式比較簡(jiǎn)單,直接舉例說明,如:While長(zhǎng)度<100寬度=寬度+10長(zhǎng)度=長(zhǎng)度+20MessageBox.Show(寬度,"寬度")MessageBox.Show(長(zhǎng)度"長(zhǎng)度")EndWhile1:Not也是iLogicWhile長(zhǎng)度<100”和“WhileNot長(zhǎng)度>=100SelectCase2Is也是一個(gè)鍵詞,像這些關(guān)鍵詞我們沒有特別介紹,因?yàn)楹芏鄷r(shí)候它們并不是非用不可。第三章iLogic函數(shù)關(guān)于本章,需要注意的幾點(diǎn):文件名(FileName)和組件名(ComponentName):比如,文件名為“零件1.ipt”的零件,被放置到部件中時(shí),Inventor會(huì)為它起一個(gè)組件名,默認(rèn)的組件名是“零件1:1”。iLogic函數(shù)需要根據(jù)組件名,找到組件對(duì)應(yīng)的文件,然后進(jìn)修修改等操作,當(dāng)然也可以直接給出文件名。但是,iLogic認(rèn)為文件名有可能會(huì)被更改,所以推薦使用組件名。自定義并固定組件名稱:當(dāng)有零件放入部件中時(shí),iLogic希望我們最好把默認(rèn)的組件名能夠自我們?cè)谝?guī)則中也修改組件名。語言問題iLogic目前還不支持全中文,盡管有些地方可以用,比如,在第二章創(chuàng)建的“驅(qū)動(dòng)Inventor上面不能運(yùn)行,但是,如果把紅色、黃色、灰色改成Red、Yellow、Gray,那么,規(guī)則在Inventor中英文版上都能夠運(yùn)行!如果參數(shù)全英文,iLogic功能上是沒什么問題,但給我們中國的用戶又帶來一些不便,鑒于此,在必要的時(shí)候,會(huì)本教程給出中英文的對(duì)照,在保證功能的前提下,盡量方便我們中國的用戶。關(guān)于函數(shù)和參數(shù)的界面簡(jiǎn)介:請(qǐng)看下圖:通過函數(shù)類別、函數(shù)名稱,找到需要的函數(shù),雙擊函數(shù)名稱,編輯區(qū)自動(dòng)出現(xiàn)函數(shù)表達(dá)式;用光標(biāo)選中函數(shù)表達(dá)式中的參數(shù)名稱,通過模型參數(shù)表、iLogic參數(shù)表、用戶參數(shù)表等不同的參數(shù)表,在相應(yīng)的參數(shù)表內(nèi)找到需要的參數(shù),雙擊參數(shù)名,則自動(dòng)替換函數(shù)表達(dá)式內(nèi)選中的參數(shù)名。iLogic的主要函數(shù)。通過零件學(xué)習(xí)函數(shù)iLogic的函數(shù)中,函數(shù)名稱含有(ass’y)的,只能用在部件中,其余的零、部件中均可應(yīng)用。1.iptiLogicTreeEditor,如下圖所示:Indocument8個(gè)規(guī)則,External19ifx,如下圖所示:在Comment里面,說明了該函數(shù)驅(qū)動(dòng)哪些規(guī)則,也就是說,修改這個(gè)參數(shù),會(huì)使哪些規(guī)則自動(dòng)comment5、6、8External0,這就說明,這些規(guī)則需要手動(dòng)驅(qū)動(dòng),因?yàn)檫@些規(guī)則并不修改參數(shù)表中的參數(shù)。1.ipt9個(gè)規(guī)則,基本上覆蓋了iLogic的一半左右的函數(shù)。打開每個(gè)規(guī)則,還有9個(gè)規(guī)則之后,,基本上就接觸了大部分函數(shù)種類。ParametersParameter(Dynamic)表達(dá)式:對(duì)當(dāng)前參數(shù)表內(nèi)的參數(shù)賦值:Parameter("d0"1.2在部件里,對(duì)組件內(nèi)的參數(shù)賦值:Parameter("Part1:1","d1")=6.3變量:d0表示參數(shù)的名稱;說明:(1)Parameter("d0")d0d0當(dāng)前對(duì)應(yīng)的值(Dynamic)。)=1.2d1=Parameter("d0")(2)SetList給已經(jīng)存在的參數(shù),設(shè)置一個(gè)取值列表表達(dá)式:用實(shí)數(shù),設(shè)置取值列表:MultiValue.SetList("d0"0.50.751.01.25)用表達(dá)式,設(shè)置取值列表:MultiValue.SetList("d0","3/8","d1*2","d1*3")用字符串,設(shè)置取值列表:MultiValue.SetList("str0",Value1",Value2")對(duì)組件中的參數(shù),設(shè)置取值列表:MultiValue.SetList("Part1.ipt.d0",0.5,0.75,1.0,1.25)變量:d0為實(shí)數(shù)型參數(shù),str0字符串型參數(shù);SetValueOptions(On)()進(jìn)行設(shè)置,使參數(shù)值必須是取值列表中的值表達(dá)式:可指定默認(rèn)值:MultiValue.SetValueOptions(True,DefaultIndex:=0,NumericCompare:="=")列表中第一個(gè)為默認(rèn)值:MultiValue.SetValueOptions(True)變量:True常量,不用修改;DefaultIndex:=0,表示默認(rèn)狀態(tài)下,取列表中的第(0+1)個(gè)值;NumericCompare判斷方法,即判斷參數(shù)的輸入值是否和列表中的某個(gè)值值相等,一般也不用修改;DefaultIndex0,可以用比較簡(jiǎn)單的第二個(gè)表達(dá)式;NDefaultIndexN1;MultiValue.SetValueOptions(True)MultiValue.SetList("d1",0.25,0.375,0.5)d1=Parameter("d1")進(jìn)行設(shè)置,以保證參數(shù)必須取多值列表中的值,而且指定第一個(gè)值為默認(rèn)值;d1d1,的值還是原來的值,可能不是列表中的值。d1當(dāng)前的值,由于這時(shí)第一句、第二句已經(jīng)運(yùn)行過,d1的值如果不是列表中的值,那它只能取默認(rèn)值,如果是,d1本身的值不變。其功能是:為參數(shù)定義一個(gè)取值列表,并對(duì)參數(shù)進(jìn)行賦值。SetValueOptions(Off)MultiValue.SetList()進(jìn)行設(shè)置,允許參數(shù)值不是取值列表中的值變量:False常量,不用修改說明:這是Mulitvalue多值函數(shù)的默認(rèn)設(shè)置,即允許參數(shù)等于取值列表之外的數(shù)值,請(qǐng)看下圖:fgfg22并不是取值列表中的值。GetList將取值列表賦值給一個(gè)數(shù)組表達(dá)式:valuesMultiValue.List("d0")變量:d0是具有取值列表的參數(shù)說明:values是個(gè)數(shù)組,數(shù)組的第nvalues(n-1)SetListfromArrayList通過數(shù)組設(shè)置取值列表表達(dá)式:MultiValue.List("d0"MyArrayList變量:d0是需要設(shè)置取值列表的參數(shù);MyArrayList是已知的數(shù)組舉例:請(qǐng)看下面的代碼:values=MultiValue.List("d0")MultiValue.List("d1"valuesd0d1的取值列表ListfromExcel(1)功能:Excel表格中的數(shù)據(jù),設(shè)置取值列表表達(dá)式:MultiValue.List("d0"GoExcel.CellValues("filename.xls""Sheet1""A2""A10")filename.xls,Excel文件名(Excel需要保存在工作空間之下);Sheet1,標(biāo)簽名稱;A2,單元格起始號(hào);A10,單元格終止號(hào)。ListfromExcel(2)功能:Excel表格中的數(shù)據(jù),設(shè)置取值列表表達(dá)式:MultiValue.List("d1"GoExcel.CellValues("B2""B10")B2,單元格起始號(hào);B10,單元格終止號(hào)。GoExcel.CellValueExcel文件名和標(biāo)簽名,而它所使用的,是前面的GoExcel.CellValueExcel文件名和標(biāo)簽名。FindValueinaList表達(dá)式:foundVal=MultiValue.FindValue(MultiValue.List("d0"),"<=",4.0)變量:d0是具有取值列表的參數(shù);“"<="4.0”,條件,符號(hào)也可以是=、>=最接近的值;如果沒有,返回程序語言中的常量"Nothing".,例如:MultiValue.SetList("d0",0.5,0.75,1.0,1.25)foundVal=MultiValue.FindValue(MultiValue.List("d0"),"<=",4.0)MessageBox.Show(foundVal,"Title")運(yùn)行結(jié)果:示找到的值是1.25,因?yàn)?.25最接近4.0如果找不到,想要顯示結(jié)果,需要將返回值傳遞給字符串參數(shù),試運(yùn)行以下代碼:MultiValue.SetList("d0",0.50.751.0,1.25)foundVal=MultiValue.FindValue(MultiValue.List("d0"),">=",4.0)String1=foundValMessageBox.Show(String1,"Title")運(yùn)行結(jié)果:Choose選擇一個(gè)數(shù)組中的某個(gè)元素表達(dá)式:getChoiceChoose(index"first""second""third")變量:index表示選擇第幾個(gè)元素,它本身可以是常量,也可以是變量;"first""second""third"是定義一個(gè)數(shù)組,其成員可以是字符串型數(shù)據(jù)、實(shí)數(shù)型數(shù)據(jù)、字符串參數(shù)、實(shí)數(shù)型參數(shù)等;說明:例如,運(yùn)行下面的代碼:getChoice=Choose(2,"first","second","third")MessageBox.Show(getChoice,"Title")Parameter.Param功能:Inventor參數(shù),參數(shù)的各部分構(gòu)成一個(gè)數(shù)組,賦值給一個(gè)數(shù)組參數(shù)表達(dá)式:p=Parameter.Param("d0")變量:d0為參數(shù)名稱;說明:在fx表中,每個(gè)參數(shù)都有表達(dá)式Expression、公差Tolerance、注釋Comment等部分,用該函數(shù),可以一次得到參數(shù)的各個(gè)部分,例如:param=Parameter.Param("parameterName")If(paramIsNotNothing)Thenparam.Expression="5.0in"param.Tolerance.SetToDeviation(0.002*2.54,-0.004*2.54)param.Comment="EquationandTolerancesetbyarule"EndIf上面代碼含義:將參數(shù)賦值給一個(gè)數(shù)組變量,如果參數(shù)存在,則對(duì)參數(shù)的表達(dá)式Expression、ToleranceComment分別賦值。舉例ToleranceSetDeviation設(shè)置參數(shù)的公差表達(dá)式:默認(rèn):Parameter.Param("d0").Tolerance.SetToDeviation(0.002*2.54-0.004*2.54)修改為:Parameter.Param("d0").Tolerance.SetToDeviation(0.002*0.1-0.004*0.1)0.002上偏差值,-0.004下偏差值;0.1,毫米到厘米的轉(zhuǎn)換系數(shù);2.540.1?iLogicInventor開發(fā)的,英文版的默認(rèn)單位制是英制,而公差是公制的,需要一個(gè)英制到公制的轉(zhuǎn)換。而我們是中文版的Inventor默認(rèn)單位制就是公制的,不需要轉(zhuǎn)換,所以,需要修改;內(nèi)部程序默認(rèn)的單位是厘米,而公差用的是毫米,因此,Inventor0.1的原因。ToleranceSetSymmetric表達(dá)式:默認(rèn):Parameter.Param("d0").Tolerance.SetToSymmetric(0.005*2.54)修改為:Parameter.Param("d0").Tolerance.SetToSymmetric(0.005*0.1)變量:d0為參數(shù)名稱;0.005為偏差值;0.1,毫米到厘米的轉(zhuǎn)換系數(shù);Comment設(shè)置模型參數(shù)、用戶參數(shù)的注釋表達(dá)式:Parameter.Param("d1").Comment="CommentSetbyaRule"變量:d1為參數(shù)名稱;“CommentSetbyaRule”為注釋內(nèi)容SetiLogicParameterComment功能:iLogic參數(shù)的注釋表達(dá)式:Parameter.iLogicParam("StringOrBooleanParameter").Comm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論