MatlabGUI界面調(diào)用Ansys計算并輸出計算結(jié)果
MatlabGUI界面調(diào)用Ansys計算并輸出計算結(jié)果,參考彭軍大神的《一個實例搞定MATLAB界面編程》——matlab-gui界面編程入門教程
最后的界面做的比較粗糙,主要是測試功能

首先,在打開GUI界面時,需要載入一張示例圖片

因此,在opening_Fcn中需要設置imshow函數(shù),而imshow中圖片的路徑需要事先定義
function RStest_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for RStest
handles.output = hObject;
set(handles.pushbutton3,'Enable','off');
set(handles.pushbutton4,'Enable','off');
%---------------------------%′
pathname3 = 'E:\GUIRStest\';
axes(handles.axes3)
filename3 = 'model1.jpg';
fpath3 = [pathname3,filename3];
img_model = imread(fpath3);
imshow(img_model);
% Update handles structure
guidata(hObject, handles);
再設置點擊“導入測量數(shù)據(jù)”按鈕時讀取數(shù)據(jù),主要設置可以讀取的后綴為'*.xls';'*.xlsx';'*.slx';'*.mat',也可以根據(jù)需要額外添加。

function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global strh
global pathname
[Fnameh,Pnameh]= uigetfile({'*.xls';'*.xlsx';'*.slx';'*.mat';'*.*'},'File Selector'); strh = [Pnameh,Fnameh];
pathname = Pnameh;
set(handles.text1,'String',strh);
[temp1,temp2] = xlsread(strh);
set(handles.uitable1,'Data',temp1);
% Update handles structure
guidata(hObject, handles);
為了讀取圖示方框中的數(shù)據(jù),并用到ANSYS的APDL文件中,需要字符串的讀取和合并,首先需要使用str2num函數(shù)把字符串轉(zhuǎn)換成數(shù)值,如果沒有輸入值時,使用缺省值。



將兩個txt合并成test3.mac作為APDL語言開始的參數(shù)定義,生成test3.mac之后再使用system函數(shù)調(diào)用ANSYS的求解器,并讀取test3.mac進行計算

在計算之前,是不能生成圖片的,這時需要設置只有點擊“開始重構(gòu)”按鈕之后,其他按鈕才可用。

點擊按鈕開始計算之后,會分別輸出兩個名為residualstress.jpg和deformation.jpg的圖片,對應的語句為
/image,save,'E:\GUIRStest\residualstress',jpg
設置當點擊“生成殘余應力云圖”和“生成角變形云圖”時,會讀取圖片的路徑并使用imshow生成圖片。

至此,一個簡易的MatlabGUI界面調(diào)用ANSYS計算并輸出圖片就完成了。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















