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


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.

| improve this answer | |
  • $\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 '19 at 14:51
  • $\begingroup$ Can you post a screenshot? $\endgroup$ – Crantisz Feb 5 '19 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 '19 at 16:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.