MATLABでCADファイルを表示する
CATIAのファイルを読み込ませたかったが、Simulink 3D Animationというのを購入するしかないようだ。FileExchangeにはCADを読み込むコードがいくつかあり、IGES Toolboxを使うこととした。
IGES Toolboxは以下のリンクよりダウンロード可能
http://www.mathworks.co.uk/matlabcentral/fileexchange/13253-iges-toolbox
IGES Toolboxの使い方は、ダウンロードしたファイルの中にあるexamplehoge.m
の中を見るとわかる。
やりたいこと:
CATIAで作った実験装置のCADファイルが手元にあり、そのCADファイルを利用して装置断面図を作成し、断面図に解析結果を重ね描きする
やったこと:
- ステップ1:CATIAで断面図を作成し、igs形式で保存する。(ファイル名をSection.igsとする)
- ステップ2:以下のmatlabコードで断面図を描画する
main.m
figure hold all plot_section() %plot_section.mを呼び出してCAD図を描画 axis equal %以下解析結果を、CAD図の上に重ねてプロットする contour(x,y,z)
plot_section.m
function [] = plot_section() if exist('./Section.mat', 'file') == 2 load('./Section.mat', 'ParameterData') else original_path = path; path(original_path,'./igesToolBox'); [ParameterData,~,~,~,~]=iges2matlab('./Section.igs'); path(original_path) save('./Section.mat', 'ParameterData') end for i=1:numel(ParameterData) if strcmp(ParameterData{i}.name,'LINE') plot([ParameterData{i}.x1 ParameterData{i}.x2], ... [ParameterData{i}.z1 ParameterData{i}.z2], ... 'k-') end end end
ちなみに、CADを読み込むコードは他にも以下のようなものがあった。