Stratigraphic modeling

Hello,

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)?

Attachments

roc+till.blend (193 KB)

My attempt:

http://[email protected]/pic/show.php?id=5482 (copy the link without the @)

I only recalculate normals outside to each mesh with: ctrl+n ( in edit mode)

The screen shot is in 2.5 but I make the same operation in 2.49b and it works!.

1- to use boolean you need closed volumes !

can you show a pic of ewhat you want to do
might ind another way of doing it

salutations

Hi folks,

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.

Looking for further collaboration,

S-É Parent

http://ubuntuone.com/p/Ei8/

so you want to do an anmation like shown in your short simulation or just have 3 pictures

so you start with one layer then add another one then add another one
and you want to show the addition of layers over time

now but do you need to show the displacement for each layer over time or just like 3 pictures in sequence?

Thanks

Hi RickyBlender,

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.

Thanks!

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 ?

Thanks

I make the booleans with the modifiers.

all my process:

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.

so one part of the second layer would be like the first layer but not 100 %
cause the second layer does not cover the whole first layer

in your file there seems to be only one mesh for till and
there is a rock mesh also but i don’t see the mesh anywhere ?
is it there or not ?

here are some render shot i did with the middle layer transp
let me know what you think

Salutations

Thanks for the replies. I will have a deep look at this next Tuesday (7th September).

Hi,

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 :confused:… 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.

Kind regards,

S-É…

http://ubuntuone.com/p/FOA/

boolean are not easy to work in blender

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 !

i did not use any boolean to do this

you could also show it as wireframe may be

tell me what you think

happy 2.5

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!

boolean in lbender are a pain in the neck not worling all the times with all objects

so if it works fine then ok
if not then i would suggest to use other tools in blender

salutations

Hello,

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?

unless you can find another soft with good boolean may be you can export it as obj and then import back into blender !

what kind of data do you have to start with?
i mean do you have 3 set of datas one for each layers ?
or you make the layer manually ?

manual boolean
procedure is a little bit longer to do then boolean but is sort of an equivalent

let say that you have your first layer and you make it to look like what you want

now you make a copy of the top part and seperate it from first object / layer to get the bottom of a second object/layer

then you can extrude it i guess but not certain if you can do that depends what data you have to start with!

but then you can modify this second layer to have the thickness size you want
even to not have this layer cover the whole first layer

hope you following me here

now another way to make the second layer would be to use displacement map if you don’t have data’s for make a layer!

i’ll try to make a drawing to show this process

see file

happy 2.5

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!

Attachments


boolean are not easy to work in blender

but i don’t think you need something like boolean to do it !

First of all, thanks for the support. The open source community is a real gem. Please not that my goal is to make sub soil models using open source softwares instead of costly packages available in the market, like 3DGeoModeller (http://www.geomodeller.com/), RockWorks (http://www.rockware.com/product/gallery.php?id=165) or GoCAD (http://www.gocad.org).

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 !

happy 2.5