@3dementia - I’m talking about a situation which requires geometry to be added. I’m trying to figure out a workflow for grafting it in that actually works.
@rarebit - I already mentioned in my original post why booleans are not an option. First, they introduce random geometry mistakes when either mesh is complex, unfinished, or dirty. That complexity, and those mistakes are not related to the intersection complexity. Second, they don’t work on non-closed submeshes.
I should also add that this is for non-organic precision-shapes, where ‘kinda close’ to the right place is not good enough. I’ve attached an image example of a single cylinder being grafted onto a flat surface. If I know exactly which verticies I need to graft, shrinkwrap can help make them coplanar with a target surface, but it won’t subdivide the target surface for me.
Alias seems to have a workflow for doing this around a mesh-intersection tool (though I’ve never used it). Note that mesh intersection is much simpler than boolean intersection. It simply creates curves at the intersections of two meshes (which don’t need to be closed shapes), which can then be used to cut the meshes. That would at least make it easy to create the right verticies, though it might still be a manual process to weld them together.
As a programmer, this feels like something the computer could do for me so easily, and with math that’s much simpler than boolean mesh intersection. All I want to do is grab a ‘feature’ mesh, and slide it onto a ‘target’ mesh – causing the ‘target’ mesh to subdivide everywhere it gets hit by a vertex of the ‘feature’ mesh, and simultaneously preventing the feature-vertex from penetrating the surface (keep it coplanar with the surface). In a way, this would be like having a “submesh shaped knife cut”.
If you kept sliding the feature into the target, eventually it would be completely smashed into the target mesh surface (it would look like it was shrinkwrap(ed), but it would actually be subdividing the faces), creating a set of cuts completely coplanar with the target surfaces. In my case, I wouldn’t do this, as I want the feature to stick out from the surface. I would slide it in enough to create the necessary cuts in the target surface to join them. This operation doesn’t need to deal with the complexity of removing faces (for example, the faces underneath my new feature-detail), as I could easily remove them manually.
Just like the current shrinkwrap modifier, this doesn’t have the complexity (and unpredictability) of booleans, because ray-to-plane intersection is precise and well defined. As you slide the feature-mesh along an axis, each verticies of that mesh creates a precise ray in the translation direction. Each vertex-ray would intersect the target mesh in one precise spot, and these would be the only places new verticies would be added to the target mesh. Likewise for edge-rays and surfaces. It would only create these verticies when you slid the feature mesh close enough to touch the surface, giving you control over the orientation of the feature protruding from the surface.
Is there any Blender workflow that can get anywhere close to this result, even with a few steps, like the Alias mesh-intersect feature above?
The best I can find is:
- use shrinkwrap to make coplanar contact points
a) put the feature mesh into a separate object
b) add a “contact points” vertex group to the feature-mesh
c) put the points which are going to merge onto the target surface into the “contact points” group
d) add a shrinkwrap modifier to the feature mesh, use “nearest surface point”, choose the target mesh, and the contact-points vertex group
e) position the feature where you want it relative to the target mesh.
f) apply the shrinkwrap modifer
- manually merge the faces.
a) JOIN the two meshes, and go into edit-mode
b) remove faces and manually make new faces to stitch the “contact points” into the target mesh
However, it only works well for grafting onto a flat surface. A target-mesh with shape requires additional verticies to be added because of edge/surface intersections that shrinkwrap doesn’t produce.