I'm looking for a way to introduce a cut to a plane where it is intersected by another plane.
The plane is a single face for simplicity.
Here's the setup:
- Add a plane
- Add another plane and rotate it by 90 degrees at X or Y so it is not coplanar
- Join the two meshes together using Ctrl + J and enter edit mode
- Notice that in edit mode face select allows selecting one or the other face
- Notice that no edge has been introduced where the two planes intersect
The first solution I came up with was to just use two loop cuts, one on each plane. In this setup the plane dimensions were left unchanged as was their location so it just so happens that the intersection edge coincides with what you get if you loop cut both the planes.
The second solution I found was to use a boolean modifier on both planes, selecting the other plane as the object for the boolean operation in both cases. This correctly introduces an edge where the planes intersect. The can be joined after both boolean operations have been applied, giving a single mesh with four faces as desired.
I am wondering about the general case, though. What if one plane was twice the size of the other, or shifted by half the size?
My solutions do not work in those cases. Loop cut needs to share origin in order for the cut offset (half the face size) to coincide with the intersection edge. Boolean doesn't work if the faces are different sizes or shifted against one another so that their edges do not connect anymore.
Is there a general purpose tool in Blender for selecting two faces which may or may not intersect and saying "introduce edges where they do"? Obviously some sort of logic needs to be applied when the faces are shifted so that their edges do not connect with each other, my thinking is in that case both faces should be cut as if the other face was infinite in size and not finite? Or some other logical fallback behavior.
Is there such a tool? This question is primarily for Blender 2.8.