stlwrite error: Tetrahedron triangulation is not supported.
    15 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Adam Wathieu
 am 25 Jul. 2019
  
    
    
    
    
    Kommentiert: Abdel-rahman Mryyan
 am 24 Apr. 2022
            Hello,
I am attempting to convert my alphashape object into an STL file by using stlwrite. This is the code I have so far, and an image of the alphaShape object:
            shp = alphaShape(app.Schunk.getVolCoordinates(), 100000);
            [T, P] = alphaTriangulation(shp);
            TR = triangulation(T, P)
            stlwrite(TR, 'STLfileFromApp.stl');

I keep getting the error
"Error using stlwrite (line 33)
Tetrahedron triangulation is not supported."
and I quite simply dont know how to fix it. Any help would be hugely appreciated. Thanks.
-Coding is love, coding is life.
0 Kommentare
Akzeptierte Antwort
  Guillaume
      
      
 am 29 Jul. 2019
        A 3D alphashape is a volume, therefore its triangulation is made of tetrahedrons not triangles. stlwrite only supports triangulations made of triangles, i.e. surfaces triangulations in 2D or 3D, not volumes triangulations. I don't know enough about the stl format to tell if it's a restriction of matlab or a restriction of the format itself. But, as it is now, it is impossible to write an alpha shape triangulation to an stl file with stlwrite. There may be some stlwiters on the FileExchange that may work (I haven't looked).
Alternatively, you may just want to write the surface of your alpha shape. You can get the triangles making that surface with boundaryFacets. Maybe that's what you're after, in which case:
 shp = alphaShape(app.Schunk.getVolCoordinates(), 100000);
 [bf, P] = boundaryFacets(shp);
 stlwrite(triangulation(bf, P), 'STLfileFromApp.stl');
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Bounding Regions finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!