The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Category: Machine Shop

Mechanical widgetry

  • Under-shelf Kitchen Light Bracket

    Under-shelf Kitchen Light Bracket

    Quite a while ago I’d added another LED strip to the under-cabinet light array, because the little cutting boards & suchlike on a wire shelf blocked the light, but fastened it in place with ugly wire ties.

    Finally I found a Round Tuit on the desk for brackets mounting the strip directly to the shelf:

    Kitchen Light Bracket - shelf blocks - solid model
    Kitchen Light Bracket – shelf blocks – solid model

    Ram a pair of brass inserts in the holes, screw the strip in place, snap the brackets between the wires, and it’s much better:

    Kitchen Light Bracket - installed
    Kitchen Light Bracket – installed

    Stipulated: those wire ends look awful. Fortunately, they’re normally hidden by the cutting boards and suchlike on the shelf.

    Although it looks precarious, the rounded sides (seem to) have enough grip on the wires to hold the LED strip in place. We’ll see how well that works in practice, but the idea was to avoid anything sticking up above the wires to collide with the stuff on the shelf.

    The blocks emerge from a chunk of code glommed onto the original OpenSCAD program:

    ShelfWireDia = 3.2;
    ShelfWireOC = 1*inch;
    StrutWireDia = 6.3;
    
    ShelfBlock = [ShelfWireOC,LEDEndBlock.y,(0.8*ShelfWireDia + StrutWireDia/2)/cos(180/8)];
    echo(ShelfBlock=ShelfBlock);
    
    LEDHoleOffset = [ShelfBlock.x/2 - (6.0 + ShelfWireDia/2),6.0];  // from Y+ and X±
    LEDHoleDia = 3.0;
    
    ID = 0;
    OD = 1;
    
    M3Insert = [3.0,4.0,4.2];   // short M3 knurled insert
    
    <<< snippage >>>
    
    module ShelfBlocks(Side=1) {
    
      difference() {
        translate([0,ShelfBlock.y/2,ShelfBlock.z/2])
          cube(ShelfBlock,center=true);
       translate([Side*LEDHoleOffset.x,ShelfBlock.y - LEDHoleOffset.y,-Protrusion])
          rotate(180/8)
            PolyCyl(M3Insert[OD],M3Insert[LENGTH] + 2*ThreadThick,8);
        translate([-2*ShelfBlock.x,-StrutWireDia/4,0])
          rotate([0,90,0]) rotate(180/8)
            PolyCyl(StrutWireDia,4*ShelfBlock.x,8);
        for (i=[-1,1])
          translate([i*ShelfWireOC/2,-ShelfBlock.y,(StrutWireDia/2 + ShelfWireDia/2)/cos(180/8)])
            rotate([-90,0,0]) // rotate(180/8)
              PolyCyl(ShelfWireDia,3*ShelfBlock.y,8);
      }
    }
    
    <<< snippage >>>
    
    if (Layout == "ShelfBlocks")
      for (i=[-1,1])
        translate([i*(ShelfBlock.x/2 + 3.0),0,0])
          ShelfBlocks(i);
    
    

    Should’a done that years ago …

  • Laser-Cut Specialty Wipes

    Laser-Cut Specialty Wipes

    For reasons not relevant here, Mary asked for a bunch of small cloth wipes cut to a particular size. A few minutes with LightBurn for rectangle-drawing and array-fiddling produces a useful result:

    Laser-cut wipes - cutting
    Laser-cut wipes – cutting

    The part about peeling away what you don’t want just never gets old:

    Laser-cut wipes - on honeycomb
    Laser-cut wipes – on honeycomb

    It turns out this is even faster than rotary cutter action, because you need not worry about the old T-shirt sliding around while you’re slashing away at it. Bonus: a free 2 mm radius on all the corners!

    Let the pieces air out for a day on the patio and they’re ready for use.

  • Tiled Einstein Coasters

    Tiled Einstein Coasters

    When life gives you a sheet of tiled einsteins:

    Einstein tiling
    Einstein tiling

    You can make coasters:

    Einstein tiled coasters
    Einstein tiled coasters

    They’re rattlecan colored chipboard atop MDF atop cork, with the tiles cut from half a dozen sheets of einsteins. The lighter colors suffered from ineffective tape masking during cutting, producing more smudging than I’d like, but overall they look pretty good.

    I was surprised at how dull the black surround turned out and how good the gray appears: rapid prototyping & iteration in full effect.

    Unlike the layered paper version, these require a great deal of fiddly handwork.

    I hope the MDF will prevent the premature warping afflicting the chipboard-on-cork coasters. Perhaps shooting the assembled coasters with a clearcoat would help, although you do want coasters to be a bit absorbent, lest they stick to wet cups / mugs / glasses in humid weather.

  • Layered Paper: Einsteins

    Layered Paper: Einsteins

    Go to the source and bring back a suitable number of tiled einsteins:

    Einstein tiling
    Einstein tiling

    Import the bitmap into LightBurn, fiddle with the tracing until it lays down two lines along each border, apply a 1 mm inset to all the tiles, then scale & crop & delete to fit a 170 mm square:

    Einsteins - LB paper - top layer
    Einsteins – LB paper – top layer

    Cut one of those sheets, tape it to a sheet of white paper, fire up a calculator, generate a random number, write the first digit in the upper-left tile, and iterate to fill in all the tiles.

    Duplicate that layout and delete all the tiles marked with a zero to get the next layer.

    Iterate for all ten layers:

    Einsteins - LB paper cuts
    Einsteins – LB paper cuts

    Set up the fixture, do the Print-and-Cut alignment, then cut all the layers with different colors:

    Layered Paper cutting fixture - in use
    Layered Paper cutting fixture – in use

    Assemble the layers with some stick adhesive:

    Layered Paper - Einsteins
    Layered Paper – Einsteins

    Frame it and admire:

    Layered Paper - Einsteins
    Layered Paper – Einsteins

    It’s way busier than the quilt blocks, but I like it.

  • Layered Paper: Mariner’s Compass Insets

    Layered Paper: Mariner’s Compass Insets

    Given the geometry of the Mariner’s Compass block:

    Mariners Compass - top level shapes - LB layout
    Mariners Compass – top level shapes – LB layout

    Applying increasing insets to that top level produces a beveled result:

    Layered Paper - Mariners Compass - offsets - detail
    Layered Paper – Mariners Compass – offsets – detail

    Seen from a distance, you need oblique light to make any sense of it:

    Layered Paper - Mariners Compass - offsets
    Layered Paper – Mariners Compass – offsets

    It’s made from random sketch paper, rather than cardstock, and we all know how much the paper matters.

  • Layered Paper: Cutting & Assembly Fixtures

    Layered Paper: Cutting & Assembly Fixtures

    Time spent making a fixture is never wasted time:

    Layered Paper cutting fixture - in use
    Layered Paper cutting fixture – in use

    The general idea: securely hold a piece of paper flat while cutting it, so that it cannot move or warp, while letting the cut pieces fall out without snagging on anything underneath. The sheet holder I made a while ago worked reasonably well, but those thin metal blades tend to warp while cutting small patterns in restricted areas and the pieces definitely don’t fall free.

    The simple fixture I use while assembling the paper layers consists of four rivnuts poking through a chipboard upper layer, with a craft paper layer around the rivnut washers on the bottom:

    Layered Paper - alignment fixture
    Layered Paper – alignment fixture

    The cutting fixture uses a similar layout around a hole for freely falling chips:

    Layered Paper cutting fixture - installed
    Layered Paper cutting fixture – installed

    Next time, I’ll remove those three bars across the hole, because the MDF doesn’t need any support. Nearly all the chips fell out, so the fixture worked as intended.

    I trimmed the flange off the rivnuts so they would sit flat on the MDF:

    Layered Paper cutting fixture - trimming rivnut flange
    Layered Paper cutting fixture – trimming rivnut flange

    That’s the kind of job chuck stops really simplify.

    The cutting fixture requires pre-cutting paper into 200 mm squares with four 5 mm corner holes, which can be done three-abreast on the platform bars, then putting each sheet in the fixture to cut the shapes. That’s not much of a disadvantage compared to messing up an unsupported sheet.

    The cutting fixture has crosshair targets to align a LightBurn template using Print-and-Cut, thus eliminating the need to precisely locate the fixture on the platform. The finger-crushingly strong neodymium bar magnets do a fine job of holding the MDF in place on the steel platform.

    The small cutout rectangle in the lower right corner frames the sheet number, done in binary code with 0 = 1 mm circle and 1 = 2 mm circle:

    Layered Paper cutting fixture - layer binary code
    Layered Paper cutting fixture – layer binary code

    That’s the underside view of a completed stack with the 5 mm lower-right fixture hole on the left and the code for layer 11 = 0b1011 reading backwards. The small 0 holes have two lobes showing the Print-and-Cut alignment was off by maybe 0.3 mm; the off-center hole was in the blank sheet.

    Obviously, cutting tiny circles with a big laser at 300 mm/s doesn’t produce perfect results. You can see small wiggles in larger shapes:

    Layered Paper cutting fixture - cut wobbles
    Layered Paper cutting fixture – cut wobbles

    Unless you’re trying hard to find a problem, you’ll never notice them.

  • Layered Paper: Chimney Swallows Block

    Layered Paper: Chimney Swallows Block

    The Chimney Swallows block from page 128 of Beyer’s book:

    Chimney Swallows - Beyer 128
    Chimney Swallows – Beyer 128

    The tool (blue & orange) and top cut (red) layers:

    Chimney Swallows - LB layout
    Chimney Swallows – LB layout

    The long radial blue tool lines simplified selecting them when mirroring / duplicating the cut polygons around their symmetries. The orange tool circles aligned various midpoints / vertices / features during construction.

    The inward curve along the outer edge started as a triangle with a node at about the middle of the curve. Deleting that node left the remaining two sides overlapped, but dragging one of them to match the curve worked OK. There’s probably a better way.

    That curve defines the outer edges of the shapes along it, so I drew polygons from the corner intersections and dragged the outer edge to match the curve at high zoom.

    The shape remains selected after dragging the side, which meant I could immediately apply a 1 mm inset to create the cut lines.

    To my surprise, the swallow bodies are straight-sided polygons!

    After taking advantage of all the symmetries, knock out the shapes defining each layer:

    Chimney Swallows - LB paper cuts
    Chimney Swallows – LB paper cuts

    The swallows look like F-117 Nighthawks to me:

    Layered Paper - Chimney Swallows - Beyer 128
    Layered Paper – Chimney Swallows – Beyer 128

    Maybe I have the colors wrong:

    Layered Paper - Chimney Swallows - Beyer 128
    Layered Paper – Chimney Swallows – Beyer 128

    Fly away!