




已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ACIS基礎(chǔ)培訓(xùn)課程安排(第二天),細(xì)節(jié):ACISScheme編程,初始化acisinit.scm布爾類型Boolean字符串類型String列表類型List列表操作Listoperation條件語句ConditionalStatement循環(huán)語句IterationStatement,初始化:acisinit.scm,Scheme程序運(yùn)行時首先讀acisinit.scm文件,然后執(zhí)行該文件中的配置。由于該文件中需要調(diào)用其他相關(guān)文件,如果這些相關(guān)文件在其定義的路徑“l(fā)oad-path”中沒有找到,那么應(yīng)用程序?qū)⒎祷劐e誤環(huán)境變量“A3DT”和“ARCH”需要事先定義Acisinit.scm允許定義和執(zhí)行指定的命令,布爾類型:Boolean,Scheme提供特定的符號來表示布爾值#t-true#f-false可以用在條件語句或循環(huán)語句中,字符串類型:String,字符串類型(String)常量用雙引號包含“sampletext”換碼符是右斜杠“”“C:testsample.sat”所有的路徑都用左斜杠來表示,從而支持Windows和Unix,列表類型:List,(list)創(chuàng)建一個列表對象acis(list“abc”123(and#t#f)(“abc”123#f)Scheme列表對象包括Scheme對象,列表操作(ListOperation),(car)返回列表中的第一個Scheme對象acis(definemylist(list“abc”123#t#f)mylistacis(carmylist)“abc”(cdr)返回列表中除第一個外其余Scheme對象acis(definemylist(list“abc”123#t#f)mylistacis(cdrmylist)(123#t#f)car和cdr也可以結(jié)合使用,列表操作(ListOperation),(length)得到列表中元素的個數(shù)acis(length(list“abc”123“xyz”567)4(list-ref)返回指定序號的元素(從“0”開始)acis(definemylist(list“abc”123“xyz”567)mylistacis(list-refmylist0)“abc”acis(list-refmylist2)“xyz”,條件語句(Conditionalstatement),(cond)條件語句(cond(conditioncommand)(conditioncommand)(elsecommand)條件運(yùn)算符(或命令)=,=negative?positive?even?odd?zero?not示例(defineA10)(cond(=A10)(print“A=10”)(else(print“A!=10”),Do循環(huán)語句,(do)循環(huán)語句示例(do(i0(+I1)(i9)“finished”)(printi)(print(*ii),有用的ACISScheme,刪除PART中特定的元素(entity:delete(filter:apply(filter:type“edge?”)(part:entities)設(shè)置視圖Camere的目標(biāo)點(diǎn)位置(view:set-target(c)(view:set-target(e),練習(xí):CMN-01.scm,;CMN-01(view:dl)(iso)(defineblk(solid:block(position-50-10-10)(position501010)(definecpyblk(entity:copyblk)(entity:transformcpyblk(transform:rotation(position000)(gvector001)45),練習(xí):CMN-02.scm,;CMN-02(view:dl)(iso)(definep1(position000)(do(i0(+i10)(=i100)(begin(position:set-x!p1i)(solid:spherep15)(iso)(zoom-all),練習(xí):CMN-03.scm,;CMN-03(view:dl)(iso)(defineblk(solid:block(position-25-25-25)(position252525)(zoom-all)(defineedg(pick-edge)(definep1(curve:start-posedg)(definep2(curve:end-posedg)(definerad(/(curve:lengthedg)2)(defiencyl(solid:cylinderp1p2rad)(zoom-all),練習(xí):CMN-04.scm,;CMN-04(maview:delete(part:views)(part:clear)(view:dl)(definewire(wire-body:points(list(position-30100)(position-30-100)(position0-200)(position0200)(position-30100)(definesld(sweep:lawwire(gvector0010)(iso),練習(xí):CMN-05.scm,;CMN-05(maview:delete(part:views)(part:clear)(view:dl)(definewire(wire-body:points(list(edge:circularposition(000)20)(definemyopt(sweep:options“draft_angle”-20)(definesld(sweep:lawwire(gvector0020)myopt)(iso),細(xì)節(jié):ACISWin32控制臺應(yīng)用程序,ACIS_NEW,ACIS_DELETE“outcome”類獲取出錯信息,ACIS_NEW和ACIS_DELETE,ACIS_NEW和ACIS_DELETE宏可以提高平臺之間的兼容性和ACIS的內(nèi)存管理機(jī)制幾何提高了性能跟蹤內(nèi)存分配和釋放可以監(jiān)測內(nèi)存泄漏當(dāng)用ACIS_NEW創(chuàng)建的簡單數(shù)據(jù)類型(如枚舉,結(jié)構(gòu)和矩陣等)在用ACIS_DELETE進(jìn)行內(nèi)存釋放時需要使用STD_CAST來修飾,“outcome”類,ACISAPI返回“outcome”類型的對象“outcome”類包含了下列信息API調(diào)用的結(jié)果,成功/失敗歷史信息-用于UNDO/REDO操作在API_BEGIN宏中,定義了”outcome”類型的變量result在API_END宏中,檢查result,通常用到的成員函數(shù)outcome:ok()outcome:error_number()outcome:bb()/公共板,獲取出錯消息,獲取出錯消息的函數(shù)find_err_mess(),outcomeresult;result=api_xxxxxx();if(!result.ok()constchar*text=find_err_mess(result.error_number();printf(text);,練習(xí):FromSchemetoC+,創(chuàng)建一個新的Win32ConsoleApplication(工程名稱:Gear32)參考Scheme聯(lián)系中如何創(chuàng)建齒輪的程序,新建一個cxx文件,并在其中實(shí)現(xiàn)創(chuàng)建齒輪的API函數(shù)api_make_gear(BODY*elist.add(ENTITY*);得到ENTITY*用重載操作符,就像和使用數(shù)組一樣方便ENTITY_LISTelist;result=api_get_edges(pBody,elist);EDGE*myedge=(EDGE*)elist0;使用索引ENTITY_LISTelist;result=api_get_edges(pBody,elist);elist.init();EDGE*myedge=(EDGE*)elist.next();,ENTITY_LIST類,remove(ENTITY*)只是將之標(biāo)記為Tombstonecount()和iteration_count()count()返回列表中包括標(biāo)記了Tombstone的元素個數(shù)iteration_count()不包括那些標(biāo)記了Tombstone的元素add(ENTITY*)如果是新添加,返回添加為止的索引編號如果ENTITY_LIST中已存在該ENTITY,則返回該ENTITY在ENTITY_LIST中的位置add(ENTITY*,FALSE)不檢查該E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市快速路建設(shè)項(xiàng)目2025年社會穩(wěn)定風(fēng)險評估與城市規(guī)劃與社區(qū)互動研究報告
- 工業(yè)互聯(lián)網(wǎng)平臺入侵檢測系統(tǒng)2025年數(shù)據(jù)安全防護(hù)方案報告
- 《庫存管理》課件
- 冬季換季教育培訓(xùn)課件
- 中國發(fā)展動態(tài)課件
- 員工職業(yè)規(guī)劃課件
- 團(tuán)委培訓(xùn)分享交流
- 大班安全教育:爸爸媽媽不在家
- 中國傳統(tǒng)設(shè)計課件
- 八下班會課件
- 2024年石家莊市市屬國有企業(yè)招聘考試真題
- 醫(yī)院火災(zāi)的應(yīng)急預(yù)案及處理流程
- 2025年山東省煙臺市中考真題數(shù)學(xué)試題【含答案解析】
- 種豬養(yǎng)殖場建設(shè)項(xiàng)目初步設(shè)計方案
- 中位數(shù)與箱線圖-第2課時箱線圖復(fù)習(xí)鞏固課件北師大版(2025)數(shù)學(xué)八年級上冊
- 2025河南省豫地科技集團(tuán)社會招聘169人筆試參考題庫附帶答案詳解
- 2025年山東將軍煙草新材料科技有限公司招聘筆試沖刺題(帶答案解析)
- 2025年外研版(2024)初中英語七年級下冊期末考試測試卷及答案
- 人教版(2024)七年級下冊英語期末模擬測試卷(含答案)
- 兵團(tuán)開放大學(xué)2025年春季《公共關(guān)系學(xué)》終結(jié)考試答案
- 2024年貴州貴州貴安發(fā)展集團(tuán)有限公司招聘筆試真題
評論
0/150
提交評論