13
$\begingroup$

If I turn a bezier curve to 3D the surface will disappear. But I need 3D curve because it uses all the 3 axis to define the shape. I tried all the Fill options (Half, Front, Back, Full) but none of those do anything for me.

So how to fill a 3D bezier curve? What do those Fill options do using 3D curve?

enter image description here

$\endgroup$
4
  • 2
    $\begingroup$ I think you want to use a NURBS surface, not a Bezier curve. $\endgroup$
    – PGmath
    Apr 2, 2017 at 18:04
  • 3
    $\begingroup$ For those who got here from Google search and want to fill a 2D curve: Edit Mode > Curve > Set Spline Type > NURBS. Then in the Object Data Properties tab, set Shape to 2D, set a Fill Mode other than "None". Under the Active Spline section, tick Cyclic: U. If it's still not filled, you may need to (also in Edit Mode) do Curve > Toggle Cyclic. A lot of steps for something as simple as a fill, but there you have it. If you import an SVG these settings are already set, but there may be cases when you start from a Bezier Curve and need to convert it. $\endgroup$
    – Mentalist
    May 3, 2021 at 8:53
  • $\begingroup$ One more detail to mention - when you Set Spline Type to NURBS, tick the "Handles" option in the Operator Panel to preserve the curve shape. Otherwise, your curve shape gets obliterated into she shape of a polygon (curved shapes disappear). $\endgroup$
    – Mentalist
    May 3, 2021 at 9:01
  • $\begingroup$ In 3.1 there is no need to convert to a NURBS, any type works when fill mode and cyclic U are set as explained by Mentalist (snapshot). $\endgroup$
    – mins
    Jun 27, 2022 at 15:32

4 Answers 4

9
$\begingroup$

What you can do is converting it to a mesh and grid fill the result:

  • AltC: convert to mesh
  • CtrlF: grid fill (in edit mode)

enter image description here

You have two options, allowing to tune the resulting geometry:

  • Giving more or less vertices to the curve
  • Adjusting the grid fill parameters

enter image description here

$\endgroup$
2
  • $\begingroup$ Thanks. Unfortunately it means we lose the original bezier curve during the conversion. But as I asked what those Fill options for if we use 3D curve? Because it seems they do nothing. $\endgroup$
    – Prag
    Apr 2, 2017 at 7:15
  • $\begingroup$ Fill options are to fill along the curve... at first I misunderstood your question, and provided another one (it is now deleted but I will reopen it so that you can see what it means) $\endgroup$
    – lemon
    Apr 2, 2017 at 7:19
6
$\begingroup$

I found a way to mimic what you need, using a mesh that is influenced by a bezier. This is not strictly what you were looking for, as said above, but it could perhaps help you or give inspiration, at least. Or so I hope.

I created a bezier circle with 8 control points (subdivided the default). Flat on the ground, but 3d so, not filled.

Then I created a 8 vertex mesh circle, filled, set a subsurf (level 3) so that it looks like a circle. Each mesh vertex is exactly above each bezier control point.

Then I put an empty where one of the bezier vertices was, and parented the empty to the bezier vertex. Due to the above setup, obviously the empty is also just above the related mesh vertex.

Then I put a hook from that mesh vertex to the hook.

In this way the 3d bezier control point moves the mesh vertex, which looks quite like what you were looking for, at least for this simple example.

see what I mean:

enter image description here

Of course a bezier control points also has handles and those can usually change the shape, and this is not happening here.

Another similar an perhaps easier setup can be made using a lattice deform modifier on the same subdivided 8-vertex mesh circle:

enter image description here

I already gave an answer to another question which (on 2d) uses a similar bezier+empties approach on a different setup: Bezier masks for use with groups of shapes? and there somehow I could setup something similar for handles, too (look for the file linked in comments).

$\endgroup$
5
$\begingroup$

This bad answer was deleted because it was a misunderstanding of the question, but following the comments (in another answer), I reopen it to provide further information about "fill option".

Isolated vertices or lines are not rendered: rendering needs thickness.

From a curve, you have 3 typical ways to give it some thickness:

  • Using a bevel depth:

enter image description here

  • Setting a bevel object which have to be another curve:

enter image description here

  • Or using a 'long' or arrayed object with a curve modifier:

enter image description here

$\endgroup$
3
$\begingroup$

Select the curve turn on 2D in the Ôbject Data properties.

Then from the drop down of Fill Mode select Both.

$\endgroup$
2
  • 1
    $\begingroup$ You do realize that the question was asked almost 5 years ago and already has an answer? More that that, OP specifically stated in the question body why 2D curve doesn't suit their needs. $\endgroup$
    – Mr Zak
    Nov 1, 2021 at 12:31
  • 2
    $\begingroup$ This answer helped me, thank you! $\endgroup$ Oct 27, 2022 at 4:14

You must log in to answer this question.

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