2017-06-13 2 views
0

私は、エッジを作成し、そのエッジから伸びるメッシュを構築するMATLABコード(下記)を作成しました。 Figure内の3Dモデルをメッシュとして見ることはできますが、このモデルをstlやobjなどの3Dオブジェクトとしてエクスポートする方法はありません。MATLABのメッシュをstlまたはobjにエクスポートするには?

私はこのような何かを使用STLへの変換の多くの例、読み:

% Extract the surface mesh 
M=isosurface(x,y,z,F,0); 
tr=TriRep(M.faces,M.vertices); 
figure('color','w'), h=trimesh(tr); axis equal 
% Write to .stl 
stlwrite('PillBoxExample.stl',tr.Triangulation,tr.X) 

をしかし、私のコードで私はメッシュを使用:

figure; 
M= surface(-finalLSF); 
hold on; contour(phi, [0,0], 'r','LineWidth',2); 

私はそれを変換するために多くの時間を試してみましたが、依然としてエラーが発生しています。

コード:あなたはそれのソースコードが必要stlwriteを使用するための

Img = imread('MK2.jpg'); 
Img=double(Img(:,:,1)); 
% 
% ... other code ... 
% 
figure; 
M= mesh(-finalLSF); 
hold on; contour(phi, [0,0], 'r','LineWidth',2); 
str=['Final level set function, ', num2str(iter_outer*iter_inner+iter_refine), ' iterations']; 
title(str); 
axis on; 
+0

を使用しているようですもしあなたができなければならないのか、あなたがすべきなのかは分かりませ'mesh'はプロット関数ですが、実際にはメッシュオブジェクトを生成しません。 –

答えて

0

download stlwrite from File Exchangeが必要です。これをMatlabのパスに入れてください。あなたのパス上にあるかどうかを確認するには、exist('stlwrite')と入力します。これが2を返したら、あなたはいいです。 0を返す場合は、add it to your pathが必要です。

あなたがisosurface最初に使用したい場合は、あなただけの

stlwrite('C:\...\filename.stl', x, y, z); 

を呼び出すことができ、その場合にはxyz座標を、持っているように、そしてちょうど私は

M = isosurface(x,y,z,F,0); 
stlwrite('C:\...\filename.stl', M); 
関連する問題