How can I make a compound 3D geometry for pdemodel?

1 vue (au cours des 30 derniers jours)
Harshit Ks
Harshit Ks le 28 Mar 2020
Modifié(e) : Harshit Ks le 28 Mar 2020
I want to make a simple compound geometry to solve a pde, simply as two cuboids (neither of same height, nor of same cross section) joined together on a face. I tried several methods, but they fail in some cases. Is there a simple method to do so?
What I tried:
1) used K =boundary(X,Y,Z, lambda) to get triangular surface mesh, then geometryFromMesh(model, nodes, elements) to get the geometry but I am getting something as in figure(1). It has small fringes when lambda is around 0.995.
If this is the only possible method to do so, following are my doubts:
  • The boundary function gives a tight/loose enclousre covering all points in the point cloud. What points should I give to get least fringes? I am using the input as meshgrid of uniformly sampled points within the whole volume.
  • Should I use some other set of points to make the function give proper sharp triangulations (as there would be a sharp 90 degree boundary at junction of two cuboids)?
  • Is there any other triangulation technique to create surface mesh from point cloud, more accurately? I tried delaunayTraingulation, but it can't handle sharp features, and smoothens the sharp transition which is necessary.
  • I expected lambda = 1 to give the tightest non convex boundary hence making the edge sharp (rather than what I have shown in figure), but it makes the regular surfaces have sharp voids joining the points in below: it doesn't works.
  • Can I delete some faces or triangles (the ones at junction) from the obained geometry or triangulated mesh? I don't know how would I find the index.
(Sorry for so many questions, if any solution works, all other questions can be ignored :))
Figure description:
The small block is attached on face 7 of bigger block.

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by