How could I create stl file based on the ellipsoid command?
    6 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
I try several methods to write an stl file based on the ellipsoid geometry.
But I haven't find way to successfully do it.
Following is my code
clear 
clc
close all
[x, y, z] = ellipsoid(0,0,0,5.9,3.25,3.25,30);
s=surf(x,y,z)
p=surf2patch(s)
%Extract faces and vertices from structure p
pf=p.faces
pv=p.vertices
tr=triangulation(pf,pv) 
stlwrite(tr,'ell.stl')
The message ''Tetrahedron triangulation is not supported.'' appears, I know I could use ''boundaryFacets'' command to solve this problem, but I don't know how to create an alphaShape of ellipsoid.
Could anyone gives me a hint?
0 commentaires
Réponse acceptée
  Aditya Patil
    
 le 24 Déc 2020
        stlwrite only support triangles.
shp = alphaShape(tr.Points)
[F,P] = freeBoundary(tr)
trNew = triangulation(F,P)
stlwrite(trNew, "freeboundary.stl")
2 commentaires
  DGM
      
      
 le 12 Juil 2025
				
      Modifié(e) : DGM
      
      
 le 12 Juil 2025
  
			It's not necessary to use alphashape and risk complications with maintaining non-convex features.  You need a triangular surface mesh.  By default, surf2patch() returns a quadrilateral surface mesh, not a tetrahedral volume mesh.  From the perspective of stlwrite(), the difference is ambiguous.  Elements with four vertices might be quads, or they might be tetrahedrons (really, I suppose they tend to be tetrahedrons either way, since surf "quads" aren't always planar).  Regardless of what stlwrite() assumes they're supposed to be, a standard STL doesn't contain either, so the difference is moot.
If you want triangles, ask for triangles.
[x, y, z] = ellipsoid(0,0,0,5.9,3.25,3.25,30);
s=surf(x,y,z);
p=surf2patch(s,'triangles');
%Extract faces and vertices from structure p
pf=p.faces;
pv=p.vertices;
tr=triangulation(pf,pv) % elements have three vertices, not four
stlwrite(tr,'ell.stl') % no error
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Bounding Regions dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





