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を読み込むコードは他にも以下のようなものがあった。