I'd like to create a cube with one side rippled in the form of a sine wave.

Here's what I've done so far:

  1. I wrote a Python function to create a sine wave curve
  2. I extruded the curve to form a 2d sine wave
  3. I boolean joined the 2d sine wave to a 3d cube

This results in a 2D sine wave on top of a 3d cube - picture attached.

Instead, I'd like to have a solid 3d object with one side being a wave. Ideally, I'd like to have an object with no internal faces, as I am exporting this into another program that does not deal well with internal faces.

Sine wave Cube


1 Answer 1


You can just extrude your sine surface second time, and then

scale it to 0 in extrude direction S,X(Y or Z), 0

enter image description here

In my gif I also recalculate normals at the end.

  • $\begingroup$ This is exactly what I'm trying to do, but I can't seem to replicate what you're doing. I took my curve, made it 2D, converted to a mesh, then extruded in the z direction. However, when I scale how you describe, the entire 3D curve becomes smaller or larger in amplitude, the bottom surface doesn't flatten out like yours does. Could you explain the scaling step a little more? Thanks... $\endgroup$
    – Ian Vera
    Feb 5, 2019 at 14:51
  • $\begingroup$ Can you post a screenshot? $\endgroup$
    – Crantisz
    Feb 5, 2019 at 15:12
  • $\begingroup$ Actually, it looks like it is working now. By selecting the vertices on the bottom surface I was able to replicate what you did. Previously I had selected all the vertices when scaling. $\endgroup$
    – Ian Vera
    Feb 5, 2019 at 16:01

You must log in to answer this question.

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