← Numbers you can change · Contents · Reading the model →

6. The pot inside

The planter is two pieces: the tank holds the water, the pot holds the soil and sits in the tank, 16 mm above its floor. A cotton cord through the bottom of the pot dips in the water and keeps the soil wet. On this page the pot is made, with its holes.

The pot

The pot has the shape of the tank, a little smaller and lower. Write this under the tank part:

@part
Solid pot()
{
    return potShape()
        .shell(open: faces.top, thickness: 1.6.mm);
}

/// The outside of the pot: the shape of the tank, a little smaller and
/// lower, 16 mm up. Below it stays the water.
Solid potShape() => box(size - 2.mm, size - 2.mm, height - 18.mm)
    .fillet(edges.parallel(Z), r: 9.mm)
    .draft(faces.left + faces.front + faces.back + faces.right,
        angle: -4.deg)
    .fillet(edges.of(faces.bottom), r: 1.mm)
    .move(z: 16.mm);

For now the pot floats in the tank, with nothing under it: page 8 gives it a shelf to rest on.

The pot in the tank

The holes in the bottom

  1. Open the eye in the view bar and untick tank: the tank hides, the pot stays. Click Top.

  2. Right-click the middle of the bottom of the pot and choose At this point › Hole › Clearance › M8: a hole 9 mm wide, for the cord. (The menu sizes holes for screws; any size can be typed afterwards.) Make its at: vec(0.mm, 0.mm, …), the middle.

    The hole menu

  3. Right-click the bottom again, towards the front left, and choose Hole at point › Clearance › M3: a drainage hole 3.4 mm wide, for the water the soil does not hold. Make its at: vec(-12.mm, -12.mm, …).

    One drainage hole

Four holes, said once

Four drainage holes are better than one: one in each quarter of the bottom, at ±12 mm across and ±12 mm deep. You could right-click three more times: four almost equal lines, which differ only by where. When something repeats, the code can say it once and list what changes. Replace the pot part with:

@part
Solid pot()
{
    auto p = potShape()
        .shell(open: faces.top, thickness: 1.6.mm)
        // M8 clearance hole (through: true goes all the way)
        .cut(circle(d: 9.mm), on: faces.normal(Z).largest,
            at: vec(0.mm, 0.mm, 17.6.mm), depth: 5.mm);
    // four drainage holes, one in each quarter of the floor
    foreach (x; [-12.mm, 12.mm])
        foreach (y; [-12.mm, 12.mm])
            p = p.cut(circle(d: 3.4.mm), on: faces.normal(Z).largest,
                at: vec(x, y, 17.6.mm), depth: 5.mm);
    return p;
}

Read it from the top:

The holes

Open the eye again and tick tank.

Check

In section: the pot in the tank, with room for the water below.

The pot in the tank, in section

The code at the end of this page: planter-06.hcad.

← Numbers you can change · Contents · Reading the model →