How to convert CAD file to points on 3D grid? [URGENT]
7 views (last 30 days)
Show older comments
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
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".
Accepted Answer
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!