Based on discussion at:

trying to work out how to cut out a hemisphere as modeled by:

```
intersection() {
sphere(20);
translate([-100,-100,0]) cube([200,200,200]);
}
```

To keep things simple, we’ll see how well this can be done with just a square endmill.

Interestingly, it could be cut (albeit at a smaller size which matches the tool) using the radius endmill I’ve been working with in other posts:

and

and the following post

by just moving the tool in a suitably sized circle at the depth to cut a hemisphere of the size which the radius tool could cut.

Instead, we will make a series of cuts using a square endmill from a suitably sized piece of stock — two series:

- first a series of rings with an increasing central diameter at ever greater depths so as to describe the hemisphere as if it were a Ziggurat, cutting out the latitudes of the shape
- a series of hemispherical moves over the longitudinal axes of the hemisphere — note that at the apex the movement will need to include additional movement for the diameter of the endmill so as to clear the top of the hemisphere

As with other projects, we’ll start in Blockscad modeling first the stock and some basic variables, then define modules for the two sorts of cuts, and a pair of loops to then cut out the shape.