Fill gaps after solid creation

I have many cases like this, which comes after creating solids by extruding selected faces in the normal direction. I am looking for a robust approach that can detect and fill the gaps that are left after creating the breps, so my final brep becomes a continuous brep around the corners. Surely there is a simple and elegant solution to getting the result that I am looking for, that I am not seeing?

No 3D software can read your mind and know what you want there - a corner, a chamfer, a true arc fillet, a cut-off arc fillet, a curvature continuous fillet? You need to model what you want.

3 Likes

This is an odd question. If I model 3/4 of something, how can the software automatically create the last 1/4?

Like @Lagom said - you need to model it. If your shapes were very standardised following similar rules you could probably create a grasshopper script to do the job but those shapes are so simple it’s easier to just model it.

In those examples you can probably just loft between the edges of the two shapes. Delete the two faces, then join your loft to the part.

I did not expecting that, but my question could have been more clear. The parts I have are created automaticallly, so I am not modelling it, but I want to detect and fill the gaps using python nodes. I can try to identify the faces that satisfies the criteria of these corner cases, and from that create the missing solids. Or I can offset the original brep that the breps in the pictures are based on, create a new brep from the offset, and cut out the orignal solid and the parts showing in the picture. However there are also other adjacent breps that needs to be cut out and there will be quite a few cutting operations. So it was more a question of how to do this efficiently and reliably. A plain corner would be just fine, its just to make a contious solid around the corners

Now I havent modelled anything, I have created the shapes automatically using a grasshopper script and python. So I dont think its an odd question to ask how I can also do the same for the special cases around the corner. But the question could obviously have had more context. I am not looking for a manual solution, a reliable,robust and efficient way to automatically fill the gaps using grasshopper and python nodes. As long as the boolean operations dont fail, this is probably the easiest, create a solid based on the offset of the original solid which the breps in the picture are based on, and then cut this new solid with the original solid, new created solids and adjacent solids. Perhaps there are more efficient ways, but that should work

Ok But why can’t that script just create the 2 sidewalls in the correct position? It seems like those side walls just need to move into place.

1 Like

Of course you can do that, but that is kind of the question. You can make the code work on the faces, but you need to verify that the faces are indeed the correct ones, and that they are a corner case scenario. I tried to do this with ray tracing, but I could not make it work. But I can filter out faces that are perpendicular to the original face, and ignore horizontal faces, that leaves two faces. Only one is a corner case. But it should be possible to use that approach for sure, just need to figure out how. So you can base it on the faces, or you can base the solution on breps and cutting operations. Both should work, the interesting solution is the one that is the reliable and most efficient

Without seeing how you created those parts it’s a bit difficult to help. Those side walls could literally just be moved by an amount = to the thickness of the back wall in the correct direction, then boolean union with the back wall.

Not really sure what logic is being used to create those shapes.

Sometimes it helps just trying to explain it. Think I found a way based on the normals now. The only information that is relevant is the geometry the shapes are generated from, the generated shapes and that I want to fill the gaps in the same way.