How to convert CAD file to points on 3D grid? [URGENT]

7 vues (au cours des 30 derniers jours)
Jens Sonck
Jens Sonck le 21 Mar 2021
Commenté : Ali Grysah le 2 Avr 2021
Hi,
For a project I'm working on, I need to calculate the buoyancy force on a boats hull. The buoyancy of a hull is the volume of the part under the fluid surface multiplied by the density of the fluid. I wrote a little script to calculate that volume and center of that volume (from list of coordinates of subvolumes) to have the magnitude of the force and the point of engagement.
The only thing I need to do now is to convert my CAD model into a set of points (subvolumes) with x,y and z coordinates. My Idea was to do this manually but I need about 2000 points. Is there a way to convert my CAD model to a set of point on a fixed 3D grid? Basically like when you want to make someting in minecraft, an array with al the coordinates of where the blocks would be placed.
Afterthought: I basically want to check if a point on my 3d grid (which will define the 'mesh' size) is within the boundaries of the CAD model and then add it to the list of points.
UPDATE:
I got the alphashape thing working but the shape it produces is off. The concave part of my model is skipped (see pictures) I tried playing with the alpha, region and hole parameters and that kinda fixes the front but messes up the back.
Thanks in advance
Jens
  8 commentaires
Precise Simulation
Precise Simulation le 31 Mar 2021
I think you could import your CAD model into the PDE or FEATool Multiphysics toolboxes, generate a volume mesh, and use the (Delaunay) mesh to check which points are in or outside of the mesh using for example tsearchn "tsearchn(X,TRI,XI) returns the indices t of the triangulation TRI for each point in XI, and NaN for all points outside the convex hull of X".
Ali Grysah
Ali Grysah le 2 Avr 2021
  • hlo can help me i need matlab 2008 ,,,windows7,32bt

Connectez-vous pour commenter.

Réponse acceptée

darova
darova le 21 Mar 2021
Try alphaShape with inShape option
  14 commentaires
Jens Sonck
Jens Sonck le 23 Mar 2021
@darova I've attached a .zip with the model and the lines that give me the error, hope this clears things up.
Jens Sonck
Jens Sonck le 24 Mar 2021
@darova I've got it working but the shape is off. I've updated the original question with pictures.

Connectez-vous pour commenter.

Plus de réponses (1)

darova
darova le 24 Mar 2021
What about this? You can find volume under each triangle using this formula
  5 commentaires
darova
darova le 25 Mar 2021
Maybe you don't such precise mesh. alphaShape has function volume for calculation volume
Jens Sonck
Jens Sonck le 25 Mar 2021
My algorithm takes 73ms to calculate 77k points so that's adequate for the simulation. I'm now having trouble in simscape with the dynamics.

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by