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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ī)則語(yǔ)法 15If-Then-Else語(yǔ)句 15ElseIf語(yǔ)句 17SelectCase語(yǔ)句 19While語(yǔ)句 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ì)軟件提出了越來(lái)越高的要求,這種設(shè)計(jì)意圖等信息不能清晰、直接表達(dá)的缺陷,在設(shè)計(jì)修改、設(shè)計(jì)管理、設(shè)計(jì)重用中,體現(xiàn)地越來(lái)越明顯。4040%對(duì)已20%是完全新的設(shè)計(jì)【1】,正因?yàn)槿绱耍O(shè)計(jì)重用已成為近十年的一個(gè)研究領(lǐng)域,而研究的難點(diǎn)之一,就是當(dāng)前的CAD系統(tǒng)不能很好地表達(dá)設(shè)在這樣的需求下,InventoriLogic被研發(fā)出來(lái),到目前為止,剛剛發(fā)布過(guò)兩個(gè)版本,InventoriLogic2009和InventoriLogic2010,它通過(guò)新的技術(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ì)過(guò)程中,對(duì)模型的一些手動(dòng)操作,由iLogic自動(dòng)完成。iLogic是通過(guò)調(diào)用自身的函數(shù)來(lái)完成這些操作,所以,它能夠完成哪些操作、不能完成哪些操作,主要取決于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ò)規(guī)則,來(lái)改變?cè)O(shè)計(jì)的新理念,就稱為規(guī)則驅(qū)動(dòng)設(shè)計(jì)(RDD:RulesDrivenDesign),RDDInventoriLogic工作的概念依據(jù),iLogic的絕大部分功能,都是通過(guò)運(yùn)行一個(gè)又一個(gè)的規(guī)則來(lái)實(shí)現(xiàn)的!3D模型的參數(shù),所以,國(guó)外有人說(shuō),InventoriLogic3D參數(shù)化設(shè)計(jì)的橋梁(iLogicisbridgingthegapbetween3-Dparametricdesignandknowledge-basedengineering)。InventoriLogic對(duì)學(xué)習(xí)者的要求需要熟悉Inventor的基本操作。InventoriLogic2009和InventoriLogic2010都InventorInventor的基本操作、常見的概念。iLogiciLogic提供的函數(shù)和一些關(guān)鍵詞來(lái)定義的,但是關(guān)鍵詞比較少,只有幾個(gè),很容易掌握;而每個(gè)函數(shù)的語(yǔ)法也很簡(jiǎn)單,容易理20200多個(gè),不過(guò),常用函數(shù)比較少,而且Inventor中常用的一些單詞進(jìn)行分類,能很快的找到所需要的函數(shù)。當(dāng)然,如果有編程基礎(chǔ),學(xué)習(xí)起來(lái)會(huì)更快、更容易。第二章InventoriLogic的初體驗(yàn)——基礎(chǔ)知識(shí)介紹本章將會(huì)定義、運(yùn)行一個(gè)簡(jiǎn)單的規(guī)則,介紹在該過(guò)程中涉及到的iLogic的基礎(chǔ)知識(shí):界面、參數(shù)編輯器、規(guī)則編輯器、規(guī)則的定義、保存、運(yùn)行等,在最后一節(jié)還將介紹以下iLogic中的語(yǔ)法。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ì)其中一些名詞的說(shuō)明:標(biāo)記欄(Key):僅僅為了把參數(shù)分成兩類,標(biāo)記的和無(wú)標(biāo)記的,用于參數(shù)過(guò)濾器顯示標(biāo)記的參數(shù)、無(wú)標(biāo)記的參數(shù)及時(shí)更新:參數(shù)的值被改變時(shí),立即根據(jù)參數(shù)的新值,進(jìn)行模型更新刷新參數(shù)表:從模型中重新讀取各個(gè)參數(shù)的值切換顯示方式:控制參數(shù)編輯器的顯示方式——收縮顯示和擴(kuò)展顯示參數(shù)過(guò)濾器:用于控制參數(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ù)類型說(shuō)明:,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ī)則編輯器界面的說(shuō)明:第一眼看去,界面貌似很復(fù)雜,實(shí)則不然!其實(shí),最核心、也最簡(jiǎn)單的就是那一片空白——“規(guī)則代碼編輯區(qū)”,可以在里面編輯代碼;因?yàn)槭菍?duì)模型的編輯,經(jīng)常用到零部件的參數(shù)、特征等信息,于是在上邊安排了“模型顯示區(qū)”,它的主體就是Inventor瀏覽器內(nèi)的模型樹,老朋友了,不陌生!編輯規(guī)則,經(jīng)常用到函數(shù),誰(shuí)也不能記住那么多的函數(shù),于是,左邊安排了“iLogic函數(shù)區(qū)”,便于使用函數(shù)的時(shí)候,就地查找!最上面的一些標(biāo)簽,并不常用,暫時(shí)不管它;最下面是一些語(yǔ)法中常用的幾個(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)原來(lái)停留的地方,出現(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ī)則語(yǔ)法)的標(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ā)出來(lái),對(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)行”,則可以通過(guò)前面介紹的方法手動(dòng)運(yùn)行。規(guī)則的保存當(dāng)我們編輯好“驅(qū)動(dòng)顏色的規(guī)則”,點(diǎn)擊Inventor的保存按鈕,在保存零件1.ipt的同時(shí),也完成了對(duì)規(guī)則的保存。但是,規(guī)則被保存到哪里了?規(guī)則就保存在零件ipt之中,也就是說(shuō),規(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ī)則語(yǔ)法iLogic編寫規(guī)則,一是要掌握語(yǔ)法,二是要掌握函數(shù),而語(yǔ)法很簡(jiǎn)單,下面即將介紹,至于函數(shù),由于其個(gè)數(shù)較多,下一章予以專門介紹。本節(jié)將介紹選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)語(yǔ)句,選擇結(jié)構(gòu)主要有If-Then-Else、ElseIf、SelectCaseWhile語(yǔ)句,下面予以分別介紹。If-Then-Else語(yǔ)句請(qǐng)看If-Then-Else邏輯結(jié)構(gòu)圖:上一句True條件表達(dá)式False下一句一個(gè)或多個(gè)語(yǔ)句一個(gè)或多個(gè)語(yǔ)句If上一句True條件表達(dá)式False下一句一個(gè)或多個(gè)語(yǔ)句一個(gè)或多個(gè)語(yǔ)句句If-Then-Else邏輯結(jié)構(gòu)圖TrueFalse,然后根據(jù)返回值決定執(zhí)行那些語(yǔ)句。If-Then-Else語(yǔ)句的格式:If<條件表達(dá)式Then<如果條件表達(dá)式正確,執(zhí)行語(yǔ)句>Else<如果條件表達(dá)式不正確,執(zhí)行語(yǔ)句>EndIfIf-Then之間的條件表達(dá)式正確時(shí),ThenElseIf-Then之間的表達(dá)式不正確時(shí),ElseEndIf之間的語(yǔ)句被執(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語(yǔ)句還有單行格式(EndIf):If<條件表達(dá)式>Then<若條件表達(dá)式正確,執(zhí)行語(yǔ)句>Else<若條件表達(dá)式不正確,執(zhí)行語(yǔ)句>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è)語(yǔ)句If上一句True條件表達(dá)式False下一句一個(gè)或多個(gè)語(yǔ)句If-Then語(yǔ)句邏輯結(jié)構(gòu)圖If-Then語(yǔ)句的格式:If<條件表達(dá)式Then<如果條件表達(dá)式正確,執(zhí)行語(yǔ)句>EndIfElse即可,我們?cè)凇邦伾?qū)動(dòng)的規(guī)則”中就是這樣做的,所以,這里就不再舉例了。ElseIf語(yǔ)句ElseIf語(yǔ)句的邏輯結(jié)構(gòu)圖:上一句True條件表達(dá)式1上一句True條件表達(dá)式1FalseTrue條件表達(dá)式2FalseTrue條件表達(dá)式3 False下一句語(yǔ)句4語(yǔ)句3語(yǔ)句2語(yǔ)句11True1,如果不正確,返回False2True2,如果不正確,返回False,再次進(jìn)入對(duì)下一個(gè)表達(dá)式的判斷……ElseIf語(yǔ)句的格式:<1Then1正確,執(zhí)行語(yǔ)句1><2>Then2正確,執(zhí)行語(yǔ)句2><3>Then3正確,執(zhí)行語(yǔ)句3>Else4>EndIf說(shuō)明:學(xué)習(xí)If-Then-Else之后,ElseIf的邏輯結(jié)構(gòu)關(guān)系不難明白,語(yǔ)句格式也容易理解;同樣,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語(yǔ)句Case語(yǔ)句的邏輯結(jié)構(gòu)圖:上一句上一句SelectCase語(yǔ)句情景表達(dá)式情景1情景2情景3其它情景下一句語(yǔ)句4語(yǔ)句3語(yǔ)句2語(yǔ)句1當(dāng)程序執(zhí)行SelectCase語(yǔ)句時(shí),根據(jù)情景表達(dá)式的值,找到對(duì)應(yīng)的情景代號(hào),執(zhí)行相應(yīng)的語(yǔ)句。SelectCase語(yǔ)句格式:SelectCase<情景表達(dá)式>情景列表1>1>情景列表2>執(zhí)行語(yǔ)句2>情景列表3>執(zhí)行語(yǔ)句3>CaseElse執(zhí)行語(yǔ)句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語(yǔ)句Case語(yǔ)句的邏輯結(jié)構(gòu)圖:上一句上一句True條件表達(dá)式False語(yǔ)句下一句True,執(zhí)行語(yǔ)句,然后再次判斷條件表達(dá)式,如果False為止。While語(yǔ)句的格式:While<條件表達(dá)式><如果條件表達(dá)式正確,執(zhí)行語(yǔ)句>EndWhileWhile語(yǔ)句格式比較簡(jiǎn)單,直接舉例說(shuō)明,如: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)鍵詞我們沒(méi)有特別介紹,因?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ī)則中也修改組件名。語(yǔ)言問(wèn)題iLogic目前還不支持全中文,盡管有些地方可以用,比如,在第二章創(chuàng)建的“驅(qū)動(dòng)Inventor上面不能運(yùn)行,但是,如果把紅色、黃色、灰色改成Red、Yellow、Gray,那么,規(guī)則在Inventor中英文版上都能夠運(yùn)行!如果參數(shù)全英文,iLogic功能上是沒(méi)什么問(wèn)題,但給我們中國(guó)的用戶又帶來(lái)一些不便,鑒于此,在必要的時(shí)候,會(huì)本教程給出中英文的對(duì)照,在保證功能的前提下,盡量方便我們中國(guó)的用戶。關(guān)于函數(shù)和參數(shù)的界面簡(jiǎn)介:請(qǐng)看下圖:通過(guò)函數(shù)類別、函數(shù)名稱,找到需要的函數(shù),雙擊函數(shù)名稱,編輯區(qū)自動(dòng)出現(xiàn)函數(shù)表達(dá)式;用光標(biāo)選中函數(shù)表達(dá)式中的參數(shù)名稱,通過(guò)模型參數(shù)表、iLogic參數(shù)表、用戶參數(shù)表等不同的參數(shù)表,在相應(yīng)的參數(shù)表內(nèi)找到需要的參數(shù),雙擊參數(shù)名,則自動(dòng)替換函數(shù)表達(dá)式內(nèi)選中的參數(shù)名。iLogic的主要函數(shù)。通過(guò)零件學(xué)習(xí)函數(shù)iLogic的函數(shù)中,函數(shù)名稱含有(ass’y)的,只能用在部件中,其余的零、部件中均可應(yīng)用。1.iptiLogicTreeEditor,如下圖所示:Indocument8個(gè)規(guī)則,External19ifx,如下圖所示:在Comment里面,說(shuō)明了該函數(shù)驅(qū)動(dòng)哪些規(guī)則,也就是說(shuō),修改這個(gè)參數(shù),會(huì)使哪些規(guī)則自動(dòng)comment5、6、8External0,這就說(shuō)明,這些規(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ù)的名稱;說(shuō)明:(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,的值還是原來(lái)的值,可能不是列表中的值。d1當(dāng)前的值,由于這時(shí)第一句、第二句已經(jīng)運(yùn)行過(guò),d1的值如果不是列表中的值,那它只能取默認(rèn)值,如果是,d1本身的值不變。其功能是:為參數(shù)定義一個(gè)取值列表,并對(duì)參數(shù)進(jìn)行賦值。SetValueOptions(Off)MultiValue.SetList()進(jìn)行設(shè)置,允許參數(shù)值不是取值列表中的值變量:False常量,不用修改說(shuō)明:這是Mulitvalue多值函數(shù)的默認(rèn)設(shè)置,即允許參數(shù)等于取值列表之外的數(shù)值,請(qǐng)看下圖:fgfg22并不是取值列表中的值。GetList將取值列表賦值給一個(gè)數(shù)組表達(dá)式:valuesMultiValue.List("d0")變量:d0是具有取值列表的參數(shù)說(shuō)明:values是個(gè)數(shù)組,數(shù)組的第nvalues(n-1)SetListfromArrayList通過(guò)數(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)也可以是=、>=最接近的值;如果沒(méi)有,返回程序語(yǔ)言中的常量"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ù)等;說(shuō)明:例如,運(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ù)名稱;說(shuō)明:在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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論