How could I create stl file based on the ellipsoid command?

3 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Aditya Patil
Aditya Patil il 24 Dic 2020
stlwrite only support triangles.
You can get the alphaShape of ellipsoid using the alphaShape function.
shp = alphaShape(tr.Points)
There is also the freeBoundary function.
[F,P] = freeBoundary(tr)
trNew = triangulation(F,P)
stlwrite(trNew, "freeboundary.stl")
  1 Commento
Daniel Chou
Daniel Chou il 24 Dic 2020
Modificato: Daniel Chou il 24 Dic 2020
Dear @Aditya Patil
I sincerely appreciate for your assistance.
You save me from this haha.
Before viewing your suggestion, I already used the freeboundary method to create the stl file. However, the mesh quality is a disaster, I'm still trying to figure out how to solve it.
After reading your hint I try to modify my code as follow,
clear
clc
close all
%input the properties of ellipsoid by ''ellipsoid'' function
[x, y, z] = ellipsoid(1,1,1,5.9,3.25,3.25,30,5);
%Convert the ellipsoid to surface via ''surf''
s=surf(x,y,z)
%from surface to patch: generate the faces and vertices
p=surf2patch(x,y,z)
%Extract faces and vertices from structure p
pf=p.faces
pv=p.vertices
tr=triangulation(pf,pv)
sha=alphaShape(tr.Points)
%Using larger sha.Alpha to imprive the quality of mesh
sha.Alpha=5
plot(sha)
%Extract boundary face of alphaShape
[F,P]=boundaryFacets(sha)
%New set of triangulation
Newtr=triangulation(F,P)
%Export stl file
stlwrite(Newtr, "ell_3.stl")
I got an adorable ellipsoid stl file with steady mesh quality, which allows me to do re-meshing work in meshmixer and further model manipulation in solidworks.
Thank you very much again!!
Sincerely yours
Daniel Chou

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Bounding Regions in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by