필터 지우기
필터 지우기

How to access to the vertices and facets of each face detected using importGeometry (PDE toolbox) ?

조회 수: 21 (최근 30일)
Using importGeometry and pdegplot (PDE toolbox),
N = 3;
model = createpde(N);
importGeometry(model,'BracketWithHole.stl');
pdegplot(model,'FaceLabels','on')
the geometry is decomposed into different faces as shown in the picture. How to access to the vertices and the facets (triangles of the mesh) of each labeled face ?

채택된 답변

Gaetano Formato
Gaetano Formato 2016년 11월 8일
Hello,
I was able to associate nodes to faces thanks to this answer:
https://it.mathworks.com/matlabcentral/answers/310479-how-to-assign-nodes-to-faces-of-a-3d-tetrahedral-mesh-pdetool?s_tid=srchtitle
Thank you for your time.
Gaetano

추가 답변 (2개)

Alan Weiss
Alan Weiss 2016년 11월 2일
First you have to create the mesh:
generatemesh(model);
If you have the latest MATLAB version (R2016b), you can view the mesh nodes and element labels using pdeplot3D. Sorry, I know of no way of obtaining the labels programmatically.
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 2
Sleh Eddine Brika
Sleh Eddine Brika 2016년 11월 2일
Thanks for your answer, but this is not what I meant. I know the way how to get the facets and the vertices of the whole 3d object as shown here
model = createpde(1);
b=importGeometry(model,'file.stl');
g=model.Geometry;
[F, V] = g.allDisplayFaces();% V for vertices and F for the facets
[Ex, Ey, Ez] = g.allDisplayEdges();% Here we have the edges
pdegplot(model);
There is a built-in function that decompose the STL file into different faces (as shown in the picture). What I need is, for example I want to get the facets belonging to Face 4
Alan Weiss
Alan Weiss 2016년 11월 3일
Sorry, I have no idea.
Alan Weiss
MATLAB mathematical toolbox documentation

댓글을 달려면 로그인하십시오.


Gaetano Formato
Gaetano Formato 2016년 11월 3일
Hello,
I am facing the same problems. I would like to assign boundary nodes to faces in order to describe the solution over the faces. It seems impossible that there is no way to distinguish the boundary nodes from the face label. The geometry is imported as STL file. Thank you for your attention
Best Regards
Gaetano
  댓글 수: 1
Sleh Eddine Brika
Sleh Eddine Brika 2016년 11월 4일
Hello, there is a way to get all the faces edges (boundary), but we cannot know the edges of each face.
model = createpde(1);
b=importGeometry(model,'cube.stl');
g=model.Geometry;
[F, V] = g.allDisplayFaces();% V for vertices and F for the facets
[Ex, Ey, Ez] = g.allDisplayEdges();% Here we have the edges
pdegplot(model);
And if you check the length of edges matrix you will find 12 which corresponds to the edges number of a cube.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Geometry and Mesh에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by