Gas station without pumps

2021 August 23

Final 3D-printed “quantum dot”

Filed under: Uncategorized — gasstationwithoutpumps @ 14:44
Tags: , , , ,

In 3D-printed “quantum dot” and 3D-printed “quantum dot” revisited, I wrote about my attempts to 3D-print the image from https://scitechdaily.com/direct-visualization-of-quantumdots-reveals-shape-of-quantum-wave-function-of-the-trapped-electrons/.

I finally got good prints from the resin printer at work (they had to clean the optics on the printer) and a decent print of the “stage jewelry” version on my Monoprice Delta Mini printer. I gave away all the prints (including the failed ones) to the physicists who provided the data, except for the one best print in each size.

The STL files from OpenSCAD are ridiculously large (17.8MB and 19.1MB), but they can be reduced using https://myminifactory.github.io/Fast-Quadric-Mesh-Simplification/ without much loss of detail to under 1MB.

The OpenSCAD program, scaled data file, and two STL files are available at https://www.thingiverse.com/thing:4939939

quantum6-360

Here is the resin print, which is 50mm in diameter. The peaks come out clean and sharp, but my only color choices were black and clear (the only two resins BELS had).

quantum6-360-back

The back of the print has the scaling information, but even with sanding the spots from the supports are annoyingly visible.

quantum6-720

The stage jewelry version is twice as big, with a diameter of 100mm (I measured it at 104mm—I think my printer calibration may be a bit off).

quantum6-720-back

Again, the back has the scaling information. Using “concentric” for the bottom layers made for some interesting patterning.

small-and-large-quantum6

Here are the two quantum-dot pendants side-by-side, to show the relative sizes.

2021 July 26

3D-printed “quantum dot” revisited

Filed under: Uncategorized — gasstationwithoutpumps @ 14:55
Tags: , , , ,

In 3D-printed “quantum dot”, I wrote about my attempts to 3D-print the image from https://scitechdaily.com/direct-visualization-of-quantumdots-reveals-shape-of-quantum-wave-function-of-the-trapped-electrons/, especially how I was unable to get a good print using my Monoprice Delta Mini printer.

quantum3-gold

Here are two not-very-successful prints using silk-gold PLA filament. There was a lot of stringing and the peaks were too fragile and snapped off.

I decided to try again, but at a bigger scale: 70,000×, rather than 32000× in the xy dimensions, making a 10cm diameter pendant.  My first attempt, using a layer height of 0.14mm was OK for the peaks, but the hanging ring did not fare so well.  Part of the problem was that the ring was too thin, and part was that horizontal circular holes do not print well—the flat top at the inside of the circle is insufficiently supported.

Update 2021 July 28:  I was looking at the original data file today, and it looks like I dropped one of the zeros in the xy scaling (I now think the scaling is 700,000×, not 70,000×).  I need to check the z-axis scaling also.

hanging-ring-detail

The image on the right shows the collapsed circular ring on the version printed at 0.14mm layer height. The image on the left shows the redesigned hanging ring and printing at 0.1mm layer height.

quantum5

Here is the whole medallion at 0.1mm layer height in CC3D silk gold PLA with 20% infill. There was a little stringing and a few “zits” on the surface, but not too bad. I tried printing at 70micron layer height, but pronterface complained about not being able to allocate enough memory, so I gave up on that.

I’ll probably do one more post on these medallions, once I get the resin-printed ones that are printed without support.  The 10cm diameter is a bit too large for ordinary jewelry, but could work as stage jewelry.

2019 August 11

Star-of-stars, another large pendant

I’ve previously posted about my 3D-printed stage jewelry: the 3D slugs , the diamond, the chain of office, and large pendants printed on my Monoprice Delta Mini printer using CC3D Silk Gold PLA filament.

I designed another pendant yesterday, and printed it today—this one using stars instead of spheres as the main design element.

Once again, I had to clean up the stringing and blobbing using a riffler.

// Star of stars
// by Kevin Karplus
//  Creative Commons Attribution-ShareAlike  (CC BY-SA 3.0)
// 2019 Aug 10

use <BOSL2/std.scad>
// BOSL2 from https://github.com/revarbat/BOSL2/
// used for offset

function inner_radius(r_outer, n, k) =
    assert(k<n/2) assert(k>0)
    let(straight_ratio = cos(180/n) + sin(180/n)*tan(180*k/n))
    r_outer/ straight_ratio;
    
function star_points(r_outer=5, n=5, k=2)=
   // Points on circle centered at (0,0) with radius r_outer.
   // First point on positive x axis.
   // k determines how far out the inner points of the star are, 
   //   with k<1 making a convex polygon with 2n sides,
   //   k=1 making a regular n-gon
   //   k=2 making a star that connects alternate points
   //   k=3 making a star that connects every third point, ...
   // k need not be integer
   // You can get a nice, fat star with k=(n-2)/2
   let(r_inner = inner_radius(r_outer, n, k))
    [for (i=[0:2*n-1]) 
        (i%2==0? r_outer: r_inner)*[cos(i*180/n), sin(i*180/n)]];
    
    
module star(r_outer=5, n=5, k=2)
   // Make a polyhedral star with n points.
{   points = star_points(r_outer=r_outer,n=n,k=k);
    polygon(points=points, convexity=n);
}


module star_outline(n=5, r=50, line=2,k=undef)
{
    k_star = k==undef? (n-2)/2: k;
    points = star_points(r_outer=r,n=n,k=k_star);
    echo(points=points);
    inner = offset(points, delta=-line, closed=true);
    echo(inner=inner);
    difference()
    {   polygon(points);
        polygon(inner);
    }
    
}

module star_of_stars(n=5, r=50, line=2, k=undef)
{
    k_star = k==undef? (n-1)/2: k;
    r_sub = inner_radius(r, n, k_star);
    star_outline(n=n, r= 2*r_sub, line=line, k=k_star);
    for (i=[0:n-1])
    {
        rotate((2*i+1)*180/n)
            translate([2*cos(180/n)*r_sub,0])
                rotate(((n+1)%2)*180/n)
                    star_outline(n=n,r=r_sub+0.001, line=line, k=k_star);
    }
}



module solid_star(n=5, r=50, k=undef, height=undef)
// Make a solid star with n points and outer radius r
//    k is a skinniness parameter (0 to n/2), as defined in star
//      default value is (n-2)/2, which makes a slightly fat star
//      (try n/2 for a skinny star)
//    height is the height of the star, default is r/3
{
    k_star = k==undef? (n-2)/2: k;
    h = height==undef? r/3: height;

    linear_extrude(height=h, scale=0)
       star(n=n,k=k_star, r_outer=r);
}


module solid_star_of_stars(n=5, line=2, r=50)
{   
    small_r = 3*line;
    r_sub = inner_radius(r, n, (n-1)/2);
    outer_center= [(2*cos(180/n)+1)*r_sub-small_r,0];
    
    difference()
    {   union()
        {
            linear_extrude(line)
               star_of_stars(r=r, n=n, line=line);
            intersection()
            {   translate([0,0,0.0015]) cylinder(r=1.2*r, h=2*line, $fn=20);
                
                for (i=[0:n-1])
                {    rotate([0,0,i*360/n])
                        translate([r_sub,0,0])
                        {   linear_extrude(line) star(r_outer=3*line,n=n, k=(n-2)/2);
                            color("blue") translate([0,0,line])
                                solid_star(r=small_r, height=2*line, n=n, k=(n-2)/2);
                        }
                }
            }
            intersection()
            {   translate([0,0,0.001]) cylinder(r=1.2*r, h=2*line, $fn=20);
                
                for (i=[0:n-1])
                {   
                    rotate((2*i+1)*180/n)  translate(outer_center)
                     {  rotate(((n+1)%2)*180/n)
                        {   linear_extrude(line) star(r_outer=3*line,n=n, k=(n-2)/2);
                            color("red") translate([0,0,line])
                                solid_star(r=3*line, height=2*line, n=n, k=(n-2)/2);
                        }
                    }
                }
            }
        }
        
        for (i=[0:n-1])
        {   
            rotate((2*i+1)*180/n)  translate(outer_center)
               cylinder(d=line, h=5*line, center=true, $fn=30);
        }
    }
}

solid_star_of_stars(n=5);

Released on Thingiverse as https://www.thingiverse.com/thing:3805111

2019 August 10

More large pendants

I’ve previously posted about my 3D-printed stage jewelry: the 3D slugs , the diamond, and the chain of office, printed on my Monoprice Delta Mini printer using CC3D Silk Gold PLA filament.

I’ve done a couple more designs since then: two more large pendants that could be used with a chain of office.  These were designed for fairly fast printing, being fairly thin:

Flower pendant 1 has 12-fold symmetry (including mirror symmetries).

Flower pendant 2 has 16-fold symmetry, including mirror symmetries.

Both pendants were simple OpenSCAD code, as they consist of unions and intersections of spheres (cut to just the positive-z half-space, to get a flat back).

// Flower pendant 1
// 12-fold symmetry
// bumps in center
//
// License: Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)

// Kevin Karplus
// 2019 Aug 1

module round_facet(r=15, h=5)
{
    $fa=2; $fn=60;
    intersection()
    {   cylinder(r=1.3*r, h=h);
        union()
        {
            difference()
            {   sphere(r=r);
                carve_r=1.8*r;
                rim_h = 0.4*h;
                raise = sqrt(carve_r*carve_r + rim_h*rim_h -r*r)+rim_h;
                translate([0,0,raise]) sphere(r=carve_r); 
            }
            inner_r=0.35*r;
            translate([0,0,h-inner_r]) sphere(r=inner_r);
        }
    }
}

n=6;
r=40;
for(i=[1:n])
{   tran=0.3*r;
    color(c=[i/n,0.1,(n-i)/n])
        translate(tran*[cos(360*i/n), sin(360*i/n),0])  
            round_facet(r=r-tran,h=0.3*(r-tran));
}
// Flower pendant 2
// 16-fold symmetry
//
// License: Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)

// Kevin Karplus
// 2019 Aug 2

module round_facet(r=15, rim_h=2, carve_ratio=1.7)
{
    $fa=2; $fn=60;
    intersection()
    {   cylinder(r=1.3*r, h=rim_h*2);
        difference()
        {   sphere(r=r);
            carve_r=carve_ratio*r;
            raise = sqrt(carve_r*carve_r + rim_h*rim_h -r*r)+rim_h;
            translate([0,0,raise]) sphere(r=carve_r); 
        }
    }
}

module flower(petals=6, r=40, height_ratio=0.07, translate_ratio=0.4, carve_ratio=1.7)
{
    for(i=[1:petals])
    {   tran=translate_ratio*r;
        color(c=[i/petals,0.1,(petals-i)/petals])
            translate(tran*[cos(360*i/petals), sin(360*i/petals),0])  
                round_facet(r=r-tran,
                    rim_h=height_ratio*r, 
                    carve_ratio=carve_ratio);
    }
}

flower(petals=8, height_ratio=0.08);

I have not released these designs on Thingiverse, because the site keeps being unresponsive when I try to upload new designs. I realize that I shouldn’t complain about a free service, but I’m about ready to give up on Thingiverse. Is there a better 3d-printing sharing site?

Update 2019 Aug 10: Thingiverse finally let me upload as https://www.thingiverse.com/thing:3802142 and https://www.thingiverse.com/thing:3802138.

2019 July 27

3D-printed chain of office

I’ve previously posted about my 3D-printed stage jewelry: the 3D slugs  and the diamond, printed on my Monoprice Delta Mini printer using CC3D Silk Gold PLA filament.

I’ve done a couple more designs since then: a star pendant and a chain of office to show the director and props people at WEST Performing Arts the possibility of making stage jewelry with a 3D printer.

The front of the star. The “notches” on the top point are a horizontal hole for hanging the star from a chain or cord.

The back of the star, showing the flat spot.

I have released this star design on Thingiverse: https://www.thingiverse.com/thing:3756123.

The chain of office is more complicated, as it consists of 20 triangular plates and a pendant.  The plates took an hour apiece to print, and each one needed cleanup with a riffler to remove stringing.

The top layers of the print look pretty good, but there is a lot of stringing as the print head moved from one part of the print to another.

The bottom of each triangle looked worse than the top, as the first layer seemed to have more trouble with uniform extrusion than the higher layers.

This is what the triangles looked like after cleaning up the stringing with a riffler.  The difference in shininess is an illusion—I photographed this one with a flash, and the previous two photos were with more uniform lighting.

The triangles need to be joined with 6mm OD split rings:

Here are the triangles joined into a chain with jump rings.

The kid-size chain uses 18 of the triangular plates:

The pendant here is a design suggested by my wife, since I did not have any fake jewels to glue onto a pendant. I think that fake jewels may make for a showier pendant.

To make an adult-sized chain I added two more triangular plates, for a total of 20:

The chain of office needs to sit fairly wide on the shoulders, so probably needs to pinned or stitched to the shoulder seam, as the plastic is not heavy enough for the weight of the chain to hold it in place.

I’ve not released the chain of office on Thingiverse, mainly because their web site seems to be misbehaving this week.

2019 July 29: released as https://www.thingiverse.com/thing:3778927

Next Page »

%d bloggers like this: