



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、標(biāo)題 : 利用 宏功能定制 ANSYS工具欄的一種方法( In C/C+) 打印本頁 作者 : Rainyboy 時(shí)間 : 2010-10-14 22:24 標(biāo)題 : 利用 宏 功能定制 ANSYS工具欄的一種方法( In C/C+)本帖最后由Rainyboy 于 2010-10-14 22:35 編輯不知大家有沒有這樣的經(jīng)驗(yàn), 有些時(shí)候接了某研究所的課題, 要求分析某個(gè)結(jié)構(gòu)的強(qiáng)度或者壽命, 或者再進(jìn)一步形成這種結(jié)構(gòu)的設(shè)計(jì)方法。 合同中要求我們提供一個(gè)【界面程序】,在這個(gè)【界面程序】中,設(shè)計(jì)者只需要輸入最原始的【幾何參數(shù)】、【材料參數(shù)】、【載荷參數(shù)】,由該【界面程序】直接調(diào)用 ANSYS 進(jìn)行
2、計(jì)算和后處理。整個(gè)過程中不需要直接接觸APDL代碼,完全是由 “點(diǎn)鼠標(biāo) ”和“輸入數(shù)據(jù) ”完成。這樣的【界面程序】有一個(gè)好處,就是使用者不必?fù)?dān)心直接修改 APDL源程序帶來的版本混亂、功能出錯(cuò)等風(fēng)險(xiǎn),而且比較方便。0)先看一個(gè)【界面程序】的例子吧(為某單位開發(fā)的某結(jié)構(gòu)計(jì)算軟件,合同中有保密條款,所以作了些處理):attach46766/attach其他功能不提,當(dāng)用戶按下【開始計(jì)算】便會(huì)彈出如下對話框:attach46767/attach用戶再次按下【確定】后,就會(huì)在程序當(dāng)前運(yùn)行的目錄下生成一個(gè)與輸入 JobName 相同的文件夾,并在此文件夾中載入 ANSYS,運(yùn)行后,其工具欄上會(huì)出現(xiàn)一些定
3、制的功能按鈕,點(diǎn)擊這些按鈕,就可以執(zhí)行這些定制功能了 (比如 “建模 ”“分網(wǎng) ”“求解 ”和“后處理 ”),而且還可以根據(jù)需要顯示對話框:attach46768/attach這種【界面程序】的核心,在于外部程序中實(shí)現(xiàn)對 ANSYS的調(diào)用和定制,這正是我想在這里和大家分享和探討的問題。1)定制 ANSYS工具欄的流程 (也許不是唯一的實(shí)現(xiàn)方法):a) 準(zhǔn)備好 APDL(這一步通常希望由用戶通過 【界面程序】 設(shè)置參數(shù)后完成, 其實(shí)就是在指定的目錄按照用戶輸入的參數(shù)生成文件,不是本帖的重點(diǎn) ),將后綴名改為 .MAC,存放在某個(gè)工作目錄下。例如有建模代碼和求解代碼存放在目錄d:/ansyswor
4、k 下b) 找到 ./ANSYS INC/V110/ANSYS/APDL中的文件,在文件的最后加入: /PSEARCH,*ABBR,MODEL,MODEL*ABBR,SOLU,SOLUc)啟動(dòng) ANSYS11,設(shè)置工作目錄為d:/ansyswork,那么 ANSYS11啟動(dòng)完畢之后,就會(huì)在工具欄上出現(xiàn) MODEL和 SOLU的按鈕了,點(diǎn)擊相應(yīng)的按鈕就相當(dāng)于執(zhí)行了對應(yīng)文件中的 APDL代碼。d)將所增加的內(nèi)容刪除,避免對其它工作產(chǎn)生影響。2)編程過程中的幾個(gè)關(guān)鍵:a)獲得 ANSYS的安裝目錄1.char *pAnsysDir;AC1. ");AC.,希望能和你交流這方面的技術(shù)啊,能留
5、個(gè)聯(lián)系方式嗎作者 : Rainyboy時(shí)間 : 2010-10-20 18:31回復(fù) 有夢的人的帖子咱們論壇不就是聯(lián)系方式么作者 : 有夢的人時(shí)間 : 2010-10-20 18:36可是即時(shí)交流不行啊,呵呵,壇子是會(huì)來的,要做的項(xiàng)目和你做得差不多,多多指教作者 : Rainyboy時(shí)間 : 2010-10-20 18:44回復(fù) 有夢的人的帖子那你可以先把代碼存下來用用, 如果不能直接為你的場合所用的話, 再根據(jù)你的實(shí)際情形做一些修改。在使用中有涉及 ANSYS相關(guān)的問題你可以在這個(gè)分區(qū)發(fā)帖,如果純粹是編碼實(shí)現(xiàn)的問題可以到算法與編程語言區(qū)探討。作者 : 有夢的人時(shí)間 : 2010-10-20
6、18:49已經(jīng) COPY了,不過想問個(gè) ANSYS的,進(jìn)行流固耦合分析時(shí)候,怎么找不到 FSI 相關(guān)命令的工具啊,看了幫助說是被其它的代替了,能不能支個(gè)招啊作者 : 16443時(shí)間 : 2010-10-20 19:54回復(fù) Rainyboy 的帖子如果沒有版權(quán)問題,可以把源程序也給分享了,好讓別人參考你的程序。作者 : Rainyboy時(shí)間 : 2010-10-20 20:08回復(fù) 16443 的帖子整個(gè)界面程序是有版權(quán)的, 按合同不得向第三方轉(zhuǎn)讓。 但是這篇帖子所涉及的方法分享給大家沒有問題,相應(yīng)的源代碼在文中都貼出來了。之所以不采用附件,是因?yàn)榇a本身不長, 大家即時(shí)能看到的話可以提提意見
7、。 謝謝你對這部分工作的肯定作者 : bingo_1124時(shí)間 : 2010-11-6 21:38這個(gè)真的很厲害啊作者 : linderman時(shí)間 : 2010-11-9 21:49嘖嘖 作者 : 有夢的人時(shí)間 : 2010-11-15 18:01Rainyboy發(fā)表于2010-10-14 22:24不知大家有沒有這樣的經(jīng)驗(yàn), 有些時(shí)候接了某研究所的課題, 要求分析某個(gè)結(jié)構(gòu)的強(qiáng)度或者壽命,或者再進(jìn)一 .感覺你的這個(gè)程序是對 ANSYS的顯式調(diào)用,為什么 不做成隱式的啊,那樣不是更好嗎不用直接在 ANSYS窗口界面,只需要對話框輸入就行了啊,望賜教啊作者 : Rainyboy時(shí)間 : 2010-
8、11-15 19:23回復(fù) 11 # 有夢的人的帖子你說得對,后臺(tái)調(diào)用有后臺(tái)調(diào)用的好處, 這種情況下用戶完全可以不知道他在使用 ANSYS進(jìn)行計(jì)算(當(dāng)然他得裝 ANSYS,有點(diǎn)糾結(jié)哈 ),界面程序需要為用戶提供非常全面的后處理, 滿足所有的需求; 我貼出來的這個(gè)程序運(yùn)行之后計(jì)算結(jié)果最終還是在 ANSYS里呈現(xiàn),要說比后臺(tái)調(diào)用好的話就在于用戶可以愛怎么做后處理就怎么做后處理, 在使用定制化的按鈕功能的同時(shí)也不妨礙使用 ANSYS 本身提供的功能, 當(dāng)然,最大的好處就是界面程序不需要提供特別多的后處理功能了。實(shí)際上哪個(gè)更好我想得看使用場合吧,用戶需要什么,咱們就做什么作者 : 有夢的人時(shí)間 : 2
9、010-11-15 20:07嗯,是這樣的,不過你的程序有的地方我還是有些看不懂,呵呵 .,但很想請教你作者 : Rainyboy時(shí)間 : 2010-11-15 20:50回復(fù) 13 # 有夢的人的帖子恩,是流程的問題還是語言的問題作者 : 有夢的人時(shí)間 : 2010-11-15 21:11以前看一些介紹二次開發(fā)的, 都是用 CREATEPROCESS,或者是 WinExec 等函數(shù)實(shí)現(xiàn),你的這個(gè),以命令行, 也就是說可以顯式的調(diào)用嗎整個(gè)函數(shù)都要自己寫的嗎作者 : Rainyboy時(shí)間 : 2010-11-15 21:17回復(fù) 15 # 有夢的人的帖子我用的是 system()函數(shù)運(yùn)行的命令行
10、而已, WinExec也可以啊,主要是調(diào)用之前要準(zhǔn)備一些相關(guān)的工作, 比如得到當(dāng)前路徑、 寫文件什么的; 調(diào)用之后吧又要把改回去。你從 LoadANSYSNamed()函數(shù)開始看,就能明白了。作者 : 有夢的人時(shí)間 : 2010-11-15 21:33LoadANSYSNamed()函數(shù)中的 Rainyboy 也就是你的計(jì)算機(jī)名嗎作者 : Rainyboy時(shí)間 : 2010-11-15 21:41回復(fù) 17 # 有夢的人的帖子不是計(jì)算機(jī)名字, 是隨便給的一個(gè)名字, 這個(gè)參數(shù)的作用是在當(dāng)前目錄下生成一個(gè)同名的文件夾,將這個(gè)文件夾作為 ANSYS的工作目錄而已。作者 : 有夢的人時(shí)間 : 2010
11、-11-15 21:55Rainyboy發(fā)表于2010-11-15 21:17回復(fù) 15 # 有夢的人的帖子我用的是 system()函數(shù)運(yùn)行的命令行而已, WinExec也可以啊,主要是調(diào)用之前要準(zhǔn) .謝謝你啊,主任,有不懂的地方,還會(huì)騷擾你的啊.作者 : 有夢的人時(shí)間 : 2010-11-16 20:10Rainyboy發(fā)表于2010-11-15 21:17回復(fù) 15 # 有夢的人的帖子我用的是 system()函數(shù)運(yùn)行的命令行而已, WinExec也可以啊,主要是調(diào)用之前要準(zhǔn) .為什么當(dāng)時(shí)想到用SYSTEM命令行調(diào)用,而不用其它的一些函數(shù)來調(diào)用啊作者 : Rainyboy時(shí)間 : 201
12、0-11-16 21:40回復(fù) 20 # 有夢的人的帖子給出的代碼沒有包含窗體,要做窗體的話在某個(gè)按鈕的響應(yīng)函數(shù)里調(diào)用LoadANSYSNamed就可以了作者 : 有夢的人時(shí)間 : 2010-11-24 15:21Rainyboy發(fā)表于2010-10-14 22:24不知大家有沒有這樣的經(jīng)驗(yàn), 有些時(shí)候接了某研究所的課題, 要求分析某個(gè)結(jié)構(gòu)的強(qiáng)度或者壽命,或者再進(jìn)一 .你入口函數(shù)里面的 string AdditionCmd(ANSYSName)函數(shù)怎么定義的啊, 怎么沒有看到作者 : Rainyboy時(shí)間 : 2010-11-24 16:00回復(fù) 22 # 有夢的人的帖子string Addi
13、tionCmd(ANSYSName)這句話是實(shí)例化一個(gè)名字叫 AdditionCmd 的 string 對象,相當(dāng)于調(diào)用的是 string:string(const char *)。說白了,不是 定義函數(shù) ,是創(chuàng)建對象 。作者 : Rainyboy時(shí)間 : 2010-11-24 16:03回復(fù) 22 # 有夢的人的帖子system()調(diào)用中的參數(shù)意義在ANSYS幫助文檔里面有:Operations Guide | Chapter 3. Running the ANSYS Program | . Starting an ANSYS Session from the Command Level-g
14、 是顯示圖形界面-j 是指定 jobname還有其他的,你查查看看吧作者 : 有夢的人時(shí)間 : 2010-11-24 16:40本帖最后由有夢的人于 2010-11-24 16:41 編輯Rainyboy發(fā)表于2010-11-24 16:00回復(fù) 22 # 有夢的人的帖子string AdditionCmd(ANSYSName)弱弱地問一下, string 不是一個(gè)數(shù)據(jù)類型嗎,怎么能定義成一個(gè)類啊作者 : huxiaoqi時(shí)間 : 2010-12-6 17:37教研室主任太強(qiáng)大了,向你學(xué)習(xí)!作者 : 有夢的人時(shí)間 : 2010-12-7 10:20研究一下覺得文件代碼里面56、57 兩行代碼可
15、以不要,不知道LZ怎么看的啊作者 : Rainyboy時(shí)間 : 2010-12-7 12:40回復(fù) 27 # 有夢的人的帖子呵呵, /PSEARCH命令指定宏的搜索范圍,這里設(shè)置的是當(dāng)前目錄,當(dāng)然 ANSYS 工作時(shí)也會(huì)搜索當(dāng)前目錄,所以可以不要。作者 : sd05041212時(shí)間 : 2011-3-9 16:53回復(fù) 1 # Rainyboy 的帖子學(xué)習(xí)作者 : chx_pj時(shí)間 : 2011-3-29 10:53你好,初來咋到,多多關(guān)照。我用 宏 功能定制 ANSYS工具欄時(shí),點(diǎn)擊任何一個(gè)新建按鈕都提示“FRAME-MODEL is not a recognized begin comma
16、nd, abbreviation, or command will beignored ”書上,說建立宏文件后直接點(diǎn)擊按鈕就可以了, 不知道為什么不行, 可以幫忙解決一下嗎,多謝多謝作者 : Rainyboy時(shí)間 : 2011-3-29 10:58回復(fù) 30 # chx_pj 的帖子你好,你是如何修改文件的呢 “FRAME-MODEL” 這樣的字樣是出現(xiàn)在你代碼的什么位置作者 : chx_pj時(shí)間 : 2011-3-29 11:00/psearch,d:FrameAnalysis*abbr,model,Frame_model*abbr,pres,Frame_pres*abbr,USUM,Fra
17、me_PLOT_USUM*abbr,SEQV,Frame_PLOT_SEQV*ABBR,N,Frame_Axis_Force*abbr,Mx,Frame_Mx*abbr,My,Frame_My*abbr,Mz,Frame_Mz*abbr,AVI_SEQV,Frame_AVI_SEQV作者 : chx_pj時(shí)間 : 2011-3-29 11:02非常感謝師兄 OR師姐的幫忙,呵呵這個(gè)問題弄了好幾天了,一直沒有解決作者 : chx_pj時(shí)間 : 2011-3-29 11:04我是在文件的末尾添加的以上命令作者 : Rainyboy時(shí)間 : 2011-3-29 15:41回復(fù) 34 # chx_pj
18、 的帖子目前的這些操作應(yīng)該都是對的, 你的 d:FrameAnalysis 都有這些 .MAC 文件嗎,貼一個(gè)的開頭幾行我看看作者 : chx_pj時(shí)間 : 2011-3-29 17:20!第一步初始化 ANSYS環(huán)境finish/clear/filname,Demo_frame/view,1, ! 調(diào)整模型顯示方位和角度/ang,1,66!第二步定義門字架的高度與寬度multipro,'start',2*cset,1,3,Height,'Height of Frame:',10*cset,4,6,Width,'Width of Frame:',
19、8multipro,'end'!第三步選擇材料*ASK,N_mat,the Material Type of Frame(1/2),1!第四步選擇門子架的截面形狀*ASK,N_section,the Section Type of Frame(1/2),1!第五步根據(jù)參數(shù)創(chuàng)建有限元模型*dim,Lxyz,3,3*if,N_section,EQ,1,thenLxyz(1,1)=1,0,-1Lxyz(1,2)=0,0,0Lxyz(1,3)=0,1,0*elseLxyz(1,1)=0,0,0Lxyz(1,2)=1,1,-1Lxyz(1,3)=0,0,0*endif作者 : chx_p
20、j時(shí)間 : 2011-3-29 17:25FrameAnalysis文件夾中所有的宏文件都有,上面是建模宏文件的一部分作者 : Rainyboy時(shí)間 : 2011-3-29 18:03回復(fù) 37 # chx_pj 的帖子我感覺是你的 FrameAnalysis目錄下那些文件名存錯(cuò)了吧按你的寫法,應(yīng)該存如下文件名:作者 : chx_pj時(shí)間 : 2011-3-29 22:00本帖最后由chx_pj 于 2011-3-29 22:02 編輯論壇開著忘刷新了,剛看到回復(fù)剛剛找到一部分解決辦法了,在 FrameAnalysis文件中存的宏文件還有一個(gè) txt 的后綴名,但被隱藏了,調(diào)了文件查看才發(fā)現(xiàn)。
21、在每個(gè)宏文件最開始的位置加入/PMACRO命令建模按鈕可以調(diào)用宏文件了。多謝 rainboy 的幫助作者 : Rainyboy時(shí)間 : 2011-3-29 22:03回復(fù) 39 # chx_pj 的帖子客氣,但是我試你的代碼時(shí), 沒加 /PMACRO,也能通過 沒有出現(xiàn)相應(yīng)的錯(cuò)誤奇怪作者 : chx_pj時(shí)間 : 2011-3-29 22:07那太奇怪了,為什么我的就不行,直接系統(tǒng)就是出錯(cuò)提示 “the log file will not reproduce the ansys session since the macro in use contains GUI commands which
22、 are not recorded on the log file. To remedy this, add /PMACRO to the beginning of the macro ”作者 : chx_pj時(shí)間 : 2011-3-29 22:09我用的 ANSYS是盜版的,是這個(gè)原因嗎作者 : Rainyboy時(shí)間 : 2011-3-29 22:24回復(fù) 41 # chx_pj 的帖子the log file will not repr上面這個(gè)錯(cuò)誤提示如果多復(fù)制幾行你的代碼的話 (包含 UGI 之后)我也當(dāng)然會(huì)出現(xiàn)了,我是說加不加 /PMACRO不至于出現(xiàn)下面這個(gè)錯(cuò)誤:FRAME-MODEL is not a recognized begin command, abbreviation, or command will be ignored最開始你不是說會(huì)出現(xiàn)這個(gè)錯(cuò)誤么 后來怎
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/AHEMA 25-2022餐飲油煙排放在線監(jiān)控系統(tǒng)運(yùn)維技術(shù)規(guī)范
- DB36/T 749-2013地理標(biāo)志產(chǎn)品粉彩瓷器
- 企業(yè)檢驗(yàn)計(jì)量培訓(xùn)課件
- 2025年能源行業(yè)油氣資源勘探開發(fā)新技術(shù)研究報(bào)告
- 數(shù)字貨幣對2025年金融行業(yè)金融科技監(jiān)管政策的風(fēng)險(xiǎn)防范與合規(guī)性評估報(bào)告
- 美容培訓(xùn)項(xiàng)目商業(yè)計(jì)劃書
- 養(yǎng)生粥品無人零售店行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 統(tǒng)編版五年級上冊第四單元語文園地教學(xué)課件
- 中國直錐型提取罐行業(yè)市場規(guī)模及投資前景預(yù)測分析報(bào)告
- 中等職業(yè)學(xué)校學(xué)生就業(yè)指導(dǎo)工作計(jì)劃
- 2024年江蘇省無錫市中考?xì)v史真題(原卷版)
- 金礦合作協(xié)議書
- 山東科技大學(xué)投資經(jīng)濟(jì)學(xué)(專升本)期末復(fù)習(xí)題
- 2025年公共安全與管理相關(guān)考試題及答案
- 人教版三年級數(shù)學(xué)下冊100道口算題大全(全冊)
- 英才宿舍樓畢業(yè)設(shè)計(jì)答辯
- 牛肉生意轉(zhuǎn)讓協(xié)議書
- 2024年中考押題預(yù)測卷02(安徽卷)-物理(考試版)A4
- 智能控制理論及應(yīng)用課件:徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)
- 天一大聯(lián)考·天一小高考2024-2025學(xué)年(下)高三第四次考試生物試題及答案
- 機(jī)場地勤筆試題及答案
評論
0/150
提交評論