Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
Rt 376 SB Marker 1124 Zachs Way – Near Right Hook – 2020-07-19 – 0
Although I can rarely hang with real roadies, I can put the fear in ’em for a while, so the chase is on.
About 25 seconds later, I’m southbound on Rt 376, accelerating past 20 mph = 30 feet/s. The overtaking pickup, which I haven’t noticed yet, is signaling a right turn at Zach’s Way, 350 feet ahead:
Rt 376 SB Marker 1124 Zachs Way – Near Right Hook – 2020-07-19 – 1
The pickup enters my field of view, but I can’t see the turn signals:
Rt 376 SB Marker 1124 Zachs Way – Near Right Hook – 2020-07-19 – 2
Two seconds later, the driver is braking:
Rt 376 SB Marker 1124 Zachs Way – Near Right Hook – 2020-07-19 – 3
During the next three seconds, the driver realizes I’m going much much faster than your usual cyclist and is braking hard:
Rt 376 SB Marker 1124 Zachs Way – Near Right Hook – 2020-07-19 – 4
My startled shout (“Don’t even think about it!“) may be misinterpreted, but I try to be friendly,
Rt 376 SB Marker 1124 Zachs Way – Near Right Hook – 2020-07-19 – 5
Alas, the cyclist turned into Boardman Road and all that adrenaline went to waste.
Elapsed time since the fender appeared: six seconds.
Plant seedlings started in pots require some hardening off time outdoors before being transplanted. Veggie seedlings also require protection from critters regarding them as a buffet, so Mary covers them with a sheet of floating row cover, which must be both suspended over the plants to give them growing room and tucked under the tray to keep the bugs out. She asked for a frame to simplify the process:
Mesh Shelter Frame – assembled
The solid model shows the structure with no regard for proportion:
Mesh Shelter Frame – show view
The 5 mm fiberglass rods come from our decommissioned six-passenger umbrella, cut to length in the Tiny Lathe™ by applying a Swiss Pattern knife file around the perimeter, over the ShopVac’s snout to catch the glass dust. I started with a pull saw (also over the vacuum) during the weekly Squidwrench v-meeting, whereupon Amber recommended either a Dremel slitting wheel or a file, so I mashed everything together and it worked wonderfully well, without producing any errant glass-fiber shards to impale my fingers.
The corners consist of three tubes stuck together at the origin:
Mesh Shelter Frame – non-hulled corner model
Shrink-wrapping them with a hull() adds plenty of strength where it’s needed:
Mesh Shelter Frame – hulled corner model
I decided putting the belly side (facing you in the picture) downward on the platform and the peak upward would distribute the distortion equally among the tubes and produce a nicely rounded outer surface for the mesh fabric:
Mesh Shelter Frame – build layout
Which led to some Wikipedia trawling to disturb the silt over my long-buried analytic geometry, plus some calculator work to help recall the process; back in the day I would have used a slipstick, but I was unwilling to go there. Although I could special-case this particular layout, the general method uses Euler’s Rotation Theorem, simplified because I need only one rotation.
Should you need concatenated rotations, you probably need quaternions, but, at this point, I don’t even remember forgetting quaternions.
Anyhow, the Euler rotation axis is the cross product of the [1,1,1] vector aimed through the middle of the corner’s belly with the [0,0,-1] target vector pointing downward toward the platform. The rotation amount is the acos() of the dot product of those two vectors divided by the product of their norms. With vector and angle in hand, dropping them into OpenSCAD’s rotate() transformation does exactly what’s needed:
rotate(acos((BaseVector*Nadir)/(norm(BaseVector)*norm(Nadir))),
v=cross(BaseVector,Nadir)) // aim belly side downward
Corner();
Dang, I was so happy when that worked!
Because the corner model rotates around the origin where all three tube centerlines meet, the result puts the belly below the platform, pointed downward. The next step applies a translation to haul the belly upward:
translate([ArmOAL,0, // raise base to just below platform level
ArmOC/sqrt(3) + (ArmRadius/cos(180/SocketSides))*cos(atan(sqrt(3)/2)) + Finagle])
This happens in a loop positioning the four corners for printing, so the first ArmOAL as the X axis parameter translates the shape far enough to let four of them coexist around the origin, as shown above.
The mess in the Z axis parameter has three terms:
Raise the centerline of the ends of the tubes to Z=0
Raise the rim of the tube to Z=0
Add a wee bit to make the answer come out right
The 0.18 mm Finagle constant fixes things having to do with the hull() applied to miscellaneous leftover angled-circles-as-polygons approximations and leaves just a skin below the platform to be sheared off by a huge cube below Z=0, matching the corner bellies with the bottoms of the feet.
Because the corners have awful overhangs, the results look a bit raggedy:
Mesh Shelter Frame – corner underside
That’s after knocking off the high spots with a grubby sanding sponge and making a trial fit. They look somewhat less grotendous in person.
If we need another iteration, I’ll think hard about eliminating the overhangs by splitting the corner parallel to the belly, flipping the belly upward, and joining the pieces with a screw. What we have seems serviceable, though.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Just for completeness, here’s what the various soaker hose clamps look like in the garden, as solid models only let you visualize the ideal situation:
Soaker Hose Connector Clamp – Show view
This one prevents a puddle in the path to the right:
Soaker hose repairs in situ – clamp
Bending the hoses around the end of a bed puts them on edge, with this clamp suppressing a shin-soaking spray to the left:
Soaker hose repairs in situ – end-on clamp
The clamp at the connector closes a leak around the crimped brass fitting, with the other two preventing gouges from direct sprays into the path along the bottom of the picture:
Soaker hose repairs in situ – clamps and connector fix
All in all, a definite UI improvement!
As far as I can tell, we have the only soaker hose repairs & spritz stoppers in existence. Hooray for 3D printing!
They’re recognizably robins now, covered in young-bird speckle camouflage.
Feeding continued apace:
Robin Fledging Day – feeding
After feeding, robin nestlings produce fecal sacs, which the parents either eat or carry away:
Robin Fledging Day – fecal sac
Robins aren’t big on facial expressions, but, speaking from personal experience, anything to do with diapers isn’t the high point of a parent’s day.
And then there were none:
Robin Fledging Day – empty nest with parasites
The gazillion black dots on the soffit are pinpoint-sized insects / mites / ticks infesting the nest and, presumably, the birds. The earlier pictures don’t show them, so perhaps these missed the last bird off the nest and are now regretting their life choices.
Actually, those are the remainder of two production runs devoted to reducing the amount of water sprinkling the garden paths. A 50 foot hose runs along both sides of one 14 foot bed, crosses the path, then continues along the adjacent bed. The hoses have (deliberate!) sprinkler holes along their porous rubber body and sometimes the layout puts a hole where it waters the path.
The blue silicone rubber strips provide a bit of sealing to prevent the absurdly high pressure water from streaming through the orange PETG clamps. It’s OK if the clamp leaks, but less flow is better!
I’m getting really good at making those aluminum backing plates and, in fact, I think it’s faster to run the blanks past the disk sander, then drill the holes, than to CNC-machine them. Could be wrong, but Quality Shop Time is not to be sniffed at.