




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章后置處理平面銑、型腔銑、固定軸曲面輪廓銑和車削加工,其操作結果是生成刀具軌跡(即刀位文件),該文件無法被數控機床識別,須將該文件轉化為機床可識別的文件格式。而不同廠商生產的機床硬件條件和數控系統不同。因此,刀具位置源文件需要經過后置處理,將刀具軌跡轉化為數控程序,以適合不同機床/控制系統的特定要求。這種根據機床參數格式化刀位文件,并生成特定機床可以識別的NC程序的過程稱為后置處理。實際生產中,數控機床的類型很多,每種類型的機床都有其獨特的硬件性能和要求,比如它可以有垂直或水平的主軸,可以2-5軸聯動等。另外,每種機床又受其控制器(controller)的控制,控制器接受刀位文件并指揮刀具的運動或其它的行為(比如冷卻液的開關),但控制器也無法接受這種未經處理的刀位文件。因此,刀位文件必須經后處理修改成適合于不同機床/控制器的特定參數。后處理最基本的兩個要素就是刀軌數據(ToolPathData)和后處理器(APostprocessor)。如圖7-1所示。
圖7-1后處理NX軟件提供了兩種后處理方法:一種是用圖形后處理模塊GPM(GraphicsPostprocessorModule)進行后置處理,另一種是用NXPOST后處理器進行后置處理。GPM后處理方法是一種傳統的方法,用GPM進行后置處理時,需要使用機床數據文件(MDF),機床數據文件包含對刀具路徑進行后置處理時所需的機床數據。NXPOST通過建立與機床控制系統相匹配的兩個文件——事件處理文件和定義文件,可以輕松完成從簡單到任意復雜機床控制系統的后處理,用戶甚至可以直接修改這兩個文件實現用戶特定的信息處理。圖形后置處理器(GPM)是一個可執行文件,其名稱為GPM.EXE。圖形后置處理器可以將機床數據文件轉換為特定格式的數控程序,從而控制特定的數控機床進行加工。機床數據文件(MachineDateFile,簡寫MDFA)是一種包括特定數控機床信息和數據程序輸出規則等內容的文件,其后綴有兩種:MDF和MDFA,其中MDF為二進制文件,MDFA為文本文件,這兩類文件都可以用圖形后置處理器進行后置處理。圖形后置處理器后置處理過程如圖7-2所示,首先在加工應用中生成刀具位置源文件(CLSF),并用機床數據文件生成器(MDFC)建立機床數據文件(MDF),然后,進入GPM模塊,對刀具位置源文件進行后置處理。GPM和MDF文件相互依賴,GPM必須根據MDF文件中的數據來設置其開關量,同時MDF文件也只能用于GPM進行后置處理,最后利用圖形后置處理器對機床數控文件進行處理,輸出特定格式的數控程序。7.3.1NXPOST后置處理器簡介
NXPOST以NXCAM中生成的零件加工刀軌作為輸入,輸出符合機床控制系統要求的NC代碼。與圖形后置處理器相比,NXPOST可直接從零件的刀具路徑中提取路徑信息進行后置處理,而不必生成刀具位置源文件,因此使用起來更方便。后置處理過程中,用戶可以通過NXPOST建立和機床控制系統相關的事件處理文件和事件定義文件,然后通過NX整合在一起,完成簡單或任意復雜機床的后處理。NXPOST通過與圖形后置處理器相似的途徑,將產生的刀具路徑轉換成指定的機床控制系統所能接收的加工指令。圖7-3后處理原理圖刀位文件(CLSF)圖形后置處理器(GPWPost)數據程序(NC)機床數據文件(MDFA)事件生成器 事件生成器(EventGenerator)是一個提取零件的刀具路徑數據的文件,它能將提取的刀具路徑數據作為事件和參數傳遞給加工輸出管理器。每一特定事件在機床運行時將導致一些特別的機床動作,存儲在與這個事件相關的參數中的信息用來進一步確定這些特別的機床動作。例如,一個“Linear-Move”事件將導致機床驅動刀具沿直線移動,而具體移動到的位置則由存儲在與此事件相關的參數X、Y、Z中的數值來進一步確定。在這個例子中,事件生成器將觸發“Linear-Move”事件,并且將代表終點位置的數據裝入相應的參數X、Y、Z,然后這些信息傳送到MOM去處理。事件處理器 事件處理器(EventHandler)是描述機床配置的兩個文件之一,是為特定機床及其控制系統開發的一套程序。它包含根據機床控制器定義的一系列事件處理指令,這些指令將定義刀軌數據如何被處理,以及每個事件在機床上如何被執行。用來定義事件處理器指令的計算機語言是TCL(Toolcommandlanguage),故該文件的擴展名為.tcl。TCL是一種解釋型的計算機語言,以其小巧、靈活、功能強大、易于擴展、易于集成而聞名。當UG/Post進行后處理時,TCL語言的解釋器充當了UG/Post的轉換器。事件定義文件事件定義文件(DefinitionFile)定義事件處理后輸出的數據格式,是包含特定機床靜態信息的文件,包括:輸出格式、有效字符(X、Y等)及一般機床屬性等。該文件的擴展名為.def。后處理用戶界面文件通過它用戶可利用PostBuilder來修改事件處理文件和事件定義文件。輸出文件
在UG/post執行時,即后處理時,用戶指定一個文件來存儲后處理生成的NC指令,這個指定的文件就是輸出文件。輸出文件的內容由事件處理器來控制,而輸出文件中NC指令的格式由定義文件來控制。7.3.2NXPOST進行后置處理NXPOST進行后置處理的步驟為:生成工件的刀具路徑;通過后處理構建器PostBuilder生成事件管理器文件和定義文件,并將生成的事件管理器文件和定義文件增添到后置處理模板中;進入NXPOST后置處理環境進行后置處理,從而生成可用于指定機床的數控程序。7.4后置處理構造器后置處理構造器(PostBuilder)是為特定機床和數控系統定制后置處理器的一種工具。它是一個圖形界面編輯工具,應用后置處理構造器可以建立兩個與特定機床相關的后置處理文件:事件管理器文件(.tcl)和定義文件(.def),同時產生一個.pui文件。后置處理構造器可以靈活定義NC程序輸出的格式和順序、程序頭尾、操作頭尾、換刀以及循環等。目前后置處理構造器可以定義下列的機床的后處理:3軸機床3軸車銑4軸帶轉臺或擺頭機床5軸帶雙轉臺或雙擺頭機床5軸帶一轉臺一擺頭機床2軸車床后置處理構建器簡介1.進入后置處理構建器在WINDOWS操作系統中,單擊“開始”→“程序”→“SiemensNX8.0”→“加工”→“后處理構造器”,即可進入“后置處理構造器”起始對話框,如圖7-9所示。圖7-9后置處理構建器對話框
在圖7-9對話框中單擊圖標,彈出如圖7-10所示對話框。新建機床后置處理文件時,首先需在對話框的PostName文本框中輸入后置處理文件名稱,然后指定后置處理輸出的單位并選取機床的類型,設置各選項后,最后單擊【OK】,進入圖7-12所示的機床后置處理參數設置對話框。圖7-10新建機床后對話框圖7-11機床對話框2.機床參數設置 如圖7-11所示的對話框,即可進行所選機床后置處理參數設置。在對話框的頂排選項中選取機床選項(MachineTool),顯示機床的相關參數。機床各參數的設置方法說明如下。(1)DisplayMachineTool(顯示機床) 單擊DisplayMachineTool按鈕,彈出所選機床類型的結構示意圖。如圖7-12所示。(2)GeneralParameters(通用參數)在圖7-11中選取該選項,可以設置機床各坐標軸的最大行程、機床原點的坐標位置、機床直線移動的最小步距、機床快速移動的最大速度等參數。圖7-12機床參數示意圖3.程序與刀具路徑(Program&ToolPath)在圖7-11最上部一排選項中,選取程序與刀具路徑選項圖標,對話框切換為如圖7-13所示形式。這里,可設置程序與刀具路徑的相關參數。(1)Program(程序) 在圖7-13所示對話框中,可設置與程序相關的參數。如程序的起始順序、操作的起始順序、刀具路徑(機床控制、刀具運動等)、操作結束順序、程序結束順序等。(2)GCodes(G代碼)單擊圖7-13中的GCodes選項,對話框切換到G代碼設置對話框,可以根據機床控制器,為各種機床運動或加工操作設置G代碼。如直線插補運動設置為G01,順圓弧插補運動設置為G02,快速運動設置為G00等。(3)MCodes(M代碼)單擊圖7-13中的MCodes選項,對話框切換到M代碼設置對話框,可以設置各種輔助功能代碼,如主軸的起停、冷卻液的開關、主軸的順時針旋轉或逆時針旋轉、刀具的換刀等。對于M代碼的分配需根據具體機床的輔助功能進行設置。(4)WordSummary(字綜合) 該選項用于綜合設置數控程序中可能出現的各種代碼。如代碼的數據類型(文本類型或數值型)、代碼符號、整數的位數、是否帶小數及小數位數等。(5)WordSequencing(字順序) 該選項設置程序段中各代碼的順序。如設置每一程序語句中的G代碼、輔助代碼、各坐標軸的坐標值等參數的順序。(6)CustomCommand(用戶命令) 該選項用于自定義后置處理命令。圖7-14機床后置處理參數設置對話框N/C數據定義 在圖7-11最上部一排選項中,選取“N/C數據定義(N/CDataDefinitions)”選項圖標,系統彈出如圖7-14所示對話框,可定義相關N/C數據。(1)BLOCK(塊) 該選項定義各種代碼和操作的程序塊。例如,輔助功能應包括哪些字符,循環鉆孔應包括哪些代碼和字符等。(2)WORD(字)該選項定義數控程序中可能出現的各種代碼及其格式。例如,坐標軸代碼、準備功能代碼、進給量代碼、刀具代碼等分別采用哪個字符表示,以及它們的格式等。(3)FORMAT(格式)該選項定義數控程序中可能出現的各種數據格式。如坐標值、準備功能代碼、進給量、主軸轉速等參數的數據格式。(4)OtherDataElements(其它數據元素)該選項定義其他數據,如程序序號的起始值、增量以及跳過程序段的首字符等。圖7-1呀5機床后蟲置處理曲參數設添置對話鄉豐框5.O港utpu攪tSe嚷ttin道gs(輸出葬設定)在圖7-11最上部煮一排選孔項中,市選取Outp插utS冒etti慮ngs圖標,弟系統彈習出如圖7-15所示的對速話框,可糧控制列表煌文件是否油輸出和輸哈入內容以仰及其它控檔制內容。(1)Lis器tin臉gF覆ile(列表達文件)輸出項屬目有X,Y,Z坐標值,婦第四、第侮五軸角度柳值,還有李轉速和進狂給。可以莊定義打印振頁的長、月寬及文件梨的后綴。(2)Oth戀er筒Opt什ion落s(其它選趟擇)“確定目”按鈕Outp圖utW呼arni窯ngM殊essa宇ge(輸出熄錯誤信南息),陡該選項版設置設寬置為ON,后置寄處理時彼輸出錯獻誤信息log文件。Disp嫁lay布Verb蜓ose寨Erro赤rMe哈ssag子e(顯示題錯誤信破息),堡該選項擁設置設咽置為ON,后置處倡理時顯示債錯誤信息既。Sou救rce釣Us盟er’張sT寸cl且fil存e(源用戶Tcl文件),鞭選擇一個Tcl源文件。Gene創rate邊Vir蛋tual河N/C很Con僑trol明ler售(VMC拴)(產生停虛擬控苦制器)葬,該選閣項設置義設置為ON,用于紹集成仿肺真與校湯驗(ISV),系統隊會另外產捐生一個*_vn扯c.t怕cl文件。圖7-16機床后置腔處理參數鏈設置對話瞇框(3)Post政Fil推ePr偏ovie敵w(文件醒預覽)在圖7-1夢1最上部次一排選蝦項中,宇選取Pos把tF翼ile滿Pr束evi快ew圖標,系搭統彈出如壤圖7-17所示的對某話框,可綱以在后處詢理文件在滴保存之前犁瀏覽定義墾文件和事澆件處理文良件。上面歌的窗口為賤改動后最生新內容,低下面的窗擊口為舊內掏容。7.5定制后處禾理7.5.目1UG棄/Pos匪t的開發蜓方法UG/P戀ost的開發,鞭其核心是TCL語言的族運用。TCL是一種壘解釋型疏的計算撞機語言檢,由Joh鄭nK蘇.O辨ust魂erh敘out于加洲伯大學伯侮克利分影校開發始成功,絲式目前由SUN微系統燃公司提略供支持五和維護倒。TCL是一款案自由軟站件,并鋪且它可牲支持Unig縮慧raph切ics扮NX當前支持餡的所有平賄臺。雖然騎本質上都催是使用TCL語言,傘但具體土實現上籌卻有兩埋種途經霸:Pos蝴tBu魂ild路er和手工編隊程Post侵Buil嶺der是UG系統為用但戶提供的參后處理器按開發工具劉。使用它周用戶只需挎要根據自較己機床的抬特點,在GUI環境下進厘行一系列塵的設置即析可完成后劫處理器的違開發。值距得一提是偷,使用Pos甜tBu皆ild儀er不僅生略成事件府處理器堤文件(*.t團cl)、定義文信件(*.撲def例),還生溜成一個深特別的壩文件(*.襯pui譽)。這個文蘭件是專供Post魄Buil巴der使用的,南記錄著關替閉Pos絲式tBu桑ild果er時的配統置,對很后處理育器來說仰,這個陶文件是走多余的培。關于Post框Buil疲der的更多信時息可參見UG幫助文易檔。手工開發鉛后處理器緩,就是直犧接用TCL語言編寫倚事件處理臥器文件(*.t挖cl)和定義文筍件(*.d劈燕ef)。這要嫩求用戶蒸具有TCL語言的扇基本知喇識,同岸時,還浴要了解UG對TCL語言的侮擴展部燙分。雖棵然手工伙開發后轉處理器昆對用戶游技能要拐求較高閃,但手霜工開發躺靈活、考方便,預開發的雙后處理炎器精煉律、易懂偏、執行波效率高滴。7.5漫.2TCL語言簡漂介TCL(Too沫lC允omm三and狡La膠ngu文age)即腳寶本命令弟語言,均它是一誓種易學串易用易剩于擴展虛的腳本萍語言,帆主要用加于發布犯命令給美一些交仔互程序攻如文本塘編輯器龍、調試覺器和shel蹈l,它有一扶個簡單的笑語法和很句強可擴充始性,可以遷創建新的抖過程以增諸強其內建他命令的能貞力。其次坐,它由作蠅為基本靈命令解膚釋器嵌賊入到工寶具(比如編辰輯器、辭調試器隸等)中的一個艱庫包組成新,可以被六嵌入應用徹程序。這個庫提供了一疼個分析器蝕,一組內念置的實用胸命令和一漸個C接口,其役中,分析鞏器用于執行壟內部命令碌的例程和達可以使之估擴充(定嚼義新的過嗓程)的庫皮函數,這個庫還嬌實現了提樂供通用的脫編程構造削的一組內各置命令,助比如變量懇、列表、俊表達式、私條件、循朋環和過程慚。單個的貍應用程序疫可以用特隊定于應用攝的命令來鞋擴展基本鼻的TCL語言;工具通衫過C接口用特浴定于工具佩的命令增轎加內置命束令。TCL在與窗口脫組件庫整響合的時候救特別有吸丑引力,它焰通過提供錄變量、過消程、表達萍式等機制橋增進了組棉件的可編控程性并允墻許用戶修拒改編程組飯件的外觀慣和動作并敵且它在交飾互式程序鐵之間提供木一個簡單舍但強力的嗚通信機制灶。7.5篇.2TCL語言簡介TCL語言有三緩個特色:(1)語法簡除單,容易焰上手;(2)TCL用來執行重與控制系忌統相關的擇程序,TCL具備足影夠的程裳序化能懶力與存擦取檔案鳥、程序彩及網絡粉的功能酸,供組牽裝既有嶄軟件組娘件以建者立符合旁需求的佛新工具謠。(3)可內嵌船到應用程敞序中,讓稠軟件使用充者透過程宅序員提供被的高階TCL指令,自棍訂應用程牙序的行為蜻。除了上述抱三個主要爺特色外,鮮下面幾點棄也是TCL語言成功廣的原因:跨平臺,憶可在各種奸系統(UNI沸X、Win濃dow析s、Maci槳ntos弦h等)執行TCL程序強大的跨字符串距處理能襲力,協守助程序抓員使用浮表示式只的規則孩或樣式投,用來煮搜尋、滅比對、盾粹取或短是取代蕩符合樣呀式的復藝雜字符啄串。可用C語言開發TCL聚Ex暈ten涂sio鞭nL彎ibr浮ary,擴充TCL的指令與帽能力。總結來克說,TCL語言就攻像是一戶瓶膠水騰一般,食只要收鑰集可運奏用的應壩用程序陳與TCL太Pa德cka伶ge,在這膜些接口辜上涂涂雨抹抹,事寫個簡聚單的TCL脖Scri表pt(配TCL指令的向集合),在短暫熊的時間內隆就可組裝而出一個新劃工具來。7.5.梯3TC粱L語法簡介1.基本役語法TCL語言的語則法實際上叫是一些TCL解釋器尖怎樣對TCL命令進蜂行分析柄的規則保的集合偵,TCL的基本劑語法類磚似于UNI過Xs堵hel延l:命令騾由用空紀格或TAB分隔的一鳥個或多個舅字段組成非。第一個畏字段是命工令的名字價,它可以吐是內置命幼令、特定撈于應用的南命令、或磁者是由一鐵系列的TCL命令組成閘的過程。獎在第一個僑單詞后面瓦的字段都硬作為參數好傳遞給命湊令。(1)注釋關于TCL的注釋有聾一個特殊洗的要求:'#'必須出四現在TCL解釋器期尾望命令的甘第一個字捆符出現的工地方,才筒被當作注門釋。例如:set服a輪1#猜No卻ta嚴co液mme亦ntset承b匯2;槽#喪thi斬si摟sa世co滑mme禮nt第一個例刪子中'#'及其后熔面的內暖容會被嚷當作set的參數欠而非注艇釋從而筋導致參餅數個數寸錯誤;虧但第二瞇個被解匪釋為注企釋,因述為'#'前面有猶一個分鏈號,而奴分號和遇換行一蔑樣被看潛作是命膀令的分鳴隔符。(2)eva尼l命令eval命令是歌一個用葉來構造傾和執行TCL腳本的命防令,其語獻法為:eval資arg趴arg喉...它可以接躍收一個或乒多個參數盒,然后把白所有的參鐵數以空格宴隔開組合戒到一起成西為一個腳革本,然后帝對這個腳持本進行求對值。(3)sou技rce命令sou績rce命令讀一將個文件并淹把這個文惑件的內容睜作為一個喂腳本進行喘求值。例側如:sour潛cee圍:/tc欺l&c/幫hell竹o.tc平l注意路徑趟的描述應視該和UNIX相同,使治用'/'而不是'\'。2.置換(Sub峽sti祥tut遵ion倘)set嘉x酷10set孟y披100創+故x上面命令符執行后,y的值是“100茫+熄x”而不是蘭我們期連望的110。這是因祥為TCL解釋器存在分析錦命令時校,把所施有的命援令參數喝都當作瞎字符串寸看待,鬼所以x被看作了憑字符串“100默+x”的一部分叼。如果我躺們想使用x的值'10',就必須疑告訴TCL解釋器不:我們壯在這里資期望的書是變量x的值,而呆非字符'x'。怎么尚告訴TCL解釋器呢隙,這就要笨用到TCL語言中吩提供的趨置換功轎能。TCL提供三種耳形式的置炒換:變量攪置換、命配令置換和略反斜杠置董換。每種巷置換都會益導致一個身或多個單膝詞本身被介其他的值秋所代替。史置換可以處發生在包惡括命令名孟在內的每畏一個單詞強中,而且江置換可以握嵌套。(1)變量醋置換(var男iab甘le功sub崇sti模tut刺ion)變量置換艱由一個$飼符號標記響,變量置鹽換會導致茶變量的值撐而非變量貢(標識符軍)本身被鋼插入到字仁符串中。set層x摸10set甘y10娃0+客$x這時,y的值還不汪是我們想漠要的值110,而是10+1衛00,因為TCL解釋器把10+1郊00看成是一紡個字符串炎而不是表薪達式;y要想得到銀值110,還必壘須用命齊令置換疾,使得TCL會把10+次100看成一個泊表達式并耍求值。(2)命令斯置換(com匙man宰ds畏ubs絲式tit唉uti塵on)命令置糟換是由[]括起來的TCL命令及其謀參數,命持令置換會唇導致某一承個命令的廟所有或部買分單詞(蛙參數)被儲另一個命雅令的結果告所代替。set甚x10set個y國[ex衛pr客100現+$x撒]這時,y的值就是110了。這里殘當TCL解釋器遇美到字符'['時,它就吵會把隨后偶的exp劫r作為一個歐命令名,喇從而激活惰與expr對應的C/C+洽+過程,錫并把exp廊r命令中變怒量置換后愛得到的'10+責110'傳遞給機該命令播過程進堅行處理封。注意,[]中必須是搞一個合法早的TCL腳本,長份度不限。[]中腳本磚的值為被最后一臨個命令昨的返回舒值。有了命令恨置換,實彼際上就表酸示命令之環間是可以量嵌套的,孤即一個命耳令的結果年可以作為柿別的命令炒的參數。(3)反斜杠屑置換(back壁slas害hsu萄btit歉utio牢n)TCL語言中焦的反斜稼杠置換快類似于C語言中反城斜杠的用圖法,主要棄用于在單壯詞符號中酸插入諸如鏟換行符、渾空格、[、$等被TCL解釋器當嗓作特殊符認號對待的楚字符。例搬如:set參msg吩mult鴨iple應\sp煩ace如果沒艱有'\'的話,TCL會報錯,鋪因為解釋燒器會把這閃里最后兩快個單詞之醋間的空格德認為是分歡隔符,于私是發現set命令有墻多于兩辱個參數則,從而況報錯。遍加入了'\'后,空格犯不被當作袖分隔符,'mul丸tipl抬esp裁ace'被認為是疏一個單詞(wo振rd)。(4)雙引偏號和花幕括號除了使你用反斜尾杠外,TCL提供另拿外兩種疏方法來減使得解蒸釋器把校分隔符葡和置換程符等特爆殊字符簽當作普資通字符照,而不紅作特殊裂處理,黨這就要頂使用雙瘡引號“勿”和花較括號{}。TCL解釋器逗對雙引恒號中的毯各種分檔隔符將鈴不作處漂理,但單是對換篇行符及妨$和[]兩種置換眨符會照常雙處理。而昂在花括號社中,所有躲特殊字符窩都將成為待普通字符揮,失去其若特殊意義債,TCL解釋器不目會對其作價特殊處理鉛。TCL變量TCL只支持寫一種數飲據類型儀:字符嚼串(stri劍ng)。所有倍的命令,朱命令的所扇有的參數料,命令的繼結果,所炕有的變量匆都是字符保串。TCL變量根瓶據其結鑄構的復腿雜程度址分為“圓簡單變嫂量”和怨“數組款變量”屆兩類。1.簡單變報量一個TCL的簡單漿變量包描含兩個淘部分:晉名字和咐值,其滾中名字蝦和值都薯可以是巨任意字喪符串。雹不過為勁了更好節的使用佩變量置俯換功能沿,變量寒名最好曠按C\C雞++語言中療標識符攪的命名組規則命蛋名。這桿是因為TCL解釋器互在分析另一個變束量置換勺時,只膛把從$生符號往姻后直到選第一個李不是字險母、數容字或下脂劃線的怪字符之壘間的單究詞符號孩作為要塑被置換死的變量生的名字消。例如:set墾a產2set壤a.1次5set服b$a劫.1在最后犧一個命幟令行,南我們希票望把變戲量a.1的值付須給b,但是TCL解釋器在虎分析時只恭把$符號之裝后直到遺第一個切不是字銳母、數勵字或下繞劃線的適字符(這里是'.')之間的單翅詞符號(這里是'a'抄)當作要投被置換譽的變量檔的名字游,所以TCL解釋器望把a置換成2,然后把字彩符串“2.1”付給變搬量b。這顯怠然與我滴們的初惰衷不同永。當然佩,如果栽變量名狹中有不勇是字母掏、數字杰或下劃楊線的字找符又要秘用變量均置換,肌可以用儀花括號廈把變量劑名括起裁來。例憶如:set遣b${殿a.1}2.數組變筐量數組是一趕些元素的淡集合。TCL的數組艙和一般構編程語戀言中的匙數組有正很大的雅區別。浩在TCL中,不討能單獨淘聲明一荷個數組王,數組咸只能和麻數組元任素一起泡聲明。踐數組中娃數組元曬素的名留字包含舟兩部分仙:數組箭名和數烏組中元問素的名雁字,TCL中數組元企素的名字泄(下標)豪可以為任箭何字符串略。例如:set拼day(瓦Mond銀ay)疤1set止da扎y(T佩ues炕day拌)2第一個命靈令生成一并個名為day的數組蠶,同時楊在數組笛中生成錯一個名濤為Mon窮day的數組元栽素,并把才值置為1,第二億個命令耍生成一敢個名為Tue振sda挺y的數組餅元素,盾并把值素置為2。在數組元它素的置換折中,除了容有括號之白外,數組膝元素的置齒換和簡單失變量類似濾。例如:set宜aM塑ond趨ayset肥day優(Mo界nda幻玉y)贏1set錢b$婦day顏(Mo脖nda融y)傲//努b的值為1,即day(緩Mond蹲ay)的值。set灶c昌$day尿($a)棟//c的值為1,即day犯(Mo儀nda籍y)的值。3.相關指桑令(1)set指令:TCL的變量可如以隨時建性立不用事鉛先宣告,冷變量名稱戀的取法也擋沒有任何著限制,所廊以可以使斜用任何字醉符來為變照量命名,嗓甚至變量抹名和指令腔名稱相同液也沒問題景。使用時度只有一點死要注意的狠就是TCL是大小種寫有區益別的語同言。通宗常,我仍們以set指令來堂設定變祥量值:set菌x5set徹y陽6set南PI3胃.14set炮PI*2椒6.2尋8;#注意!變消量名稱是PI*2puts廢$PI蠻*2set美PITCL的set指令除滿了有設腥定變量君值的用輪途外,蹤蝶也可以您用來取管出變量指的內容戒,如上度列程序準最后一糞行使用set指令取出PI的值(注意!量這邊不否用在變芳量名稱布前加上$符號)。(2)uns嘉et指令用康來刪除被一個或首多個變祝量,來何釋放內逆存空間釘:unse衛tx淚yPITCL變量TCL只支持一命種數據類遲型:字符衰串(str湊ing)。所有廢的命令,技命令的所筒有的參數替,命令的脾結果,所喬有的變量五都是字符餅串。TCL變量根狡據其結凝構的復侍雜程度腿分為“容簡單變定量”和餃“數組妹變量”結兩類。1.簡單變弄量一個TCL的簡單變采量包含兩事個部分:老名字和值裁,其中名剃字和值都愛可以是任沉意字符串遇。不過為餐了更好的星使用變量袖置換功能鬧,變量名州最好按C\C關++語言中緒標識符姓的命名早規則命所名。這躍是因為TCL解釋器在求分析一個仙變量置換誦時,只把嫌從$符號見往后直到祖第一個不苗是字母、沃數字或下菌劃線的字迫符之間的關單詞符號胸作為要被比置換的變既量的名字油。例如:set羊a揀2set謠a.1唯5set誓b攔$a.強1在最后粥一個命漫令行,痕我們希嘩望把變準量a.1的值付給b,但是TCL解釋器由在分析憂時只把$符號之后允直到第一或個不是字胖母、數字貼或下劃線儀的字符(這里是'.')之間的腥單詞符疫號(這里是'a'業)當作要值被置換茫的變量酷的名字時,所以TCL解釋器蠅把a置換成2,然后把字菜符串“2.1”付給變約量b。這顯榆然與我挪們的初染衷不同休。當然儉,如果抱變量名察中有不假是字母忙、數字麗或下劃恢線的字妙符又要短用變量噴置換,割可以用番花括號會把變量災名括起感來。例拔如:set綱b${愛a.1}2.數組變草量數組是華一些元呢素的集遵合。TCL的數組和跑一般編程需語言中的詳數組有很蘇大的區別傾。在TCL中,不能丈單獨聲明輝一個數組閑,數組只陜能和數組貍元素一起嫂聲明。數俱組中數組波元素的名霉字包含兩鎮部分:數已組名和數轉組中元素池的名字,TCL中數組詞元素的碰名字(暗下標)巧可以為較任何字遵符串。例如:set芬day(押Mond最ay)寶1set彈da早y(T援ues楚day舊)2第一個命梁令生成一母個名為day的數組,辦同時在數故組中生成閑一個名為Mond耍ay的數組泛元素,敞并把值已置為1,第二個虎命令生成作一個名為Tues色day的數組袖元素,資并把值續置為2。在數組汽元素的矮置換中壤,除了帆有括號況之外,喊數組元臉素的置個換和簡沈單變量末類似。泰例如:set荷a犁Mond桶ayset腸da蠟y(Mo鄭nday舟)用1set儉b$炸day曾(Mo窄nda挺y)斯//滲b的值為1,即day(笛Mond鋼ay)的值。set麻c京$day母($a)雨//c的值為1,即day環(Mo窩nda賀y)的值。3.相關賀指令(1)set指令:TCL的變量可幕以隨時建汪立不用事需先宣告,貍變量名稱高的取法也儲沒有任何振限制,所拘以可以使瓶用任何字嘩符來為變艦量命名,濾甚至變量保名和指令穗名稱相同雕也沒問題友。使用時消只有一點門要注意的送就是TCL是大小寫霧有區別的摧語言。通鴿常,我們役以set指令來獎設定變索量值:set品x腔5set慰y填6set月PI3異.14set勝PI單*2壞6.2趣8;#注意!繡變量名辜稱是PI*廢2put露s$診PI*品2set消PITCL的set指令除了持有設定變兄量值的用牌途外,也袋可以用來殊取出變量要的內容,害如上列程鎖序最后一司行使用set指令取洲出PI的值(注意!計這邊不菊用在變瘋量名稱搞前加上$符號)。(2)unse物t指令用來貫刪除一個灶或多個變丘量,來釋移放內存空吳間:unse涂tx耕yPI7.5住.5數據型顧態TCL語言的基垂本數據型袖態有:stri刺ng、list、arr析ay、hand熄le(不經字常使用煩,不作敞介紹)結。1.stri款ng字符串圓數據型勿態字符串患是TCL語言最基鼻本的數據斃型態,常笛見的字符錯串處理指會令有:stri腸ng、app陣end、form使at、scan以及bina冶ry。(1)str捉ing指令語法:str須ing贏su斯bcm和da飼rg滋[ar慎g..且.]str儉ing命令具史有強大沉的操作芳字符串嗓的功能,并通過其融中的subc摸md來區別蛛具體將液要執行趙的stri庸ng操作。他福們中的一惠些如下:str制ingleng商thstr盲ing:傳回字清符串的字脅符數str季ing斑ra伯nge寒st禽rin隆gij:取出str脅ing字符串中歪從i到j位置的芒字符str攜ing裳in勤dex梁st歉rin油gcha辭rIn善dex:傳回inde耽x位置所在考的字符str湯ing幟to從low寫er融str身ing基[f蝦irs腹t]錢[la戲st]:將所頁定義的封字符串瓜范圍中碎之字符甘轉換為判小寫字清符str商ing翁re于pla動ce近str雖ing怪fi暢rst平la稀st撐[ne標wst怠rin追g]:以空拜字符串融或new紡str豈ing取代指里定范圍拘的字符叢串str歷ing杰eq誘ual便[-蹦noc沙ase戀][清-le氏ngt按hi浴nt]常st值rin忍g1盈str飲ing眼2:比較str董ing漏1和stri廳ng2的內容歇,若相遺同傳回1,否則它傳回0stri拔ngm螞atch固[-n講ocas戚e]p稈atte至rns康trin屆g:如果patt誕ern匹配stri戲ng,那么返疊回1,否則返陷回0str壘ing唱co邁mpa劈燕re畢[-n屢oca熊se]沙[-計len長gth經in彈t]播str泄ing窩1s輝tri討ng2:如果有-len輛gth參數,壯那么只輸比較前int個字符stri籍ngf看irst逐str薯ing1高str跌ing2涂[st哭arti賽ndex游]:在str逗ing葬2中從頭查懸找與stri闖ng1匹配的富字符序慨列,如池果找到切,那么游就返回湊匹配的頂第一個活字母所程在的位祝置(0-b只ased奧)。如果沒撓有找到,頸那么返回-1str顛ing員tr漢im恰str龍ing渴[c蠅har母s]返回值領為:從str毅ing字符串師的首尾艇刪除掉墻了字符胳集合cha哀rs中的字符凍后的字符字串。如果喂沒有給出cha戒rs,那么將浴刪除掉spac馬es、tabs、newl信ines、car膚ria冤ge嗓ret尼urn挪s這些字符(2)appe患nd指令app雨end指令用來圾將新的項溪目附加到餃指定變量強的內容后伸。例:%s艙et紅foo凡ri騎ckrick%a芝ppe魂nd股foo首i卵lov傭ey乖ourick逮ilov持eyou(3)form胸at指令與C語言中的pri磚ntf十分相乒似的指舅令,form熄at指令依據醉指定的格茅式將字符惑串格式化證。for制mat喚sp仍ec艙val它ue1相va蝦lue袖2…(4)scan指令與C語言中的scan惱f十分相似羞的指令,scan指令依鞭據指定形的格式貪化條件患剖析字控符串并絡將結果秘放入變尤量中。scan吹str奴ing指form練at?畫varN御ame?蜻?va棉rNam旱e?錫…(5)bina傭ry指令bin刮ary惡fo亂rma梨tt暗emp搬lat膛ev例alu刻e?日val干ue鄉豐….?bina淺rys代can朝valu雅ete岸mpla俗tev昆aria鬧ble首?var罩iabl鑼e…?bina燥ry指令比采較復雜數,只需餓看幾個bin類ary指令常聲用的用宣法即可使用c為模板(tem除plat哨e),將數薦值97格式化為ASCI搏I字符:%b斬ina棚ry拜for救mat肚c雀97=>a使用c為模板(te何mpl大ate天),將字夫符6的ASC修II值讀進var1變數中息:%s柔et愚inp竊ut結6%bi窩nary懷sca收n$i逢nput予cv喘ar1%s虎et封var躲1=>被542.lis招t串行數據請型態list這個概封念在TCL中是用貌來表示底集合的愚。TCL中lis復t是由一堆虹元素組成僚的有序集咬合,lis紛t可以嵌套宣定義,lis沫t每個元素期可以是任欠意字符串昆,也可以吼是list。TCL提供了很耍多基本命裁令對lis然t進行操役作:(1)list指令語法:lis游t[鎖va派lue如va糟lue蛾...她]:這個命挎令生成一階個list,list的元素桐就是所雁有的valu貝e。(2)conc乓at指令語法:conc刺atl闖ist己[lis遣t...件]:這個命豆令把多個lis列t合成一易個list。(3)llen袋gth指令語法:llen懲gth皇list:返回lis泊t的元素昨個數。(4)lin羽dex指令語法:lind態exl際ist循inde駱x:返回list的第ind雖ex個(0-料bas蔥ed)元素。(5)lra址nge指令語法:lran筍gel活ist濤firs厘tla愉st:返回list的第firs依t(0零-bas奸ed)到第last暑(0-紡base績d)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藻類苔蘚測試題及答案
- java設計面試題及答案
- 酒店實習面試題及答案
- 2025年餐飲行業會員精細化運營與顧客滿意度提升策略報告
- 吉他彩色線描課件
- 2025年高端定制農產品標準化生產技術與應用報告
- 湖南省衡陽市2025年中考二模道德與法治試卷(含答案)
- 元宇宙社交平臺虛擬現實教育游戲化趨勢:2025年用戶體驗與教育效果研究
- 慢阻肺的護理查房模板
- 實驗玻璃器皿基礎知識
- 浙江開放大學2025年《社會保障學》形考任務4答案
- 醬料研發知識培訓課件
- 2025核輻射突發事件放射性污染人員洗消流程及技術要求
- 湖北省黃岡市黃梅縣2023-2024學年六年級下學期語文期末質量監測試卷(含答案)
- 醫療廢物處置項目可行性研究報告(范文)
- 七大浪費培訓
- 針灸養生推拿培訓課件
- 南岸區小升初試題及答案
- 監護人安全培訓試卷(答案)
- 小學綜合實踐活動與勞動教育有效整合的策略研究
- 《中國慢性阻塞性肺疾病基層診療與管理指南(2024年)》解讀課件
評論
0/150
提交評論