Hi @thewindgone,
Have you already checked out the SolidBuilder doc by chance? It's got a bit more information about how it works and a more visual example, but from my understanding it creates solids and closed solids out of surfaces.
In your example input, it looks like it has a boundary wall between the solids and so it has created two solids. If you wanted to output a single solid, you could add an additional step of using the SolidDissolver, which is a HUB transformer (community user-made or Safer-made).
I mocked up a quick example creating data similar to yours in the purple bookmark, and using the SolidDissolver, I get my single Brep Solid. The 12 features going into the SolidBuilder are faces, and 2 solids are output from the SolidBuilder.
I made a small change in the green SolidDissolver to remove the GeometryCoercer because my particular input was already a Brep Solid. There's no actual actionable for you in the transformer to run the workspace. I've attached the workspace as well if you'd like to explore it.
The green bookmark above uses an Aggregator to show it'll output one solid but the difference is that we end up creating a MultiSolid rather than a true brep.
Hope that helps a bit!
solidbuilder.fmw
Hi @thewindgone,
Have you already checked out the SolidBuilder doc by chance? It's got a bit more information about how it works and a more visual example, but from my understanding it creates solids and closed solids out of surfaces.
In your example input, it looks like it has a boundary wall between the solids and so it has created two solids. If you wanted to output a single solid, you could add an additional step of using the SolidDissolver, which is a HUB transformer (community user-made or Safer-made).
I mocked up a quick example creating data similar to yours in the purple bookmark, and using the SolidDissolver, I get my single Brep Solid. The 12 features going into the SolidBuilder are faces, and 2 solids are output from the SolidBuilder.
I made a small change in the green SolidDissolver to remove the GeometryCoercer because my particular input was already a Brep Solid. There's no actual actionable for you in the transformer to run the workspace. I've attached the workspace as well if you'd like to explore it.
The green bookmark above uses an Aggregator to show it'll output one solid but the difference is that we end up creating a MultiSolid rather than a true brep.
Hope that helps a bit!
solidbuilder.fmw
Hi, @jovitaatsafe
Thank you so much for your detailed illustration about SolidBuilder. I have already checked the SolidBuilder, and actually, I want to output two small solids from these faces. I just want to know how SolidBuilder can recognize these faces to build two solids, not a big one. Maybe three solids, two small and one big, could be built by these faces. But what I need is that two small solids can be validly built. So I really want to know how does SolidBuilder correctly identify the faces to construct a solid.
Hi, @jovitaatsafe
Thank you so much for your detailed illustration about SolidBuilder. I have already checked the SolidBuilder, and actually, I want to output two small solids from these faces. I just want to know how SolidBuilder can recognize these faces to build two solids, not a big one. Maybe three solids, two small and one big, could be built by these faces. But what I need is that two small solids can be validly built. So I really want to know how does SolidBuilder correctly identify the faces to construct a solid.
Hi @thewindgone,
No Problem! I checked in with our development team for a more in depth explanation and got back: "The solid builder intersects all of the input surfaces and uses them to create a partition of 3D space. Each enclosed volume in that partition is constructed into a solid, using information from the input faces to build them. Any volumes that are completely surrounded by a single other volume are considered a void within that other volume".
In other words, I believe solids are constructed out of intersected surfaces to create closed solids.
Hi @thewindgone,
No Problem! I checked in with our development team for a more in depth explanation and got back: "The solid builder intersects all of the input surfaces and uses them to create a partition of 3D space. Each enclosed volume in that partition is constructed into a solid, using information from the input faces to build them. Any volumes that are completely surrounded by a single other volume are considered a void within that other volume".
In other words, I believe solids are constructed out of intersected surfaces to create closed solids.
Hi,@jovitaatsafe
Thank you for your explanation about SolidBuilder. But now I'm puzzled with 'a partition of 3D space'. Is it a whole 3D space for all input faces? Is it like a 3D Bounding Box?
Hi,@jovitaatsafe
Thank you for your explanation about SolidBuilder. But now I'm puzzled with 'a partition of 3D space'. Is it a whole 3D space for all input faces? Is it like a 3D Bounding Box?
@thewindgone,
I'm not too sure I fully understand your question, so please feel free to elaborate if I didn't quite get it. I guess you can interpret it like a bounding box, such that if all the faces intersect to create something fully contained (such as a box), that would become one solid. If you haven't already, I think the example image in the doc might help with the explanation. "The output consists of a constructed solid feature in blue and unused solid features in brown and purple that were not used in constructing closed solids."