




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ADAMS二次開發(fā)的筆記一、定制用戶界面1、首先要知道,再ADAMS/VIEW中,所有的界面對象都是以“層次結(jié)構(gòu)”出現(xiàn)的,并且保存在特定的模型數(shù)據(jù)庫中,在用戶制定自己的用戶界面的時候,最好將界面對象 保存在一個你自己的數(shù)據(jù)庫中,創(chuàng)建數(shù)據(jù)庫的方法是:在command navigatorlibrarycreate. 如果不建立自己的數(shù)據(jù)庫,則所有的界面對象都默認的 保存在GUI數(shù)據(jù)庫下。2、要正確理解“窗口”“對話框”的概念,他們是不同的一個概念。3、我們這里講的制定用戶界面,是指制作自己的菜單和對話框,通常使用菜單編輯器和對話框編輯器來完成。4、制定自己的菜單,你要明確的是:你在制定自己的菜單的
2、時候,菜單上出現(xiàn)的button的先后順序以及menu的先后順序是與你寫菜單命令的先后順序一致的。即:是以大綱形式來表示二、菜單語法的解釋:1、菜單對象:菜單、按鈕(圖表按鈕、toggle button)分割線(separator)分別用關(guān)鍵詞:menu buttontoggleseparator.定義例子:MENU1 &my_menu2003 NAME=my_menu2003 HELP=A Menu Test BUTTON2 &My_button1 NAME=my_button_1 HELP=test of my_button_1 CMD=Adams Command of my
3、_button_1Separator2BUTTON 2 &My_button2 NAME=my_button_1 HELP=test of my_button_1 CMD=Adams Command of my_button_1Separator2MENU2 &son menu_1 BUTTON3 &Son Button_1 NAME=Son_Button_1 CMD=Adams Command of Son Button_1BUTTON3 &Son Button_2 NAME=Son_Button_2 CMD=Adams Command of Son Butt
4、on_2在編寫這些命令的時候要注意 MENU BUTTON SEPARATOR TOGGLE這些關(guān)鍵字要大寫, 另外在MENUn其中的n與MENU中間不允許有空格。 所制定的菜單按鈕,都會執(zhí)行某些命令,而這些命令是靠CMD=來確定的。如果沒有命令,則這個按鈕就不會執(zhí)行命令。2、制定對話框1)首先你要確定在adams對話框中可以創(chuàng)建的界面對象包括那些,一共16種,不含默認的話有12種。2)創(chuàng)造對話框的方法:可以利用對話框編輯器(toolsdialog boxcreate)3)之后,可以在新創(chuàng)建的對話框添加各種不同的界面對象,進行設(shè)計布局,外觀、對話框?qū)ο蟮拇笮≌{(diào)整以及需要執(zhí)行的命令的錄入。只有輸
5、入命令,才可以點擊對話框中的相應的按鈕來執(zhí)行對應的操作。(這是在先創(chuàng)建對話框的條件下需要這樣操作,如果是先創(chuàng)建一個macro之后通過修改macro的對話框就不要這樣了)4)下面對利用“dialog box”來創(chuàng)建的對話框中包含的界面對象進行一個簡要地介紹:Label-在對話框中可以顯示文字或試圖像(但要注意圖像的格式)Field-作用是在創(chuàng)建完對話框之后,希望操作者在其中輸入的文字或是數(shù)值。Button-激活操作;并且可以在按鈕上面書寫文字或是添加圖像。Toggle button-開關(guān)按鈕(也可以理解成是:勾選按鈕)Separator-畫一個水平線Slider-滑動條Option menu-從
6、多個選項中選擇一個Button stack-包含多個按鈕,可以通過右鍵彈出所有按鈕。Radio box-狀態(tài)按鈕Container-可添加信息。5)在對話框中使用command當你創(chuàng)建完一個對話框的時候,大多數(shù)的界面對象都對應著一個adms/view命令,這些命令是為了完成用戶所希望的一些功能(或改變模型、或改變用戶輸入數(shù)據(jù)、或作出選擇)為了使對話框中的某些界面對象與adams/view中的命令相對應,我們可以用兩種方法來得到:可以用cmd給對象創(chuàng)建命令;可以通過命令導向來找到所需要的命令,一旦找到這個命令你就可以在log 或是命令窗口中將他們拷貝到命令編輯框。!Adams/view的對話框在
7、執(zhí)行命令前,是要進行一些“文本”的替代操作。此處的文本指的是:我們在創(chuàng)建對話框的時候所添加的文本。而在執(zhí)行命令的時候,adams/view用界面對象的自身屬性值來替代“文本”,并形成一個含有對話框自身屬性(不含有文本)的命令。其實,可以簡單的理解成,用我們輸入的文本去替換那些相應的對象來執(zhí)行命令。保存對話框:在用戶制定好自己的對話框之后,必須要保存對話框。點擊dialog boxexportcommand file.方便下次調(diào)用。打開一個自己定義的對話框:toolsdialog boxdispay. Or adams/viewfileimportcommand file.宏命令的使用:1、 要
8、理解macro命令本質(zhì)也是一個命令(集)。2、 創(chuàng)建macro的時候,首先要按“順序”列出想要執(zhí)行得adams/view命令的清單(這一點與創(chuàng)建菜單類似),然后按著這個順序?qū)⒚顚懗蒻acro的形式。3、 創(chuàng)建macro的時候,macro中也可以帶有參數(shù)的參數(shù)macro。所以,每次使用macro command的時候,都可以人為的輸入?yún)?shù)進而將數(shù)據(jù)傳遞給macro。4、 Macro command 和其他adams/view命令一樣,可以在命令窗口中輸入(F3)也可以通過命令導航選擇。(注:所有的命令都可以有命令窗口輸入或是從命令導航中選擇)重點講解利用macro edit來創(chuàng)建macro:在
9、宏編輯器中的command編輯框中, 輸入的是一后執(zhí)行該macro的一個命令標識,如果使用macro的名字為命令標示,則需要選擇User Macro Name這個選項。要注意的是,命令標示必須是唯一的,數(shù)據(jù)庫中沒有的表示。宏命令中的參數(shù):1、 是以$開頭,后面這個參數(shù)的名字,可以定義多個參數(shù),也可以將一個參數(shù)定義多次。2、 在執(zhí)行macro command的時候,首先在macro 參數(shù)出現(xiàn)的地方用,參數(shù)值去替代,然后執(zhí)行命令。3、 例子:用macro來改變力的大小的圖標,而要改變力的大小的數(shù)值,需要定義變量。Constraint attributes constraint_name=_ .*s
10、ize_of_icon=$sizeForce attributes force_name=_ .*size_of_icon=$size以上是改變力的圖標的大小的macro command下面介紹一個改變力的大小的macro command。首先:你要用一個設(shè)計變量來表示力的大小 DV_1!$size:t=realVariable modify variable_name=_ real_value=$size擴展參數(shù)值:1、 何為擴展參數(shù)值?2、 參數(shù)限定詞及其格式:1) 限定詞只能出現(xiàn)在“macro參數(shù)第一次出現(xiàn)的地方”。是對參數(shù)的屬性進行控制的。2) 參數(shù)的限定詞包括:type range
11、count default。其中type是用戶必須輸入的 type包含: basic type database object typedatabase object class type 其中:basic type中 realintegerlocationorientationstringfunctionlist(str1,str2,)file(path wildacard)Database object type:用戶所輸入的必須是數(shù)據(jù)庫已經(jīng)存在的該類型對象的名字,而數(shù)據(jù)庫中該類型對象的名字如果沒有存在,則必須用new_ 來表示。注:一個宏參數(shù)如果他沒有限定詞qualifier,也沒有出現(xiàn)
12、在命令行=后,則她的缺省值默認為“字符”,當沒有限定詞但是出現(xiàn)在=后,則該參數(shù)的類型與前面命令參數(shù)的類型相同。循環(huán)命令和條件循環(huán):當for-end循環(huán)語句,使表示對象的時候,要注意:此時的循環(huán)變量值的是 boject中所有的type類型的對象,也就是說object中類型位type的對象作為循環(huán)語句的變量。他和for-end表示數(shù)值循環(huán)是不同的。二次開發(fā)實例1、二次開發(fā)通常需要三種程序文件:菜單文件、對話框文件、adams命令文件,并且除了這三個文件以外還需要一個模塊的啟動文件和一個adams環(huán)境的初始化文件。(如何將菜單與用macro命令對話框有機的聯(lián)系起來)MENU1 &locati
13、on BUTTON2 &LOCATION CMD=interface dialog_box display dialog_box=MACRO_1因為你一建立一個macro后,就會自動生成一個對話框,所以,你只要做的事情只有一個:就是用菜單來顯示這個對話框就可以了。設(shè)定二次開發(fā)模塊的運行路徑,啟動adams/view,并調(diào)用文件對adams環(huán)境進行二次開發(fā)相關(guān)的初始化。Set MDI_VCJ=d:cvj-!設(shè)定二次開發(fā)模塊的運行路徑(在d盤的cvj文件夾下)Set MDI_CMD=mdi-!啟動adams/viewcd %MDI_CVJ%copy cvmain.cmd aview.cmd
14、-!調(diào)用cvmain.cmd文件del aview.cmd通過以上代碼寫成的命令cv_strat.bat的作用是:通過運行該文件來啟動本二次開發(fā)的模塊。對adams/view進行初始化的命令 cvmain.cmd的代碼:If cond=(!db_exists(“.MDI.cvj_dir”)Variable create variable_name=.MDI.cvj_dir string_name=(eval(“d:”/”/”cvj”)Defaults units length=mm angle=deg force=newton mass=kg time=secDefault units coo
15、rdinate_type=cartesian orientation_type=body313Macro read file_name=(eval(.MDI.cvj_dir)/”/”macros”/”mygibell”)&Macro=mygibellMacro read file_name=(eval(.MDI.cvj_dir)/”/”macros”/”tripodemac”)&Macro=tripodemacMacro read file_name=(eval(.MDI.cvj_dir)/”/”macros”/”ballloopmac”)&Macro=ballloop
16、macMacro read file_name=(eval(.MDI.cvj_dir)/”/”macros”/”/”gelash”)&Macro=gilashMacro read file_name=(eval(.MDI.cvj_dir)/”/”macros”/”/”didyn”)&Macro=gidynMacro read file_name=(eval(.MDI.cvj_dir)/”/”macros”/”/”gireqlash”)&Macro=gireqlashMacro read file_name=(eval(.MDI.cvj_dir)/”/”macros”/”
17、/”gireqcust”)&Macro=gireqcust讀入菜單命令:interface menbar讀入對話框的命令:file (command) read file_name思考:讀入的命令如何與讀入的對話框聯(lián)系起來。要注意default里面有哪些常用的命令可以用,并且還要與一些其他相似的命令進行對比分析 ,分析出有哪些差異以及各自用在什么環(huán)境下。還有一點需要注意的是:在第11章的事例中,前面已經(jīng)定義了缺省單位和缺省坐標系為什么還要在第29頁建立模型的時候還要設(shè)置單位和坐標系? 這里需要指出的是,前面的缺省單位和坐標系相當于我們在打開adams/view時,如果不進行任何操作系統(tǒng)
18、默認的單位和坐標系,而后面的是相當于我們在進行建模的時候,建模的基準參考坐標系,而在這里只需要定義建模的缺省坐標系而不需要定義單位。制定菜單的時候:要注意順序 先建立菜單(主菜單、下拉菜單)然后再建立與這個下拉菜單對應的按鈕,之后再建立在主菜單下的另一個下拉菜單,并建立與該下拉菜單對應的按鈕,要注意這個順序,不要一開始把所有下拉菜單建立完之后然后再建立按鈕。換句話說,對應的按鈕應該在對應的下拉菜單下建立,而不能把順序搞錯。另外一個需要注意的是:你在建立下拉菜單和對應的按鈕的時候,出現(xiàn)在界面上的順序是與你寫的命令的順序是一致的。在制定菜單或是按鈕的時候,當需要輸入該按鈕所要執(zhí)行的命令的時候,要C
19、MD大寫,如果命令十多行的,在每一行前面都得又CMD。下面具體介紹用對話框和adams command來進行建模的方法:等速萬向節(jié)動力學模型的建立,是該系統(tǒng)的技術(shù)關(guān)鍵之一。在進行建模的時候,為了保證仿真分析的真實性,萬向節(jié)的動力學模型的各構(gòu)建之間的相互約束沒有被定義成理想的幾何約束關(guān)系,而是被定義為基于接觸碰撞的力約束關(guān)系,即構(gòu)件之間通過接觸碰撞力和摩擦力相互約束,而不存在其它的相互關(guān)系。問題:在對話框中出現(xiàn)了,下拉按鈕或是多選、單選按鈕的時候,如何與宏命令的參數(shù)相聯(lián)系起來?當一個對話框建立完成之后,如何將對話框的可編輯的控件與程序變量聯(lián)系起來。我們可以在對話框的execution中,編輯命令
20、來使選項按鈕所對應的值來與變量對應起來,option button他有一個默認的變量名位$option_i(i是按鈕的序號)在編輯macro命令的時候,我們可以在command區(qū)域中,右擊-references可以選擇一些可以替換對象的文本$xxx.所謂替換對象的文本可以理解稱: 用$xxx所可以取的值去替換$xxx。在adams/view中,所有的界面對象多是默認存儲在.gui庫中。建議:當用戶進行一個二次開發(fā)或者是制定自己的界面的時候,我們最好是建立一個屬于自己的數(shù)據(jù)庫來存放新的界面對象。注意;在macro編輯對話框中書寫的command當在修改宏的對話框的時候,可以看到 此時在宏對話框修改得command區(qū)域 命令的書寫會有些不同。最明顯的就是 宏參數(shù)的書寫。替換文本的理解:1)替換文本的作用是:在執(zhí)行命令的時候,以$為標示的替換文本 只是起到指明位置的作用。 在真正執(zhí)行命令的時候,替換文本竟會被替換,也就是說用于替換文本相對應的具體的“值”來替代替換文本。2)替換文本的類型:$object_name-表示的是界面對象的當前值,也可以理解成是用于當前界面對象所對應的替換文本的屬性值來替換該文本。Field-當前的數(shù)據(jù)區(qū)內(nèi)的內(nèi)容Optionmenu -當前選
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鄉(xiāng)村醫(yī)生考試題庫:農(nóng)村常見傳染病防治傳染病預防知識試題
- 2025年短劇行業(yè)營銷分析報告:智AI伴飛
- 媒體信息流控制策略
- 南寧市新提拔領(lǐng)導干部任前法律知識培訓模擬試題三
- 南安市中考二??荚囌Z文試題(圖片版無答案)
- 2025年安全生產(chǎn)網(wǎng)絡(luò)知識競賽題庫及答案(90題)
- 2025年上海楊浦郵政發(fā)布崗位招聘考試筆試試題(含答案)
- 老年肺炎的護理課件
- 海洋經(jīng)濟區(qū)域競爭力分析
- 老年護理中職教學課件
- 皮膚科病人的藥物不良反應護理與預防
- 《SOP基礎(chǔ)知識培訓》課件
- 圖解《黨政機關(guān)國內(nèi)公務接待管理規(guī)定》
- 自考高級英語上冊課文中英文對照
- 郴電國際變電站一線值班員筆試
- 工業(yè)產(chǎn)品質(zhì)量安全風險管控清單
- 新時代大中小學思政課一體化建設(shè)研究
- 建設(shè)工程法定手續(xù)辦理流程圖
- 科研項目管理及科技成果申報
- 個人借條電子版模板
- 基礎(chǔ)醫(yī)學概論(基礎(chǔ)醫(yī)學概論課件)
評論
0/150
提交評論