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

7 views (last 30 days)
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 Comments
Precise Simulation
Precise Simulation on 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 on 2 Apr 2021
  • hlo can help me i need matlab 2008 ,,,windows7,32bt

Sign in to comment.

Accepted Answer

darova
darova on 21 Mar 2021
Try alphaShape with inShape option
  14 Comments
Jens Sonck
Jens Sonck on 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 on 24 Mar 2021
@darova I've got it working but the shape is off. I've updated the original question with pictures.

Sign in to comment.

More Answers (1)

darova
darova on 24 Mar 2021
What about this? You can find volume under each triangle using this formula
  5 Comments
darova
darova on 25 Mar 2021
Maybe you don't such precise mesh. alphaShape has function volume for calculation volume
Jens Sonck
Jens Sonck on 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.

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!