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.

Tag: Art-ish

They might be Art

  • Smashed Glass vs. Epoxy

    Smashed Glass vs. Epoxy

    Just to see what happens, I laid some smashed glass in puddles of epoxy:

    Smashed Glass vs epoxy - samples
    Smashed Glass vs epoxy – samples

    Backlighting with the LED light pad reveals more detail:

    Smashed Glass vs epoxy - backlit samples
    Smashed Glass vs epoxy – backlit samples

    The chunk on the left is the proof-of-concept shot glass coaster with a form-fit black acrylic mask atop a clear epoxy layer on a clear acrylic base. The chunk at the top is raw shattered glass fresh from the pile. The two chunks on teardrop acrylic scraps are bedded in transparent black and opaque black tinted epoxy.

    A look through the microscope at all four, laid out in that order, with the contrast blown out to emphasize the grain boundaries:

    Smashed Glass vs epoxy - magnified comparison
    Smashed Glass vs epoxy – magnified comparison

    You may want to open the image in a new tab for more detail.

    The raw chunk has air between all its cuboids, so it’s nicely glittery. All the others have much of their air replaced by epoxy.

    Clear epoxy produces an essentially transparent layer where it fills the gaps, because its refractive index comes close enough to the glass. The stretched contrast makes the gaps visible again, but the backlit image shows the unassisted eyeball view.

    Transparent black dye sounds like an oxymoron, but it fills the gaps with enough contrast to remain visible. The overall chunk is not particularly glittery, but it’s OK.

    Opaque black dye produces a much darker tint; the slightly tapered thin layer between the glass and acrylic (the small white circles are air bubbles) cuts down on the transmitted light. The gaps remain nearly as prominent as in the air-filled chunk, although with very little glitter.

    Bedding the glass in epoxy against an acrylic sheet should reduce its tendency to fall apart at the slightest provocation, although the proof-of-concept poured coaster showed the epoxy must cover the entire edge of the glass sheet to bond all the slivers in place.

  • Laser Kerf Width Test Pattern / Coaster Generator

    Laser Kerf Width Test Pattern / Coaster Generator

    Before trying to make decorative coasters from colorful acrylic, I figured a few practice sessions in chipboard would be in order:

    Chipboard coasters
    Chipboard coasters

    They’re colored with wide tip Sharpies of various ages and, as the yellow and uncolored sections show, chipboard never gets very bright. On the other paw, chipboard is also known as “beer mat”, so at least I have the right general idea.

    The patterns come from a GCMC program producing SVG figures for LightBurn to apply kerf compensation:

    Chipboard coasters - cut and color
    Chipboard coasters – cut and color

    It’s obviously too late to have me color within the lines.

    The overall frame in the upper left and the base plate in the upper right get the kerf compensation, which (for chipboard) turns out to be +0.15 mm outward (thus making the holes smaller and the diameter larger). If I were doing marquetry, I’d want to arrange each piece on a separate wood veneer sheet with proper grain orientation and similar fussiness, but that’s not the point right now.

    Without compensation, the pieces have a drop-in fit with an obvious gap:

    Coaster - chipboard - no kerf comp
    Coaster – chipboard – no kerf comp

    Adding a mere 0.15 mm on each side produces a very snug fit:

    Coaster - chipboard - frame 0.15 out
    Coaster – chipboard – frame 0.15 out

    In fact, the pieces go in from the back and require hammering gentle tapping to persuade all the corners into place.

    Protip: putting a dark color on the frame and around the edges conceals many flaws.

    Increasing the compensation to +0.20 mm means the pieces no longer fit and, when eventually battered into the frame, the surface becomes a concave-upward dish.

    With the (colored) pieces in the frame, I covered the base plate with a thin layer of good old Elmer’s Yellow Wood Glue, dropped the top over it with some attention to good alignment on all sides, and clamped the assembly between two planks for a while. Obviously, you’d want to make more than one at a time, but they’re rather labor intensive.

    The GCMC program produces the patterns from the coaster’s dimensions:

    • Outer diameter
    • Number of leaves around the center
    • Center spot diameter
    • Sash width (it’s really a muntin, but quilters say sash)
    • Leaf aspect ratio (max width / overall length)

    Due to the relentless symmetry, finding the points describing half a leaf and half the sector between two leaves suffices to generate the entire coaster by various rotations around the center. The code performs no error checking whatsoever, so some dimensions emit a hard crash rather than a coaster.

    A geometry doodle with some incorrect values:

    Coaster Geometry doodle
    Coaster Geometry doodle

    Poinr P1 (where the leaf snugs against the circular sash around the center spot) sits at the intersection of a line and a circle, so the code solves a quadratic equation with grisly coefficients:

      a = 1 + pow(tan(LeafStemHA),2);
      b = -2 * tan(LeafStemHA) * (Sash/2) / cos(LeafStemHA);
      c = pow((Sash/2) / cos(LeafStemHA),2) - pow(LeafID/2,2);
      xp = (-b + sqrt(pow(b,2) - 4*a*c))/(2*a);
      xn = (-b - sqrt(pow(b,2) - 4*a*c))/(2*a);
      y = xp*tan(LeafStemHA) - (Sash/2) / cos(LeafStemHA);
      P1 = [xp,y];
    

    Given the geometry, the “plus” root is always the one to use.

    A doodle working out that intersection, as well as for P5 out at the widest part of the leaf, carrying some errors from the geometry doodle:

    Coaster Geometry equations
    Coaster Geometry equations

    Both of those doodles have errors; the GCMC source code remains the final arbiter of coaster correctness.

    The Bash and GCMC source code as a GitHub Gist:

    #!/bin/bash
    # Marquetry test piece
    # Ed Nisley KE4ZNU – 2022-07-01
    Flags='-P 4 –pedantic' # quote to avoid leading hyphen gotcha
    SVGFlags='-P 4 –pedantic –svg –svg-no-movelayer –svg-opacity=1.0 –svg-toolwidth=0.2'
    # Set these to match your file layout
    ProjPath='/mnt/bulkdata/Project Files/Laser Cutter/Marquetry/Source Code'
    LibPath='/opt/gcmc/library'
    ScriptPath=$ProjPath
    Script='Marquetry Test Piece.gcmc'
    leaves="NumLeaves=$1"
    aspect="LeafAspect=$2"
    fn=Marq-$1-$2.svg
    echo Output: $fn
    gcmc $SVGFlags -D "$leaves" -D "$aspect" \
    –include "$LibPath" \
    "$ScriptPath"/"$Script" > "$fn"
    view raw marq.sh hosted with ❤ by GitHub
    // Marquetry Laser Cuttery Test Piece
    // Ed Nisley KE4ZNU
    // 2022-07-01 Simplest possible mandala
    layerstack("Frame","Leaves","Rim","Base","Center","Tool1"); // SVG layers map to LightBurn colors
    //—–
    // Library routines
    include("tracepath.inc.gcmc");
    include("tracepath_comp.inc.gcmc");
    include("varcs.inc.gcmc");
    include("engrave.inc.gcmc");
    FALSE = 0;
    TRUE = !FALSE;
    //—–
    // Command line parameters
    // -D various useful tidbits
    // add unit to speeds and depths: 2000mm / -3.00mm / etc
    if (!isdefined("OuterDia")) {
    OuterDia = 120.0mm;
    }
    if (!isdefined("CenterDia")) {
    CenterDia = 20.0mm;
    }
    if (!isdefined("NumLeaves")) {
    NumLeaves = 5;
    }
    if (!isdefined("Sash")) {
    Sash = 4.0mm;
    }
    if (!isdefined("LeafAspect")) {
    LeafAspect = 0.40;
    }
    // Leaf values
    LeafStemAngle = 360.0deg/NumLeaves; // subtended by inner sides
    LeafStemHA = LeafStemAngle/2;
    LeafLength = OuterDia/2 – Sash – (Sash/2)/sin(LeafStemHA);
    LeafWidth = LeafAspect*LeafLength;
    L1 = (LeafWidth/2)/tan(LeafStemHA);
    L2 = LeafLength – L1;
    // message("Len: ",LeafLength," L1: ",L1," L2: ",L2);
    LeafTipHA = to_deg(atan(LeafWidth/2,L2)); // subtended by outer sides
    LeafTipAngle = 2*LeafTipHA;
    // message("Width: ",LeafWidth);
    // message("Tip HA: ",LeafTipHA);
    LeafID = CenterDia + 2*Sash;
    LeafOD = LeafID + LeafLength;
    // message("ID: ",LeafID," OD: ",LeafOD);
    // Find leaf and rim vertices
    P0 = [(Sash/2) / sin(LeafStemHA),0.0mm];
    if (P0.x < LeafID/2) {
    a = 1 + pow(tan(LeafStemHA),2);
    b = -2 * tan(LeafStemHA) * (Sash/2) / cos(LeafStemHA);
    c = pow((Sash/2) / cos(LeafStemHA),2) – pow(LeafID/2,2);
    // message("a: ",a);
    // message("b: ",b);
    // message("c: ",c);
    xp = (-b + sqrt(pow(b,2) – 4*a*c))/(2*a);
    xn = (-b – sqrt(pow(b,2) – 4*a*c))/(2*a);
    y = xp*tan(LeafStemHA) – (Sash/2) / cos(LeafStemHA);
    // message("p: ",xp," n: ",xn," y: ",y);
    P1 = [xp,y];
    }
    else {
    P1 = P0;
    }
    P2 = P0 + [L1,LeafWidth/2];
    P3 = P0 + [LeafLength,0mm];
    P4 = P3 + [Sash/sin(LeafTipHA),0.0mm];
    P5r = P4.x * sin(LeafTipHA) / sin(180deg – LeafStemHA – LeafTipHA);
    P5 = rotate_xy([P5r,0.0mm],LeafStemHA);
    P6 = rotate_xy(P4,LeafStemAngle);
    t2 = pow(tan(-LeafTipHA),2);
    a = 1 + t2;
    b = -2 * t2 * P4.x;
    c = t2 * pow(P4.x,2) – pow(P3.x,2);
    xp = (-b + sqrt(pow(b,2) – 4*a*c))/(2*a);
    xn = (-b – sqrt(pow(b,2) – 4*a*c))/(2*a);
    y = (xp – P4.x)*tan(-LeafTipHA);
    // message("p: ",xp," n: ",xn," y: ",y);
    P4a = [xp,y];
    P6a = rotate_xy(P4a,LeafStemAngle – 2*atan(P4a.y,P4a.x));
    // message("P4a: ",P4a);
    // message("P6a: ",P6a);
    // message("P0: ",P0);
    // message("P1: ",P1);
    // message("P2: ",P2);
    // message("P3: ",P3);
    // message("P4: ",P4);
    // message("P5: ",P5);
    // message("P6: ",P6);
    // Construct paths
    LeafPoints = {P1,P2,P3,[P2.x,-P2.y],[P1.x,-P1.y]};
    if (P0 != P1) {
    StemArc = varc_ccw(P1 – [P1.x,-P1.y],LeafID/2);
    StemArc += [P1.x,-P1.y];
    LeafPoints += StemArc;
    }
    RimChord = length(P4a – P6a);
    RimThick = OuterDia/2 – Sash – length(P5);
    RimPoints = {P4a,P5,P6a};
    RimArc = varc_cw(P4a – P6a,P4a.x);
    RimArc += P6a;
    RimPoints += RimArc;
    //— Lay out the frame
    linecolor(0xff0000);
    layer("Frame");
    goto([CenterDia/2,0mm]);
    circle_cw([0mm,0mm]);
    repeat(NumLeaves;i) {
    a = (i-1)*LeafStemAngle;
    tracepath(rotate_xy(LeafPoints,a));
    }
    repeat(NumLeaves;i) {
    a = (i-1)*LeafStemAngle;
    tracepath(rotate_xy(RimPoints,a));
    }
    linecolor(0xff0000);
    goto([OuterDia/2,0]);
    circle_cw([0mm,0mm]);
    //— Lay out internal pieces for oriented cutting
    // baseplate
    layer("Base");
    relocate([OuterDia + 2*Sash,0]);
    goto([OuterDia/2,0]);
    circle_cw([0mm,0mm]);
    // central circle
    layer("Center");
    relocate([OuterDia/2 + Sash,-(OuterDia – CenterDia)/2]);
    goto([CenterDia/2,0mm]);
    circle_cw([0mm,0mm]);
    // leaves
    layer("Leaves");
    repeat(NumLeaves;i) {
    org = [LeafWidth/2 – OuterDia/2,-(OuterDia + Sash)];
    relocate([(i-1)*(LeafWidth + Sash) + org.x,org.y]);
    tracepath(rotate_xy(LeafPoints,90deg));
    }
    // rim
    layer("Rim");
    repeat(NumLeaves;i) {
    org = [-Sash,-(OuterDia + 2*Sash + RimChord/2)];
    relocate([(i-1)*(RimThick + Sash) + org.x,org.y]);
    tracepath(rotate_xy(RimPoints,180 – LeafStemHA));
    }
    // Debugging by printf()
    if (FALSE) {
    layer("Tool1");
    linecolor(0xff1f00);
    goto([Sash/2,0mm]);
    circle_cw([0mm,0mm]);
    goto(P0);
    circle_cw([0mm,0mm]);
    goto([0,0]);
    move([OuterDia/2,0]);
    goto([0,0]);
    move(OuterDia/2 * [cos(LeafStemHA),sin(LeafStemHA)]);
    goto(P2);
    move_r([0,-LeafWidth/2]);
    }
  • High Impact Art: Practical Smashed Glass Coaster

    High Impact Art: Practical Smashed Glass Coaster

    The proof of concept coaster might suffice for a shot glass, but my morning tea comes in a 20 ounce mug with a much larger footprint.

    So, back to the Basement Shop, where a laser-cut and -engraved layout guide helps arrange and carry some suitable fragments:

    Glass Coaster - Layout tray
    Glass Coaster – Layout tray

    As before, scan the bottom of the fragments and wrap selections around them:

    Coaster Layout - selected fragments
    Coaster Layout – selected fragments

    Apply the usual operations to get a suitable mask:

    Coaster Layout - fragment masks
    Coaster Layout – fragment masks

    Fire the laser to cut the chipboard test template holding the fragments, then a white octagonal acrylic base plate and a transparent acrylic layer surrounding the fragments, and:

    Glass Coaster - base epoxy setup
    Glass Coaster – base epoxy setup

    Mix up some pourable epoxy, smooth it over the base plate, squish the transparent layer atop it, use the tape (sticky side up) to hold the two layers in alignment, and gently insert the fragments:

    Glass Coaster - fragment epoxy
    Glass Coaster – fragment epoxy

    I eased some epoxy around the perimeter of each fragment with a pipette in an attempt to reduce the glass-sliver hazard:

    Glass Coaster - fragment epoxy detail
    Glass Coaster – fragment epoxy detail

    Yes, that’s on top of the protective paper, because then I can whisk the paper off to reveal the pristine surface around each fragment:

    Glass Coaster - fracture filling
    Glass Coaster – fracture filling

    As with the smaller coaster, the epoxy penetrates the fractures and reduces the shattered appearance. Mary suggests tinted epoxy would produce an interesting effect and I’ll try that the next time around.

    Because the smashed glass came from our neighbor’s lawn, it carried a bit of dirt and debris onto the playing field:

    Glass Coaster - fragment edge detail
    Glass Coaster – fragment edge detail

    Seen through the edge of the coaster, the uneven surface of the epoxy fill around the fragments shows up clearly:

    Glass Coaster - fragment edge profile
    Glass Coaster – fragment edge profile

    The top of the glass stands half a millimeter above the transparent acrylic. I knew that would happen and wanted to see how the bottom of the mug interacted with the epoxy-coated sides:

    Glass Coaster - first test
    Glass Coaster – first test

    As it turned out, the epoxy coating wasn’t quite good enough to prevent tiny slivers from chipping off and, in the cold light of day, the pale-green-ish tinted glass didn’t stand out well against the white background.

    So I taped up the perimeter, leveled the base, mixed up another batch of epoxy, added two drops of opaque black dye, and poured just enough to level the surface with the glass:

    Glass Coaster - black epoxy pour
    Glass Coaster – black epoxy pour

    Introducing the meniscus to Mr Belt Sander put a bevel around the edge and finished it off well enough:

    Glass Coaster - second test
    Glass Coaster – second test

    The Squidwrench logo looks a bit battered after three and a half years of trips through the dishwasher, although I didn’t expect it to last nearly this long.

    There’s still a slight upward tilt around the perimeter, but it meets my simple requirements and the fragments definitely look better in black. The white base sets off the fragments, but a clear plate takes advantage of their transparency; a mirror sheet might be even more interesting.

  • High-Impact Art: Smashed Glass Earrings, Proof of Concept

    High-Impact Art: Smashed Glass Earrings, Proof of Concept

    If you’re a particularly sharp person, these may accentuate your wardrobe:

    Earrings - 12mm - finished
    Earrings – 12mm – finished

    They’re fragments of smashed tempered glass, epoxied into laser-cut disks, with a ring providing some structural support. Although it’s hard to tell from the photos, the fragments sit flush with one side of the disk, which is likely the side you want closest to your carotid artery:

    Earrings - 12mm - finished
    Earrings – 12mm – finished

    Each chunk consists of a few smaller cuboids, so you get internal reflections from the minute air gaps between them. They’re not diamonds, but they’re surprisingly glittery in the proper light. Bonus: you can see right through!

    The “gold” band around the disk is a beading ring held in a notch engraved around both disks:

    Earrings - rings
    Earrings – rings

    The smaller ring is 12 mm OD, the larger is 25 mm, with 16 mm (the descriptions says 15, but ya get what ya get) and 20 mm available for other glass fragment sizes.

    The engraved recess (green) is slightly larger than the OD to allow the perimeter cut to proceed through a thinner section:

    Earring templates - 25 20 16 12 mm
    Earring templates – 25 20 16 12 mm

    Cross-hatch engraving puts a steep edge all around the recess, so the ring fits with just a little slack and turns freely around the disks.

    You will, of course, have different glass fragments requiring different shapes, but the outlines came from the same process I used to make the palette organizing the fragments:

    Smashed glass palette - fresh cut
    Smashed glass palette – fresh cut

    You (well, I) can just import that layout, copy the outline of the chunk to be used, then delete the rest. Mirror the outline so the engraved sides of the disks fit together around the chunk, position symmetrically in the template halves, and fire the laser.

    Affixing the fresh-cut disk and its glass chunk to a strip of Kapton tape (sticky side up) holds them in proper alignment and prevents the epoxy from leaking out the bottom:

    Earrings - 12mm - taped
    Earrings – 12mm – taped

    With everything lined up, run a small bead of epoxy around the chunk, squish the top disk in place, and line up the notches. When the epoxy cures, peel the earring off the tape and slide a jump ring into the notch.

    As a finishing touch, you’d add a suitable ear hook or stud, but I think it’s fair to assume anything from Amazon would consist of the finest arsenic-plated plutonium and be completely unsuitable for skin contact. Neither of us have any piercings, so I cannot provide enticing action photos.

    The 25 mm versions failed because I made the outlines such a snug fit around the chunks they didn’t quite fit:

    Earrings - 25mm - failed
    Earrings – 25mm – failed

    Protip: do not attempt to coerce two rigid bodies into alignment by applying firm pressure, particularly when one of them is already-broken glass.

    The small earrings weigh 0.7 g each and a 25 mm one (well, the parts for a large one) comes in a bit over 3 g, plus whatever hardware goes in / on / around your ear.

    This was (obviously) an exercise in small-scale laser machining, rather than a venture into haute couture. In the highly unlikely event you can’t live without a pair of custom-designed high-impact earrings, I’ll shut up and take your money … let me know if you want little or big. Black is the new black; I do have other colors, but who are you kidding?

    The SVG images as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
  • Smashed Glass Work Palette

    Smashed Glass Work Palette

    Having a myriad small glass fragments and an idea for their use created the problems of organizing the pieces while not losing them under the bench.

    As with the shattered shot-glass coaster, start by lining up the suspects on the scanner:

    Small fragments
    Small fragments

    Blow out the contrast, flip right-to-left, then mask them en masse:

    Small fragments - masked
    Small fragments – masked

    Delete the images (inside their selection masks) to create a binary mask:

    Small fragments - masks
    Small fragments – masks

    Have LightBurn trace the binary images, wrap a rounded rectangle around the lot of them, duplicate the rectangle as a base plate, then fire the laser:

    Smashed glass palette - fresh cut
    Smashed glass palette – fresh cut

    They’re not secured in their sockets, but they won’t fall out unless I fat-finger the whole affair:

    Smashed glass palette - loaded
    Smashed glass palette – loaded

    The thing that takes getting used to: the whole process was about two hours of wall clock time from start to finish, with a leisurely breakfast and KP in the middle.

  • High Impact Art: Smashed Glass Coaster

    High Impact Art: Smashed Glass Coaster

    Given a few pounds of smashed tempered glass:

    NHR Crash - tempered glass
    NHR Crash – tempered glass

    Lay some pieces atop an acetate sheet (to prevent scratching) on the scanner, grab the whole thing, then isolate an interesting chunk:

    Smashed Glass - dark - piece 1
    Smashed Glass – dark – piece 1

    Next time: flip the image left-to-right to match the glass piece as seen from the top, because the scanner was looking at the bottom.

    The weird purple background started as black, but blowing out the contrast while ignoring the color mis-correction makes the next step easier.

    Trace around the perimeter with Scissors Select, clean up the result in Quick Mask mode, expand the selection by a few pixels to improve clearance, then turn it into a two-color image mask:

    Smashed Glass - piece 1 - outline
    Smashed Glass – piece 1 – outline

    Import the mask into Lightburn, trace it into vector paths (which is trivially easy and accurate given such a high-contrast image), then cut a chipboard prototype to make sure it fits:

    Smashed Glass - piece 1 - acrylic mount
    Smashed Glass – piece 1 – acrylic mount

    Clean up any misfits, test as needed, cut the inner shape and outer perimeter from 1.5 mm black acrylic, cut just the outer perimeter from 3 mm clear acrylic. Put the piece of black acrylic matching the glass shape into the scrap box.

    Mix up a few milliliters of clear pourable epoxy, butter up the clear acrylic, lay the black acrylic on top, line up the edges, then gently place the shattered glass into the cutout:

    Smashed Glass - piece 1 - acrylic top
    Smashed Glass – piece 1 – acrylic top

    Next time: apply gentle pressure, perhaps through a flexy sheet, to ensure the entire glass surface contacts the epoxy layer while squeezing out the bubbles. This will surely skate the glass across the acrylic, so don’t leave it unsupervised.

    The relatively clear areas show where epoxy eased its way into the cracks between the granules; there is no correlation between the air bubbles and unfilled cracks. The epoxy had the viscosity of warm honey and I didn’t expect it to flow so easily, but it doesn’t affect the outcome.

    Wait for a day, no matter how hard that may seem, for the epoxy to cure. Leave the small cup holding the remnants of the mixed epoxy nearby so you can test the cure without disturbing the Main Event.

    The bottom looks pretty much like the top:

    Smashed Glass - piece 1 - acrylic bottom
    Smashed Glass – piece 1 – acrylic bottom

    The shattered edge reflects off the bottom of the clear acrylic, as seen through the side:

    Smashed Glass - piece 1 - acrylic side
    Smashed Glass – piece 1 – acrylic side

    Matching the perimeter to the fragment would be interesting, despite my low-vertex-polygon fixation.

    It could become a paperweight or a (shot glass) coaster.

  • High Impact Art(ifact)

    High Impact Art(ifact)

    At first we thought a mighty crunch in the morning meant the trash collection truck had dropped a garbage bin from a great height, but the sound of sirens and a myriad flashing lights revealed the true cause in our neighbor’s front yard:

    NHR Crash - frontal view
    NHR Crash – frontal view

    The extent of the damage was more apparent from the road side:

    NHR Crash - passenger side
    NHR Crash – passenger side

    Another one that ain’t gonna buff right out.

    The driver was walking around uninjured and the ambulance left quietly.

    A day later, the trajectory became apparent:

    NHR Crash - trajectory
    NHR Crash – trajectory

    The right side barely kissed the tree on the right, but the front wheel hooked the utility pole (that’s the new pole in the picture), snapped it off at ground level in addition to the usual break maybe ten feet up, and bounced a piece off the other tree:

    NHR Crash - utility pole
    NHR Crash – utility pole

    I didn’t know you could shatter a cast aluminum alloy wheel, but the missing half of the outer face was lying amid the rather scrambled stone wall along driveway.

    We’re reasonably sure we know the cause. Feel free to draw your own conclusions.

    After the flatbed hauled away the car and everybody left, I harvested a few pounds of interesting debris from the lawn:

    NHR Crash - tempered glass
    NHR Crash – tempered glass

    It’s tempered glass from the driver-side windows, shattered into small chunks and barely hanging together in those sheets. Laminated windshield glass is entirely different stuff.

    The smaller chunks glitter like jewels:

    NHR Crash - tempered glass fragments
    NHR Crash – tempered glass fragments

    Obviously, the window had a bit of tint.

    The smallest chunk, seen from its flat surface, shows the cuboid fragments:

    NHR Crash - tempered glass fragment - front
    NHR Crash – tempered glass fragment – front

    A side view shows more complexity:

    NHR Crash - tempered glass fragment - side
    NHR Crash – tempered glass fragment – side

    Tempering prevents a glass sheet from shattering into long knife-blade shards. Although the edges of the fragments are not keen, we are dealing with broken glass: they are sharp.

    How sharp? They make glass knives for slicing eyes and cells.

    Broken tempered glass also sheds razor-edged flakes perfectly shaped to penetrate bike tires, although most roadside glass comes from ordinary beverage bottles. The tiniest flakes can make a mess of your eyes, so exercise at least some rudimentary shop safety practices.

    Those slabs ought to be good for something, even if they fall apart at the slightest touch …