"Watertight" 3D Models

Hi - I am somewhat new to Blender and learning it as part of a course I am undertaken. An assignment from my course requires me to create “watertight” 3d models. I understand this to mean my models should not include hidden/extra geometry for various reasons. My attached mech model (not yet complete) currently contains lots of extra geometry including faces/edges, etc. that are hidden (mostly hidden by armour). My question is this:

How can I most efficiently remove the extra geometry hidden under the mech armour? Can I simply join all my meshes together and remove doubles

Many thanks


Mech.blend (597 KB)

It means that the mesh has to be manifold. Polygonal modeling is a surface type modeling paradigm, so you’re using polygons to describe a surface or multiple surfaces. Those surfaces need to be enclosed to describe a solid. All of the mesh elements (vertices, edges, faces) need to be part of exactly one such surface. Any deviation from that makes the mesh non-manifold.

From left:

  • A cube which has 6 faces. all of the faces are pointing out. It consists of a manifold mesh
  • Connected edge that is not part of the described surface, non-manifold
  • Connected face that describes another surface, interior face, non-manifold
  • Incomplete surface, open edges, non-manifold
  • Connected vertex that is part of two surfaces, non-manifold
  • Complete surface but one of the faces is flipped, pointing in instead of out like the others, non-manifold
  • loose geometry that aren’t part of one complete surface, non-manifold

Intersecting geometry like in the second object is still manifold. The only time that is a geometry problem is when 3D printing, and the slicing software can’t interpret intersecting geometry. In that case the mesh parts need to be combined, connected to describe one surface instead of multiple.

Knowing what needs to be modeled helps to avoid non-manifold errors, and also find and fix them. Selecting non-manifold (ctrl+shift+alt+M) selects all of them, and depending on the mesh selection mode and what gets selected, it’s somewhat easy to determine what the errors are

  • I applied object scale with ctrl+A -> scale. That transfers object scale to object data (mesh). Unapplied, it means you’re looking at different size object than what the tools and modifiers see, since those operate in object data level. Applying makes them match. http://pasteall.org/pic/show.php?id=72366
  • Selecting non-manifold in edge select mode selects open edges and interior faces in this case, so could delete faces and get rid of the latter. Selecting them again and filling with a face (F) fills the open edges
  • W -> remove doubles gets rid of double geometry within a merge distance. Merge distance can be adjusted from the operator panel (bottom of the tool shelf, F6) which now makes sense since object scale was applied
  • When selecting non-manifold in vertex select mode selects 0 vertices, the mesh is manifold.

Many thanks for taking the time to give me such a detailed response JA12 - I really appreciate this. I tried to follow your steps by slowing down the video and mimicking what you did - I don’t fully understand it all but was able to understand it at a high level at least. Ultimately I seem to be left with the leg geometry inside the leg armour - and I’m sure this isn’t right - so think I will try to re-surface model the mech again tomorrow without having any objects inside each other - this however was interesting to follow - thanks

Ah. Didn’t use a lot of tools in the video, it’s more complicated to understand the mesh errors that get selected with select non-manifold (ctrl+alt+shift+M, or from the select menu). That also has options on the operator panel to limit the error types it detects. Still, probably would need to explain the steps and reasons behind them for it to be more clear.

I’ll defenestrate the screencast keys addon which isn’t helping. It’s too busy, showing every key press. Removing navigation, it’s just the mentioned mesh selections, deleting mesh elements, filling faces, and remove doubles that gets rid of the errors.

I’ll attach the end result from the video. Might not be modeled how you want it, but there are no mesh errors left at least, which was the requirement in the question.

Intersecting geometry like with the leg parts is not a mesh error. It’s normal that a model consist of multiple mesh parts, intersecting or not. When all parts are manifold, or “watertight”, it’s error free. Open edges are also normal error to leave in the model, usually left because faces from the intersecting parts that are not seen can be removed. But it all depends on the requirements that come from the end use.

Don’t know what it’s for or why it needs to be “watertight”. If it’s for 3D printing, the model is not ready for that. Like I mentioned, intersecting geometry might not be a problem for that if the importing application can interpret those (such as Slic3r), but some parts are apart from the main model or just barely overlapping. If it doesn’t accept intersecting geometry, or you want a hollow model to save material and time, the parts need to be combined to have one surface. That way it’s easier to describe a hollow model because the backing surface can be added with solidify modifier for example.

Many ways to combine the parts. Not a big fan of boolean operations, but it’s one option:

I selected something from the two parts that need to be combined. Then ctrl+L to select everything linked to those and hid everything else with shift+H. Then I selected one of the two parts with the same way, and ctrl+F -> intersect (boolean), and changed the operation to Union from the operator panel.

That combines the surfaces, but the resulting structure is pretty much crap, like expected. Would need to merge vertices, cut new edges, to clean it up. Or if it’s for 3D printing and it triangulates properly, could leave it as is, printing doesn’t care about pretty structures.

Alt+H to unhide the rest.


Mech_ja12.blend (123 KB)