2
$\begingroup$

Imgur album with the pictures I will use to show you the problem: https://imgur.com/a/DBI6A

So, I have many cases like this:

Image 1 in the Imgur album

Here I moved the left vertex to show you that the "green" upper edge is not the same of the "red" edge:

Image 2 in the Imgur album

When I use TinyCAD add-on XALL feature to add vertices to all the edges which intersect with other edges, the faces which were supported by those edges get deleted:

Image 3 in the Imgur album

Then I use Remove Doubles and press F to remake the deleted faces:

Image 4 in the Imgur album

But, as you can see, the materials applied to those faces are of course different from the original ones. I could re-assign all the materials but that would require a lot of work since I have many of these cases.

Is there a way to use TinyCAD XALL feature while keeping faces and their assigned materials?

$\endgroup$
1
$\begingroup$

Materials are specifically assigned to faces and faces only, edges can't hold any information about material slots.

If all faces are removed and no renderable geometry is left behind then all material slot assignments will invariably be lost, there is no way to recover material information from edges alone.

This is not a problem specific of TinyCAD or any other addon for that mater, it is just intrinsic to how the data structures work in Blender.

As far as I know there is really no way around this.

You may alternatively try with varying degrees of success using Edit Mode Boolean operations to try and find intersections without loosing the faces; or use tiny cad on a duplicated copy of those edges instead of the original ones attached to faces.

$\endgroup$
  • $\begingroup$ So I guess one way could be creating a script similar to XALL feature in which holes will be filled with faces, and materials will be assigned basing on the previous faces materials on that same location(possibly using a distance threshold) $\endgroup$ – Francesco Oct 3 '17 at 18:34
  • $\begingroup$ That would be a possibility. I'm no coder but I am assuming that retrieving face positions and relating them to random newly created ones would not be a trivial task at all, you can't easily guarantee any type of direct correlation. It would probably be a lot easier to make said script copy edges before calculating intersections, at the expense of cleaning up duplicated geometry $\endgroup$ – Duarte Farrajota Ramos Oct 3 '17 at 18:41

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.