ADAMS二次開(kāi)發(fā)-_第1頁(yè)
ADAMS二次開(kāi)發(fā)-_第2頁(yè)
ADAMS二次開(kāi)發(fā)-_第3頁(yè)
ADAMS二次開(kāi)發(fā)-_第4頁(yè)
ADAMS二次開(kāi)發(fā)-_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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)介

1、ADAMS二次開(kāi)發(fā)的筆記一、定制用戶界面1、首先要知道,再ADAMS/VIEW中,所有的界面對(duì)象都是以“層次結(jié)構(gòu)”出現(xiàn)的,并且保存在特定的模型數(shù)據(jù)庫(kù)中,在用戶制定自己的用戶界面的時(shí)候,最好將界面對(duì)象保存在一個(gè)你自己的數(shù)據(jù)庫(kù)中,創(chuàng)建數(shù)據(jù)庫(kù)的方法是:在command navigatorlibrarycreate. 如果不建立自己的數(shù)據(jù)庫(kù),則所有的界面對(duì)象都默認(rèn)的保存在GUI數(shù)據(jù)庫(kù)下。2、要正確理解“窗口”“對(duì)話框”的概念,他們是不同的一個(gè)概念。3、我們這里講的制定用戶界面,是指制作自己的菜單和對(duì)話框,通常使用菜單編輯器和對(duì)話框編輯器來(lái)完成。4、制定自己的菜單,你要明確的是:你在制定自己的菜單的時(shí)候

2、,菜單上出現(xiàn)的button的先后順序以及menu的先后順序是與你寫(xiě)菜單命令的先后順序一致的。即:是以大綱形式來(lái)表示二、菜單語(yǔ)法的解釋:1、菜單對(duì)象:菜單、按鈕(圖表按鈕、toggle button分割線(separator分別用關(guān)鍵詞: menu buttontoggleseparator.定義例子:MENU1 &my_menu2003NAME=my_menu2003HELP=A Menu TestBUTTON2 &My_button1NAME=my_button_1HELP=test of my_button_1CMD=Adams Command of my_button_1

3、Separator2BUTTON 2 &My_button2NAME=my_button_1HELP=test of my_button_1CMD=Adams Command of my_button_1Separator2MENU2 &son menu_1BUTTON3 &Son Button_1NAME=Son_Button_1CMD=Adams Command of Son Button_1BUTTON3 &Son Button_2NAME=Son_Button_2CMD=Adams Command of Son Button_2在編寫(xiě)這些命令的時(shí)候要注意

4、MENU BUTTON SEPARATOR TOGGLE這些關(guān)鍵字要大寫(xiě),另外在MENUn其中的n與MENU中間不允許有空格。所制定的菜單按鈕,都會(huì)執(zhí)行某些命令,而這些命令是靠CMD=來(lái)確定的。如果沒(méi)有命令,則這個(gè)按鈕就不會(huì)執(zhí)行命令。2、制定對(duì)話框1首先你要確定在adams對(duì)話框中可以創(chuàng)建的界面對(duì)象包括那些,一共16種,不含默認(rèn)的話有12種。2創(chuàng)造對(duì)話框的方法:可以利用對(duì)話框編輯器(toolsdialog boxcreate3之后,可以在新創(chuàng)建的對(duì)話框添加各種不同的界面對(duì)象,進(jìn)行設(shè)計(jì)布局,外觀、對(duì)話框?qū)ο蟮拇笮≌{(diào)整以及需要執(zhí)行的命令的錄入。只有輸入命令,才可以點(diǎn)擊對(duì)話框中的相應(yīng)的按鈕來(lái)執(zhí)行對(duì)應(yīng)

5、的操作。(這是在先創(chuàng)建對(duì)話框的條件下需要這樣操作,如果是先創(chuàng)建一個(gè)macro之后通過(guò)修改macro的對(duì)話框就不要這樣了4下面對(duì)利用“dialog box”來(lái)創(chuàng)建的對(duì)話框中包含的界面對(duì)象進(jìn)行一個(gè)簡(jiǎn)要地介紹: Label-在對(duì)話框中可以顯示文字或試圖像(但要注意圖像的格式Field-作用是在創(chuàng)建完對(duì)話框之后,希望操作者在其中輸入的文字或是數(shù)值。Button-激活操作;并且可以在按鈕上面書(shū)寫(xiě)文字或是添加圖像。Toggle button-開(kāi)關(guān)按鈕(也可以理解成是:勾選按鈕Separator-畫(huà)一個(gè)水平線Slider-滑動(dòng)條Option menu-從多個(gè)選項(xiàng)中選擇一個(gè)Button stack-包含多個(gè)按

6、鈕,可以通過(guò)右鍵彈出所有按鈕。Radio box-狀態(tài)按鈕Container-可添加信息。5在對(duì)話框中使用command當(dāng)你創(chuàng)建完一個(gè)對(duì)話框的時(shí)候,大多數(shù)的界面對(duì)象都對(duì)應(yīng)著一個(gè)adms/view命令,這些命令是為了完成用戶所希望的一些功能(或改變模型、或改變用戶輸入數(shù)據(jù)、或作出選擇為了使對(duì)話框中的某些界面對(duì)象與adams/view中的命令相對(duì)應(yīng),我們可以用兩種方法來(lái)得到:可以用cmd給對(duì)象創(chuàng)建命令;可以通過(guò)命令導(dǎo)向來(lái)找到所需要的命令,一旦找到這個(gè)命令你就可以在log 或是命令窗口中將他們拷貝到命令編輯框。! Adams/view的對(duì)話框在執(zhí)行命令前,是要進(jìn)行一些“文本”的替代操作。此處的文本指

7、的是:我們?cè)趧?chuàng)建對(duì)話框的時(shí)候所添加的文本。而在執(zhí)行命令的時(shí)候,adams/view用界面對(duì)象的自身屬性值來(lái)替代“文本”,并形成一個(gè)含有對(duì)話框自身屬性(不含有文本的命令。其實(shí),可以簡(jiǎn)單的理解成,用我們輸入的文本去替換那些相應(yīng)的對(duì)象來(lái)執(zhí)行命令。保存對(duì)話框:在用戶制定好自己的對(duì)話框之后,必須要保存對(duì)話框。點(diǎn)擊dialog boxexportcommand file.方便下次調(diào)用。打開(kāi)一個(gè)自己定義的對(duì)話框:toolsdialog boxdispay. Or adams/viewfileimportcommand file.宏命令的使用:1、要理解macro命令本質(zhì)也是一個(gè)命令(集。2、創(chuàng)建macro的

8、時(shí)候,首先要按“順序”列出想要執(zhí)行得adams/view命令的清單(這一點(diǎn)與創(chuàng)建菜單類似,然后按著這個(gè)順序?qū)⒚顚?xiě)成macro的形式。3、創(chuàng)建macro的時(shí)候,macro中也可以帶有參數(shù)的參數(shù)macro。所以,每次使用macrocommand的時(shí)候,都可以人為的輸入?yún)?shù)進(jìn)而將數(shù)據(jù)傳遞給macro。4、Macro command 和其他adams/view命令一樣,可以在命令窗口中輸入(F3也可以通過(guò)命令導(dǎo)航選擇。(注:所有的命令都可以有命令窗口輸入或是從命令導(dǎo)航中選擇重點(diǎn)講解利用macro edit來(lái)創(chuàng)建macro:在宏編輯器中的command編輯框中,輸入的是一后執(zhí)行該macro的一個(gè)命令標(biāo)

9、識(shí),如果使用macro的名字為命令標(biāo)示,則需要選擇User Macro Name這個(gè)選項(xiàng)。要注意的是,命令標(biāo)示必須是唯一的,數(shù)據(jù)庫(kù)中沒(méi)有的表示。宏命令中的參數(shù):1、是以$開(kāi)頭,后面這個(gè)參數(shù)的名字,可以定義多個(gè)參數(shù),也可以將一個(gè)參數(shù)定義多次。2、在執(zhí)行macro command的時(shí)候,首先在macro 參數(shù)出現(xiàn)的地方用,參數(shù)值去替代,然后執(zhí)行命令。3、例子:用macro來(lái)改變力的大小的圖標(biāo),而要改變力的大小的數(shù)值,需要定義變量。Constraint attributes constraint_name=_ .*size_of_icon=$sizeForce attributes force_na

10、me=_ .*size_of_icon=$size以上是改變力的圖標(biāo)的大小的macro command下面介紹一個(gè)改變力的大小的macro command。首先:你要用一個(gè)設(shè)計(jì)變量來(lái)表示力的大小DV_1!$size:t=realVariable modify variable_name=_ real_value=$size擴(kuò)展參數(shù)值:1、何為擴(kuò)展參數(shù)值?2、參數(shù)限定詞及其格式:1限定詞只能出現(xiàn)在“macro參數(shù)第一次出現(xiàn)的地方”。是對(duì)參數(shù)的屬性進(jìn)行控制的。2參數(shù)的限定詞包括:type range count default。其中type是用戶必須輸入的type包含:basic type dat

11、abase object typedatabase object class type其中:basic type中realintegerlocationorientationstringfunctionlist(str1,str2,file(path wildacardDatabase object type:用戶所輸入的必須是數(shù)據(jù)庫(kù)已經(jīng)存在的該類型對(duì)象的名字,而數(shù)據(jù)庫(kù)中該類型對(duì)象的名字如果沒(méi)有存在,則必須用new_ 來(lái)表示。注:一個(gè)宏參數(shù)如果他沒(méi)有限定詞qualifier,也沒(méi)有出現(xiàn)在命令行=后,則她的缺省值默認(rèn)為“字符”,當(dāng)沒(méi)有限定詞但是出現(xiàn)在=后,則該參數(shù)的類型與前面命令參數(shù)的類型相同。

12、循環(huán)命令和條件循環(huán):當(dāng)for-end循環(huán)語(yǔ)句,使表示對(duì)象的時(shí)候,要注意:此時(shí)的循環(huán)變量值的是boject中所有的type 類型的對(duì)象,也就是說(shuō)object中類型位type的對(duì)象作為循環(huán)語(yǔ)句的變量。他和for-end表示數(shù)值循環(huán)是不同的。二次開(kāi)發(fā)實(shí)例1、二次開(kāi)發(fā)通常需要三種程序文件:菜單文件、對(duì)話框文件、adams命令文件,并且除了這三個(gè)文件以外還需要一個(gè)模塊的啟動(dòng)文件和一個(gè)adams環(huán)境的初始化文件。(如何將菜單與用macro命令對(duì)話框有機(jī)的聯(lián)系起來(lái)MENU1 &locationBUTTON2 &LOCATIONCMD=interface dialog_box display

13、dialog_box=MACRO_1因?yàn)槟阋唤⒁粋€(gè)macro后,就會(huì)自動(dòng)生成一個(gè)對(duì)話框,所以,你只要做的事情只有一個(gè):就是用菜單來(lái)顯示這個(gè)對(duì)話框就可以了。設(shè)定二次開(kāi)發(fā)模塊的運(yùn)行路徑,啟動(dòng)adams/view,并調(diào)用文件對(duì)adams環(huán)境進(jìn)行二次開(kāi)發(fā)相關(guān)的初始化。Set MDI_VCJ=d:cvj-!設(shè)定二次開(kāi)發(fā)模塊的運(yùn)行路徑(在d盤的cvj文件夾下Set MDI_CMD=mdi-!啟動(dòng)adams/viewcd %MDI_CVJ%copy cvmain.cmd aview.cmd-!調(diào)用cvmain.cmd文件del aview.cmd通過(guò)以上代碼寫(xiě)成的命令cv_strat.bat的作用是:通過(guò)

14、運(yùn)行該文件來(lái)啟動(dòng)本二次開(kāi)發(fā)的模塊。對(duì)adams/view進(jìn)行初始化的命令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 coordinate_type=cartesian orientation_type=body313Macro read file

15、_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=ballloopmacMacro read file_name=(eval(.MDI.cvj_dir/”/”macros”/”/”gelash”&

16、;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”/”/”gireqcust”&Macro=gireqcust讀入菜單命令:interface menbar讀入對(duì)話框的命令:file (comma

17、nd read file_name思考:讀入的命令如何與讀入的對(duì)話框聯(lián)系起來(lái)。要注意default里面有哪些常用的命令可以用,并且還要與一些其他相似的命令進(jìn)行對(duì)比分析,分析出有哪些差異以及各自用在什么環(huán)境下。還有一點(diǎn)需要注意的是:在第11章的事例中,前面已經(jīng)定義了缺省單位和缺省坐標(biāo)系為什么還要在第29頁(yè)建立模型的時(shí)候還要設(shè)置單位和坐標(biāo)系?這里需要指出的是,前面的缺省單位和坐標(biāo)系相當(dāng)于我們?cè)诖蜷_(kāi)adams/view時(shí),如果不進(jìn)行任何操作系統(tǒng)默認(rèn)的單位和坐標(biāo)系,而后面的是相當(dāng)于我們?cè)谶M(jìn)行建模的時(shí)候,建模的基準(zhǔn)參考坐標(biāo)系,而在這里只需要定義建模的缺省坐標(biāo)系而不需要定義單位。制定菜單的時(shí)候:要注意順序

18、先建立菜單(主菜單、下拉菜單然后再建立與這個(gè)下拉菜單對(duì)應(yīng)的按鈕,之后再建立在主菜單下的另一個(gè)下拉菜單,并建立與該下拉菜單對(duì)應(yīng)的按鈕,要注意這個(gè)順序,不要一開(kāi)始把所有下拉菜單建立完之后然后再建立按鈕。換句話說(shuō),對(duì)應(yīng)的按鈕應(yīng)該在對(duì)應(yīng)的下拉菜單下建立,而不能把順序搞錯(cuò)。另外一個(gè)需要注意的是:你在建立下拉菜單和對(duì)應(yīng)的按鈕的時(shí)候,出現(xiàn)在界面上的順序是與你寫(xiě)的命令的順序是一致的。在制定菜單或是按鈕的時(shí)候,當(dāng)需要輸入該按鈕所要執(zhí)行的命令的時(shí)候,要CMD大寫(xiě),如果命令十多行的,在每一行前面都得又CMD。下面具體介紹用對(duì)話框和adams command來(lái)進(jìn)行建模的方法:等速萬(wàn)向節(jié)動(dòng)力學(xué)模型的建立,是該系統(tǒng)的技術(shù)

19、關(guān)鍵之一。在進(jìn)行建模的時(shí)候,為了保證仿真分析的真實(shí)性,萬(wàn)向節(jié)的動(dòng)力學(xué)模型的各構(gòu)建之間的相互約束沒(méi)有被定義成理想的幾何約束關(guān)系,而是被定義為基于接觸碰撞的力約束關(guān)系,即構(gòu)件之間通過(guò)接觸碰撞力和摩擦力相互約束,而不存在其它的相互關(guān)系。問(wèn)題:在對(duì)話框中出現(xiàn)了,下拉按鈕或是多選、單選按鈕的時(shí)候,如何與宏命令的參數(shù)相聯(lián)系起來(lái)?當(dāng)一個(gè)對(duì)話框建立完成之后,如何將對(duì)話框的可編輯的控件與程序變量聯(lián)系起來(lái)。我們可以在對(duì)話框的execution中,編輯命令來(lái)使選項(xiàng)按鈕所對(duì)應(yīng)的值來(lái)與變量對(duì)應(yīng)起來(lái),option button他有一個(gè)默認(rèn)的變量名位$option_i(i是按鈕的序號(hào)在編輯macro命令的時(shí)候,我們可以在c

20、ommand區(qū)域中,右擊-references可以選擇一些可以替換對(duì)象的文本$xxx.所謂替換對(duì)象的文本可以理解稱:用$xxx所可以取的值去替換$xxx。在adams/view中,所有的界面對(duì)象多是默認(rèn)存儲(chǔ)在.gui庫(kù)中。建議:當(dāng)用戶進(jìn)行一個(gè)二次開(kāi)發(fā)或者是制定自己的界面的時(shí)候,我們最好是建立一個(gè)屬于自己的數(shù)據(jù)庫(kù)來(lái)存放新的界面對(duì)象。注意;在macro編輯對(duì)話框中書(shū)寫(xiě)的command當(dāng)在修改宏的對(duì)話框的時(shí)候,可以看到此時(shí)在宏對(duì)話框修改得command區(qū)域命令的書(shū)寫(xiě)會(huì)有些不同。最明顯的就是宏參數(shù)的書(shū)寫(xiě)。替換文本的理解:1替換文本的作用是:在執(zhí)行命令的時(shí)候,以$為標(biāo)示的替換文本只是起到指明位置的作用。 在真正執(zhí)行命令的時(shí)候,替換文本竟會(huì)被替換,也就是說(shuō)用于替換文本相對(duì)應(yīng)的具體 的“值”來(lái)替代替換文本。 2)替換文本的類型: $object_name-表示的是界面對(duì)象的當(dāng)前值,也可以理解成是用于當(dāng)前界面對(duì)象所對(duì)應(yīng)的 替換文本的屬性值來(lái)替換該文本。 Field-當(dāng)前的數(shù)據(jù)區(qū)內(nèi)的內(nèi)容 Optionmenu -當(dāng)前選定的數(shù)據(jù)或數(shù)值 Radiobox-當(dāng)前選定的數(shù)值或數(shù)據(jù) Toggle buuton-當(dāng)簽訂一個(gè)開(kāi)關(guān)

溫馨提示

  • 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)論