diff --git a/config.toml b/config.toml
index c424339..63beec9 100644
--- a/config.toml
+++ b/config.toml
@@ -1,5 +1,5 @@
-name = "From the Office of the Chief Sundries Officer and Head of R&D"
-title = "From the Office of the Chief Sundries Officer and Head of R&D"
+name = "Office of the Chief Sundries Officer and Head of R&D"
+title = "From the Desk of the Chief Sundries Officer and Head of R&D"
# The URL the site will be built for
base_url = "https://proclamations.nebcorp-hias.com"
diff --git a/content/sundries/a-very-digital-artifact/index.md b/content/sundries/a-very-digital-artifact/index.md
index 3337a6f..d7243b3 100644
--- a/content/sundries/a-very-digital-artifact/index.md
+++ b/content/sundries/a-very-digital-artifact/index.md
@@ -3,7 +3,7 @@ title = "A Thoroughly Digital Artifact"
slug = "a-thoroughly-digital-artifact"
date = "2023-01-17"
[taxonomies]
-tags = ["3dprinting", "CAD", "GIS", "CNC", "art", "sundries", "proclamation"]
+tags = ["3dprinting", "CAD", "GIS", "CNC", "art", "sundry", "proclamation", "research"]
+++
![A plywood slab carved with CNC into a topographic representation of California][main_image]
@@ -87,10 +87,11 @@ The CNC shop had requested a model in a format called
[ST**P**](https://www.fastradius.com/resources/everything-you-need-to-know-about-step-files/). `.stp`
is the extension for a "STEP" file; STEP is supposed to be short for "standard for the exchange of
product data", so someone was playing pretty fast and loose with their initialisms, but I
-digress. The main thing about STEP files is that CAD programs can really easily convert them
-into their native internal solid body representation, which allows easy manipulation. Another thing
-about them is that a CAD program can usually turn a manifold mesh into an STP file, unless the mesh is
-too complicated and your computer doesn't have enough RAM (*note: foreshadowing*[^chekhovs-ram]).
+digress. The main thing about STEP files is that CAD programs can really easily convert them into
+their native internal solid body representation, which allows easy manipulation. Another thing about them is that a CAD program can usually turn a manifold mesh
+into an STP file, unless the mesh is too complicated and your computer doesn't have enough RAM
+(*note: foreshadowing*[^chekhovs-ram]).
![an overly-complicated mesh of a cube][meshy-cube]
*
this cube's mesh has too many vertices and edges, I hope my computer has enough
@@ -554,8 +555,8 @@ different tools.
This also meant that I would run into limits due to translation overhead when going between
them. Let me explain. I'd get a mesh in Blender, export it to a neutral mesh format like
[OBJ](https://en.wikipedia.org/wiki/Wavefront_.obj_file) that both programs understand well, and it
-would be a 60 megabyte file. My computer has 32 **giga**bytes, more 500 times more memory than
-that, so you'd think it would not be a problem.
+would be a 60 megabyte file. My computer has 32 **giga**bytes, more than 500 times more memory than
+that, so you'd think it would not be a problem.
The act of asking FreeCAD to import that OBJ file as a *mesh*, and not even as a solid body, caused
the memory use to go to 21 gigabytes. This is a lot, but the computer still had plenty of room left
@@ -566,7 +567,8 @@ When I attempted to convert that mesh into a solid body, though, memory use ball
encompass all available RAM, and my system slowed to a nearly imperceptible crawl until my frantic
`ctrl-c`s were finally registered by the [signal
handlers](https://www.gnu.org/software/libc/manual/html_node/Termination-Signals.html) in FreeCAD
-before I could use it again. This happened a lot.
+before I could use it again. This happened *a lot*. At last, the prophecy had
+come to pass.
I went through many rounds of attempting to clean up the mesh and reduce its complexity, but I don't
have many notes or intermediate artifacts from this time. A lot of that was being a beginner at both
@@ -581,12 +583,13 @@ conspired to make this portion of the process a total slog with very little to s
Finally, after a couple weeks of trying and failing to get something into FreeCAD that I could then
work with (like melding it with a thick base and trimming that base to follow the shape of the
-state), I had had enough. I have some notes from the time:
+state), I had had enough. I have some notes from the time, from right after I'd started a test print
+of my latest model:
-> I'm finally printing something out. I've given up on converting it into a parametric
-CAD-like object; it seems this is a Hard Problem, but I'm not sure why. My goal with doing that was
-to give a parametric CAD file to a local CNC milling shop, per their request, since when I suggested
-a mesh-based file (STL), the guy was like "I can't do much manipulation with that to make it more
+> I'm finally printing something out. I've given up on converting it into [something CAD-friendly];
+it seems this is a Hard Problem, but I'm not sure why. My goal with doing that was to give a
+CAD-friendly file to a local CNC milling shop, per their request, since when I suggested a
+mesh-based file (STL), the guy was like "I can't do much manipulation with that to make it more
manufacturable, so a real CAD file would be best".
>
> But at least with an STL file, I can print it myself. So that's going now, we'll see how it turns
@@ -598,13 +601,13 @@ When that print was done, here's what it looked like:
![a piece of literal dogshit][crappy_test_print]
-In case you were not revolted enough, I invite you to cast your gaze upon this eldritch abomination:
+In case you were not revolted enough, then please allow me to direct your gaze upon this eldritch abomination:
![close-up of extremely bad print results][crappy-close-up]
As bad as it looked, it felt even worse to touch. Setting aside the hideous base with its weird
artifacts due to those areas not being a single flat polygon, but rather several polygons that were
-not parallel or co-planar (modeling artifact), there was just too much high-frequency detail in the
+not parallel or co-planar (modeling artifact), there was still just too much high-frequency detail in the
terrain, and it was a total mismatch with the 3D printed medium.
The real thing was going to be carved out of wood by a [CNC
@@ -634,11 +637,12 @@ simplification](https://graphics.stanford.edu/courses/cs468-10-fall/LectureSlide
the geometry was practically homeopathic.
![the final model in blender][final-model]
+*by the principles of homeopathy, the fewer the vertices, the more potent the mesh*
Check out this close-up of Mt Shasta:
![close-up of Shasta in the final model][final-shasta]
-*a less lonely Mt Shasta*
+*a chonkier, less lonesome Mt Shasta*
Present, but not obnoxious. I printed out another test print to make sure it looked as good in
physical reality:
@@ -652,25 +656,158 @@ can still look at and interact with a 3D model of it in the browser on that site
of neat. A couple different strangers uploaded pictures of their prints of it, which I thought was
cool!
+I brought the mesh into FreeCAD and finally was able to create the STP[^fancy-iges] file the shop had
+asked for, a mere twenty-five days after I'd last spoken with them.
+
# Final cut
-# Thank yous, lessons learned, and open questions
+I emailed the file to the shop, and said,
-thank you: wife, steve at the shop, friends indulging my oversharing, NASA, Blender, FreeCAD
+> As modeled, there's probably more high-frequency detail in the mountains than is necessary, as I'm
+> going for something that feels nice to the touch so smoother is better. It's also modeled at a
+> slightly larger scale than necessary, though not too far off (it's 500x577mm, and I'm interested
+> in the 400-500mm range for width; the relief height is in the 20-30mm range depending on scale). I
+> was imagining it would be carved with contour cuts in some thick nice ply, though I'm happy to
+> hear better ideas; I have literally no experience with making something like this.
-lesson: I started basically knowing nothing, but now retracing my steps I feel like I understand everything
-much better than when I was first racing through the material trying to get to a point where I could
-just produce the artifact.
+The shop came back with,
-lesson: pipeline of geotiff -> mask -> scaled heightmap -> mesh -> solid body
+> I can’t smooth out the cuts, I can only cut what is there. That being said, if I use a rounded cutter, it will round out the valleys but not the peaks as it won’t go into areas that it can’t reach.
+>
+> Hope that makes sense.
+>
+> Let me know if this will work for you or not. If you think it will, I will try to program the toolpaths and see what it will look like.
-lesson: see whole article about GIS stuff
+I definitely didn't want to lose the sharp seams in the bottoms of the valleys.
-question: could I do it better in blender? freecad? could I have used gdal_polygonize (doubtful,
-given how much I had to blur and decimate)?
+> Me: I guess what I was really saying is that if some detail is lost due to using a larger cutting
+head that's probably fine. I wouldn't necessarily want the valleys to be made more concave than they
+already are, though. Does that make sense?
+>
+> Shop: Yes, that makes sense. I can use a Vee cutter and it will cut the sharp edges in the
+valleys."
+
+It felt nice to be understood! Next came the issue of cost:
+
+> I ran the numbers on both sizes using a .01” step-over cut, meaning that is how far apart the
+> finish cuts will be from each other.
+>
+> You will probably see some tool marks depending on what type of material is used.
+>
+> The larger one is coming in at around $850.00 and the 12” one at $350.00.
+>
+> I can go tighter, say .005” step-over and it will probably not show many marks but I won’t know
+> until I run it.
+>
+> If I do that it will double the cut time so close to doubling the price.
+
+One of the things that my wife had said she wanted to do with the carving of California was sand and
+finish it herself, so the coarser 0.01-inch step-over cut was not really a problem. Even the
+0.005-inch cut would still require a final sanding before staining or sealing.
+
+The "larger one" the shop referred to was for a 20-inch wide carving, which would be huge anyway; 12
+inches was fine. Still, $350 was at the top of what I had hoped/expected to spend. I hoped it was
+worth it!
+
+After a few more back-and-forths and days, I got a message from the shop saying it was ready. They
+also said,
+
+> I decided to run these with half the original step-over, which means it takes twice as long but
+> the finish is almost smooth. I think you will be pleased with it.
+
+Whoa! This meant he had used the 0.005-inch cutting resolution, and the job had taken twice as long
+as originally quoted. Like the [kind and generous tailor from *The Hudsucker
+Proxy*](https://getyarn.io/yarn-clip/0f78e11f-df94-42e4-8bdf-b11c39326f7c), he had given me the
+double-stitch anyway, even though I had insisted that single stitch was fine. I was very excited and
+grateful, and couldn't wait to see it.
+
+## Pics or it didn't happen
+
+When I got there, it was almost exactly what I had imagined and hoped it would be. Obviously, you've
+seen the photo at the top of the page, but please enjoy this CNC-carved topographic California porn.
+
+![portrait of the whole state][wood-portrait]
+*some nice soft lighting*
+
+![our old friend, the Sutter Buttes][wood-buttes]
+*sutter buttes, we meet again*
+
+![down low view, like the shot from Blender][wood-blender]
+*recognize this angle, from blender?*
+
+![close up of Shasta][wood-shasta]
+*lookin' good, shasta*
+
+I wasn't the only one pleased with it; my wife was delighted when she saw it.
+
+MISSION ACCOMPLISHED, HAPPY *belated* BIRTHDAY!
+
+# Thank yous
+
+Obviously, I have tons of people to thank for their help with this, either directly or
+indirectly. First and foremost, my wife, for everything but especially the inspiration and also
+patience with me during this process.
+
+A close second goes to Steve at [Triumph CNC](https://www.triumphcnc.com/). He asked me what I was
+going to do with it, and when I said give it to my wife as a gift, he said, "Oh, that's great! I
+feel even better about using the smaller step-over now." If you need some CNC milling done in Los
+Angeles, maybe give them a call!
+
+Along the way during this journey I got a lot of feedback and suggestions from friends and
+colleagues, so thank you, 'rades[^short-for-comrades]!
+
+Of course, this would all have been unthinkably difficult not so long ago, but thanks to things like
+NASA's missions and public GIS datasets, almost anyone can do something like this.
+
+And not just public, government data and organizations, but private, passion-driven free software
+projects like Blender and FreeCAD rival functionality available only in multi-thousand-dollar
+commercial packages. I'm in awe of their accomplishments; they are true wonders of the modern world.
+
+# Things I learned, and some lessons
+
+I said early on that I knew basically nothing about any of this, and that was true. I had had some
+earlier casual experience with both Blender and FreeCAD, and many, many years ago I had taken a
+semester of engineering drafting my first year of college. But I knew basically nothing about GIS,
+about the different map projections, about shapefiles, about any of the tools or jargon. Likewise,
+I have no experience or instruction in any kind of CNC milling; my scant 3D printing experience
+doesn't really apply.
+
+This article is as close as I could get to serializing nearly everything I had to learn and do to
+create that carving.
+
+And at the time it was happening, it didn't feel like I was retaining all of it, or that I really,
+truly understood everything I had done; I was hurrying as fast as I could toward a particular
+goal. But in the course of writing this, I was basically retracing my steps, and found that I really
+did have a pretty good handle on it. One of my favorite things to do is learn stuff, so this was a
+great outcome for me!
+
+If I were to do this again, or if I were starting for the first time with the benefit of someone
+else's experience, there are obviously a few things I would do differently. First off, I'd see if I
+could find a lower-resolution dataset. One arc second is way overkill; at the scale of a topo
+carving that you can hold in your hands, a resolution of several arc *minutes* (one arc minute is
+one [nautical mile](https://en.wikipedia.org/wiki/Nautical_mile), which is about 1.1 regular
+(terrestrial?) miles) would probably be enough.
+
+I'd also use the USGS [national map downloader](https://apps.nationalmap.gov/downloader/) site to
+get just the California data; you can upload a shapefile and it'll give you back a masked
+geotiff. If I had started from that, it would have shaved at least two weeks off the time it took me
+to make the thing; I could have jumped immediately into being frustrated in Blender and FreeCAD.
+
+Speaking of, I wish I could give some guidance on effectively using Blender and FreeCAD, but that's
+a journey only you can plot. That's probably not true, but I still feel like a doofus in those
+tools, so I don't feel like it's worth anyone's time to hear from me about them. Good luck in your
+quest!
---
+[wood-portrait]: wood-full-portrait.jpg "portrait shot of the whole carving"
+
+[wood-buttes]: wood_sutter_buttes.jpg "our old friend, the Sutter Buttes"
+
+[wood-blender]: wooden_like_blender.jpg "down low view, like the shot from Blender"
+
+[wood-shasta]: wooden_shasta_close-up.jpg "close up of Shasta"
+
[final-print]: final_printed.jpg "the final test print of the final model"
[final-shasta]: final_shasta.png "close-up of Shasta in the final model"
@@ -744,3 +881,8 @@ heightmap shown above, so you can imagine all the dead-ends I went down and did
write-up.
[^zero-forty-oneth]: I think this was just the first fractional value that I tried, and it was fine.
+
+[^fancy-iges]: I actually produced an [IGES](https://en.wikipedia.org/wiki/IGES) file; STP is basically
+fancy IGES, and my model didn't include the extra info in STP files like material and color anyway.
+
+[^short-for-comrades]: pronounced "rads", and is short for "comrades".
diff --git a/content/sundries/a-very-digital-artifact/wood-full-portrait.jpg b/content/sundries/a-very-digital-artifact/wood-full-portrait.jpg
new file mode 100644
index 0000000..ded9fae
Binary files /dev/null and b/content/sundries/a-very-digital-artifact/wood-full-portrait.jpg differ
diff --git a/content/sundries/a-very-digital-artifact/wood_sutter_buttes.jpg b/content/sundries/a-very-digital-artifact/wood_sutter_buttes.jpg
new file mode 100644
index 0000000..839a55b
Binary files /dev/null and b/content/sundries/a-very-digital-artifact/wood_sutter_buttes.jpg differ
diff --git a/content/sundries/a-very-digital-artifact/wooden_like_blender.jpg b/content/sundries/a-very-digital-artifact/wooden_like_blender.jpg
new file mode 100644
index 0000000..ef61b8c
Binary files /dev/null and b/content/sundries/a-very-digital-artifact/wooden_like_blender.jpg differ
diff --git a/content/sundries/a-very-digital-artifact/wooden_shasta_close-up.jpg b/content/sundries/a-very-digital-artifact/wooden_shasta_close-up.jpg
new file mode 100644
index 0000000..5fed889
Binary files /dev/null and b/content/sundries/a-very-digital-artifact/wooden_shasta_close-up.jpg differ