MatlabGUI界面调用Ansys计算并输出计算结果,参考彭军大神的《一个实例搞定MATLAB界面编程》——matlab-gui界面编程入门教程
最后的界面做的比较粗糙,主要是测试功能
首先,在打开GUI界面时,需要载入一张示例图片
因此,在opening_Fcn中需要设置imshow函数,而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);
再设置点击“导入测量数据”按钮时读取数据,主要设置可以读取的后缀为'*.xls';'*.xlsx';'*.slx';'*.mat',也可以根据需要额外添加。
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);
为了读取图示方框中的数据,并用到ANSYS的APDL文件中,需要字符串的读取和合并,首先需要使用str2num函数把字符串转换成数值,如果没有输入值时,使用缺省值。
将两个txt合并成test3.mac作为APDL语言开始的参数定义,生成test3.mac之后再使用system函数调用ANSYS的求解器,并读取test3.mac进行计算
在计算之前,是不能生成图片的,这时需要设置只有点击“开始重构”按钮之后,其他按钮才可用。
点击按钮开始计算之后,会分别输出两个名为residualstress.jpg和deformation.jpg的图片,对应的语句为
/image,save,'E:\GUIRStest\residualstress',jpg
设置当点击“生成残余应力云图”和“生成角变形云图”时,会读取图片的路径并使用imshow生成图片。
至此,一个简易的MatlabGUI界面调用ANSYS计算并输出图片就完成了。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删