Fill caps of mesh using geometry nodes.

I can have an object follow a profile curve but the fill caps option fills the entire end-cap in. I tried fill curve node in different spots but it didn't produce the cap I was expecting.



The end caps should look something like this


I'm trying to model and 3D print this to see what happens if I adjust different parameters (circle diameter, height, length of venturi opening, etc...)



  • $\begingroup$ Can you share the file? $\endgroup$
    – Kuboå
    Commented Nov 10, 2022 at 12:21
  • $\begingroup$ Ok I've attached it. $\endgroup$
    – Rick T
    Commented Nov 10, 2022 at 12:25

2 Answers 2


When you place two curves inside each other and fill the joined geometry, it automatically produces a boolean operation like you want:

enter image description here

But of course your problem is that this operation turns it into a mesh, so you can't use it as a profile curve to sweep along another curve anymore. To solve that, I simply "swept" the two cap curves (the square and the circle) separately. Sweeping the joined curve like you did creates the same result, shape-wise. However, flipping the faces inside the tube is more cumbersome that way, so if you care about all normals facing the correct direction, sweeping them separately might be desirable.

Now you can create the caps using the above method, then place them on the endpoints of the main curve with an Instance on Points node

Flip Faces, Realize Instances, and Merge by Distance nodes are just maintenance nodes to turn the whole thing into a single manifold mesh.

enter image description here


For decent topology on complex profiles, it might be simpler to derive the profile-curve from the boundaries of the cap, than to attempt to fill the profile-curve to make the cap.

The Capped Sweep group will sweep a mesh-cap along a curve-profile.

enter image description here

If you're generating the mesh-cap internally, depending on how you do it,you may have to flip some faces:

enter image description here

Here are a couple of results, one using the internally-generated mesh above, and another using an external mesh, to create profiles:

enter image description here

Blender 3.3

  • 1
    $\begingroup$ This is beautiful, thanks a lot! $\endgroup$ Commented Jul 11, 2023 at 18:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .