After unsuccessfull tests using FreeCAD, I tried to do some soil stratigraphy modeling with Blender. I used the Point Cloud Skinner script in order to make surfaces that were subsequently extruded. I have two solids here: roc and till. I would like to perform a boolean operation to subtract the roc solid from the till solid, in order to obtain a till stratum (and so on for overlying hypothetical strata). However, the difference operation is a mess (see attached jpg image). Anyone ever succeeded in doing this kind of operation (see attached blend file)?
bleber’s tip didn’t work for me. Maybe I did it wrong. In Edit mode, I did Ctrl+N to “recalculate normals outside” for both layers (bedrock and till). Then I got bask to Object mode, selected till first, bedrock second, press W-key, “Difference”. It did a mess, like the image previously published.I did a dummy animated gif to explain what I expect to achieve here (also inserted below). Thanks for the support.
The animation is a sequence of several steps leading to a finite object, not an animation. Sorry for the confusion :o. My issue is about making concordant solids between predefined layers. I mentioned previously that I had troubles with boolean operations, and I still had difficulties after performing “recalculate normals outside” operations. Note that the concordance between solids is pretty important since I intend to export the mesh for finite element numerical modeling.
then you have to manually make each layer
unless you have a math model behind this to do it for you
it looks like each layer has a specific shape but it is changing over time ?
but there are several ways to change an existing mesh like using shapekeys
or animation with lattice
or do one picture at a time and then add a new frame and modify manually
for a manual animation sort of thing
sorry still wondering best way for you to do it here
explain to us may be how you were thinking about doing the first layer
cause it seems to change from the first picture to the second one i think
or may be not changing which would be easier
and do you need to see only the outside or using some transprency to see inside also
the 3D shapes ?
Select till
Press “Tab” to enter to edit mode
Press “a” to select all the vertex.
Press “Ctrl+n” to recalculate normals outside.
Press “Tab” to leave edit mode.
Make the same for the rock.
Select the rock.
Click the “modifiers” tab
Click to “add a modifier”, and select “boolean”
Select “diference” in the boolean operator.
Write “till” to the “OB:” space.
And there are the boolean operation.
these operation is a non destructive for the meshes ( you can modify the original mesh in edit mode) until click to apply.
It seems I can not obtain coherent shapes. I still get weird solids (see image). I tried to cut out the borders using boolean intercept with a cube, but the meshes exported for numerical modeling is a mess. If stunning artistic animations are possible with Blender, I am sure that my simple case could be achieve in some ways … Is there other techniques I could use? like smoothing, mesh fix, or automatic mesh adaptation? Or maybe another - open source or commercial - 3D modeler? Or a CAD software? Any comment is highly appreciated.
but i don’t think you need something like boolean to do it !
see file here
i just extruded it copied the top part faces then seperated it and move up then extruded the second part
remove or added some faces to the second part !
You are trying to Boolean an identical cube; the sides are coplanar. You can end up with value zero somewhere. And if computer want to use that zero in computation, cross your fingers!
I’m back. Ridix, you are right. Boolean over coplanar solids may not be the best idea I got. Still, as I posted before, I obtained strange meshes (see the green layer above) when I cut non-coplanar solids. I will try again later to verify if the solids could have been corrupted in the sequence. RickyBlender, I am afraid I can’t understand your procedure:
i just extruded it copied the top part faces then seperated it and move up then extruded the second part remove or added some faces to the second part !
Note that the case I presented is a dummy one. True cases may have hundreds (maybe thousands) of elements. Would your procedure still be applicable in these cases?
Never mind. Your models Booleans just fine! You need to do two simple operations on each object to make it “proper” for operation. In Object Mode, hot key [Ctrl] + [A] and select “Scale and Rotation to ObData.” In Edit Mode, hot key [Ctrl] + [N] than OK to Recalculate normal outside. Now the model is ready for Boolean!
RickyBlender, thanks for the drawing. My layers are made using Point Cloud Skinner from a set of points. These points are dummies for now, but may come from statistical analysis from boring surveys performed to obtain the stratigraphy (or a subsurface topology) of the limits of several geological units: rock or soil layers. The surfaces made of point clouds are the base of everything, and their position should be respected. I understand from your drawings that the shape of a layer should be placed “by hand”. This would not be the best strategy if one wants to respect the latter surfaces.
Ridix created those volumes, but the layers do not exactly match on my side. Worse, the object created still looks like the green one I showed earlier. I tried to remove all junk 2D faces using select “Non-Manifold” then delete vectices, but the volume is still messy.
As Deepanshu proposed, there may be other ways than booleans. What do you think of the following: I could create not only the horizontal frontiers (surfaces for roc and till) but also the lateral frontiers of the volume (by hand or using Point Cloud Skinner). This would make a bunch of surfaces that could be closed to volumes. Then, the issue: could I “fill” the closed surfaces to make a volume?
if you will use this point could skinner then
to make it usefull and easy to use
you have to clean up the point cloud resulting mesh like you said remove doubles and find out which faces are not link also may be and close theses faces
might work if you increase the limit on remove doubles to help close theses faces
but also depends on the shape you have cause i think you will have some non manifold faces in your model and no choice i guess that’s how rock layers are shaped!
then from that i think you should be clear to copy top of first layer model then seperate and may be link it to the next level mesh which would be the top of second layer
or may be re try the boolean - but as indicated before boolean in blender are not always working nicely all the time!
make a test may be with a real point cloud mesh and see how it goes
let us know if there are any problems we can help you solved
let’s hope you mesh cloud are not too big like 100 000 vertices or more mesh !