3
$\begingroup$

I have an object containing multiple interior faces defining closed volumes. I'm looking for a way to identify each of those volume and separate them in different objects.

The object is in "one piece" all the faces intersection are edges. This result could be reproduce by taking an object and applying multiples bisects with "fill" option enabled, exept that some faces are missing giving concave geometries.

Here is an example blend file: Example

enter image description here

The green and red parts are two examples of the pieces contained in the main cube (in transparent grey). I want to get all of them, like a puzzle of piece that fit together to form the initial shape.

So obviously the internal faces will be duplicates during the process since each internal face makes the separation between two volumes. I'm trying to figure out how to do that using blender built in functionalities or a python script with a decent complexity.

Here is an 2D view to simplify the undestranding of the problem:

enter image description here (The red line represent an internal faces that needs to be duplicated)

We can see from that side that 7 shapes are forming the square, and I want an automated way to identify those different shapes. It is easy in 2D but more complex in 3D.

A partial solution would be to use raycasts to find the faces of a box, but it's more difficult when taking the concaves geometries into account.

Any idea would be welcome.

$\endgroup$
0
$\begingroup$

You could try adding the Solidify modifier, boosting Thickness a bit, and then hitting Apply. Then, go to edit mode, select a vertex, and do Select Linked All to select a particular volume. Finally, choose Separate (P key by default) to move the selected volume into its own object.

Your topology will have to be well organized to start I think (i.e. faces don't intersect each other) otherwise the 'solidified' topology will be weird too.

$\endgroup$
  • $\begingroup$ The object is in "one piece" all the intersecting faces have a common edges. This result could be reproduce by taking an object and applying multiples random bisects with "fill". With your solution the result of the solidify will also be in one piece. $\endgroup$ – Pyros Nov 20 '17 at 8:49
  • $\begingroup$ The Separate command will move the selected volume into its own object (just edited my answer). $\endgroup$ – QuadrupleA Nov 20 '17 at 17:43
  • $\begingroup$ All the faces are linked, crossing faces share the same vertex, they are not lose part. If i do a select linked all, i will select everything (or in your exemple all the faces created by the solidify) I'll add a blend file to give an example soon. $\endgroup$ – Pyros Nov 21 '17 at 10:53
  • $\begingroup$ Thanks, looks like solidify doesn't really work with internal faces. Only other way I can think of would be to use boolean modifiers and intersecting shapes (e.g. much larger cubes arranged to slice across the original). Difference would give you one half of a split, Intersection the other. $\endgroup$ – QuadrupleA Nov 22 '17 at 16:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.