MATLABデータをSTLファイルに変換したい

32 ビュー (過去 30 日間)
sentong wang
sentong wang 2017 年 12 月 4 日
コメント済み: sentong wang 2017 年 12 月 8 日
今,膝のDICOMデータ(2次元)を用いて一枚一枚重ねてエディターで膝形状モデル(3次元)を作りました(mファイル).作った形状モデルのデータをansysに読み込みたいのですが,直接ansysに読み込めなさそうです.色々調べたら先ず,STLファイルに変換してSOLIDWORKSを通してANSYSに読み込む方法が良いそうなのですが,現在のモデル(mファイル)をSTLファイルに変換する方法はありませんか?あるいはほかに方法があれば教えて頂きたいです.
  1 件のコメント
michio
michio 2017 年 12 月 4 日
編集済み: michio 2017 年 12 月 4 日
関連エントリー:
File Exchange で検索しても使えそうな関数が見つかります。
とはいえ、File Exchangeの入力・出力条件の記載が分かりにくいので難しいですね。 DICOMから、膝形状モデルの点群データを作成するところまではできていると考えてよいですか?

サインインしてコメントする。

採用された回答

michio
michio 2017 年 12 月 5 日
点群データからのSTL作成サンプルを作ってみたので参考まで紹介します。
File Exchangeの stlwrite 関数を使用しました。事前にダウンロードして下記を実行してみてください。 https://jp.mathworks.com/matlabcentral/fileexchange/20922-stlwrite-filename--varargin-
% サンプルデータ(球体です)
[x1, y1, z1] = sphere(24);
x1 = x1(:);
y1 = y1(:);
z1 = z1(:);
P = [x1 y1 z1];
P = unique(P,'rows');
% alphaShape関数で 3 次元の点で構成される多面体を形成
% 詳細は > doc alphaShape
shp = alphaShape(P,2);
% アルファ形状の境界だけ取り出す
% 詳細は > doc boundaryFacets
[tri, xyz] = boundaryFacets(shp);
% プロット
trisurf(tri,xyz(:,1),xyz(:,2),xyz(:,3),...
'FaceColor','cyan','FaceAlpha',0.3)
% stlwrite 関数で STL に出力
stlwrite('test.stl', tri, xyz);
参考:PDE Toolbox があれば下記で読み込み、メッシュ生成後表示できます。
model = createpde(1);
importGeometry(model,'test.stl');
generateMesh(model)
pdeplot3D(model)
  7 件のコメント
michio
michio 2017 年 12 月 8 日
からダウンロードできるファイルに Manual_Example.m があります。このファイルにサンプルデータを使った例題が用意されていますので、確認して頂けますか?
sentong wang
sentong wang 2017 年 12 月 8 日
すみません,わかりました.本当にありがとうございました.助かりました.絶対参考します.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!