2017-04-30 18 views
0

即時試圖創建一個火山口阿爾法形狀。 這是我寫到目前爲止:MATLAB:無法創建幾何。 STL文件是無效的,兩個以上的面共享一個邊緣

ddr=0.12; 
a=1/ddr/2; %semi major axis. horizontal axes are equal 
n=91; %number of points for x y vectors. 
x = linspace(-a,a,n); 
y = linspace(-a,a,n); 
[X,Y] = meshgrid(x,y); 
Z =real(sqrt(1-(X.^2)/a^2-(Y.^2)/a^2))*-1+1; % the plus 1 for Z>0 
shp = alphaShape(X(:),Y(:),Z(:)); 
plot(shp); 
[elements,nodes] = boundaryFacets(shp); 
nodes = nodes'; 
elements = elements'; 
model = createpde(); 
geometryFromMesh(model,nodes,elements); 

但即時得到以下錯誤: 無法創建幾何。 STL文件是無效的,兩個以上的面共用的邊緣。 感謝您的幫助

回答

0

我懷疑問題的出現只是因爲一個對象的接口相對於另一個接口(可能在幾何中有多個對象),即使沒有重疊。嘗試導入,而不是導入整個幾何形狀的單個對象。

另一種解決方案是將您的STL文件轉換爲使用stlread.m 面和頂點和重建的幾何形狀。 祝你好運!

相關問題