Return to Level1Techs.com

3D Printing Starters Guide, FAQ, Helpdesk, General Talk Thread

3dprinting
mega_thread
#403

Nice, pelican case opener! Good practical thing to print.

Here is a bunch of stuff I have knocked up over the last few months. Yeah I still use AutoDesk 123D because it is so fast for prototyping. If I have super advanced stuff, I’ll use fusion or scad. I cannot stand sketchup, too frustrating to use. No features.

SSD to 3.5 adapter for supermicro removable drive caddys:

I need to revisit it, I made the screw holes a bit big, had to glue it in with glue gun! Ah well. Also there are a bunch of these on thingiverse I didn’t find first time looking. Some don’t fit well though, I found the SSD cannot have anything below it, needs to sit flat. Hence the shelf over the top.

SFX adapter for a supermicro case:

I happened on an old supermicro case which I transplanted by FreeNAS installation into after old asrack board died.
Still need to install this, not 100% sure if it will fit or not. The supermicro has a atx sized power supply, but a different mounting system. It is screwed in from the side and top, instead of the back face. The SFX power supply from the old FreeNAS case is still great, so no need not to use it.

Mate wanted a block thing for electric guitars to do tune the strings or bridge or something:

A light puller for square light housings I have to deal with at work:


Turns out the teeth are not grabby enough, and you have to put pressure on the arms to pull out the light housing, but that is still easier than grabbing the housing itself.

Lastly an adapter to fit a cheap usb microscope to my dremel drill-press. It worked, but the LED light ring in the microscope doesn’t like going through the narrow opening, so you end up with a shadow in the middle. Worked, but didn’t work.

0 Likes

#404



5 Likes

#405

Ha, that’s an awesome use of tech.

0 Likes

#406

0 Likes

#407

You’re giving yourself the finger tho…

2 Likes

#408

I need a theodolite… Too cheap to buy one. Hopefully not too dumb to build one. Whether I finish this small project or not, who knows!?

*updated, now with more out of control code. More cursed theodolite than ever.

//Parameters
//Ring scales
InnerRad = 45;
OuterRad = 58;
ScaleRad = 50;

ring_height = 2;
scale_height = 0.6;
number_height = 0.4;

//base dimensions
base_outer = 75;
base_mid = 70;
base_inner = 65;

base_bearing_outer_diam = 10;
base_bearing_inner_diam = 3;
base_bearing_height = 5;

elev_scale_radius = 40;

//gap between printed areas that should move freely
gap = 0.05;

//Graduation lengths
len1 = 3;
len5 = 5;
len10 = 7;

//Text parameters
TextOffset = -4;
TextSize = 3;

//Initial round detail
$fn = 10;
//Functions for returning points around a circle
function fangle2(d,radius) = [sin(d)*(radius),cos(d)*(radius)];
function fangle3(d,radius) = [sin(d)*(radius),cos(d)*(radius),0];

//Assemble top level pieces

translate([0,0,40-40])      
    azimuth_ring();  
translate([0,0,35-40])
    level_top();
translate([0,0,5-40])
    level_base();

translate([0,0,0])
    top_base();

//LH scale
translate([12.5,0,40])
    elevation_scale(3.5);

//RH Scale
translate([-17.5,0,40])
    elevation_scale(1.5);
    
module elevation_scale(text_displacement=2.5) {
rotate([40,0,0])
    rotate([0,-90,180])
    difference(){
        //Elevation Scale
        //rotate([0,90,0])
        color("green")
            translate([0,0,2.5])
            rotate([0,0,0])
            rotate_extrude(angle = 100, $fn=100)
            translate([elev_scale_radius + 0.30,0])
            square([.5,5],true);
        union(){
        color("red")
            for (i = [-10:5:90])
            {
                translate([sin(i)*elev_scale_radius,cos(i)*elev_scale_radius,0])
                rotate([0,0,i*-1])
                cube([.25,.25,5]);
            }

        color("yellow")
            for (i = [-10:5:90])
            {
                translate([sin(i+0.5)*elev_scale_radius,cos(i+0.5)*elev_scale_radius,text_displacement])
                rotate([90,90,i*-1])
                linear_extrude(height=1,center=true,$fn=1)
                text(text=str(abs(i-40)),font="Arial Rounded MT Bold:style=Regular", size=1.5, halign="center");
            }
        }
    }
}

module top_base() {
    $fn=100;
    
    //Inner bearing grip
    translate([0,0,-base_bearing_height])
        cylinder(h=base_bearing_height,d1=base_bearing_inner_diam,d2=base_bearing_inner_diam);
    
    //Top platter
    cylinder(h=2,r1=InnerRad-gap,r2=InnerRad-gap);
    
    //Arrow
    translate([0,InnerRad,2+gap])
        rotate([0,0,45])
        square(5,center=true);
    
    //Laser mount
    translate([-10,0,40])
        rotate([0,90,0])
        linear_extrude(height=5,center=true,$fn=1)
        polygon([[-40,-40],[40,40],[40,-40]]);
    translate([10,0,40])
        rotate([0,90,0])
        linear_extrude(height=5,center=true,$fn=1)
        polygon([[-40,-40],[40,40],[40,-40]]);
    
    translate([-15,0,40])
        rotate([0,90,0])
        cylinder(h=30,d1=5,d2=5);
        

}



//Base stuff
module level_base() {
        difference() {
        color("orange")
            translate([0,0,0])
            linear_extrude(height = 5, center = false,$fn=1)
            level_base_2D();
        translate([0,0,0])
            level_top_cutout(7.05);
    }
    difference() {
        color("red")
            translate([0,0,-5])
            linear_extrude(height = 5, center = false,$fn=1)
            level_base_2D();
        translate([0,0,0])
            level_top_cutout(7.05);
    }
}
module level_top() {
    difference() {
        color("lightgreen")
            translate([0,0,0])
            linear_extrude(height = 5, center = false,$fn=1)
            level_top_2D();
        union() {
            translate([0,0,0])
                level_base_cutout(7.05);
            translate([0,0,0])
            cylinder(h=base_bearing_height+1, d1=base_bearing_outer_diam, d2=base_bearing_outer_diam,$fn=50);
        }
    }
    difference() {
        color("darkgreen")
            translate([0,0,-5])
            linear_extrude(height = 5, center = false,$fn=1)
            level_top_2D();
        translate([0,0,0])
            level_base_cutout(7.05);
    }
}

module level_top_2D() {
    $fn=50;
    triangle_points =[fangle2(0,base_outer),
                      fangle2(120,base_outer),
                      fangle2(240,base_outer),
                      fangle2(0,base_inner),
                      fangle2(120,base_inner),
                      fangle2(240,base_inner),
                      fangle2(0+180,base_outer*.5),
                      fangle2(120+180,base_outer*.5),
                      fangle2(240+180,base_outer*.5),
                      fangle2(0+180,base_inner*.4),
                      fangle2(120+180,base_inner*.4),
                      fangle2(240+180,base_inner*.4)
                      ];
    
    //Outer triangle frame
    triangle_paths =[[0,1,2],[3,4,5]];
    polygon(triangle_points,triangle_paths,10);

    //Inner triangle frame
    triangle_paths2 =[[6,7,8],[9,10,11]];
    polygon(triangle_points,triangle_paths2,10);

    //Inner circle bearing base
    circle(base_outer*.2);

    translate(fangle3(0,base_mid))
    circle(10);
    
    translate(fangle3(120,base_inner))
    circle(10);
    translate(fangle3(120,base_outer))
    circle(10);
    
    translate(fangle3(120,base_mid))
    rotate([0,0,-120])
    square([(base_outer-base_inner)*2,(base_outer-base_inner)],true);
    
    translate(fangle3(240,base_inner))
    circle(10);  
    
    translate(fangle3(240,base_mid))
    rotate([0,0,-240])
    square([(base_outer-base_inner)*2,(base_outer-base_inner)],true);
    
    translate(fangle3(240,base_outer))
    circle(10);  
}
module level_top_cutout(rad) {
    $fn=50;
    translate(fangle3(0,base_mid))
    sphere(rad);
    translate(fangle3(120,base_mid))
    sphere(rad);
    translate(fangle3(240,base_mid))
    sphere(rad);
}

module level_base_2D() {
    $fn=50;
    triangle_points =[fangle2(0,base_outer),fangle2(120,base_outer),fangle2(240,base_outer),fangle2(0,base_inner),fangle2(120,base_inner),fangle2(240,base_inner)];
    triangle_paths =[[0,1,2],[3,4,5]];
    polygon(triangle_points,triangle_paths,10);

    translate(fangle3(0,base_mid))
    circle(10);
    
    translate(fangle3(120,base_mid))
    circle(10);

    translate(fangle3(240,base_mid))
    circle(10);
}
module level_base_cutout(rad) {
    $fn=50;
    translate(fangle3(0,base_mid))
    sphere(rad);
    
    translate(fangle3(120,base_inner))
    sphere(rad);
    
    translate(fangle3(120,base_outer))
    sphere(rad);
    
    translate(fangle3(120,base_mid))
    rotate([90,0,-120])
    cylinder(r1=rad,r2=rad,h=(base_outer-base_inner),center=true);
    
    translate(fangle3(240,base_inner))
    sphere(rad);
    
    translate(fangle3(240,base_outer))
    sphere(rad);
    
    translate(fangle3(240,base_mid))
    rotate([90,0,-240])
    cylinder(r1=rad,r2=rad,h=(base_outer-base_inner),center=true);
}











//Azimuth Ring
module azimuth_ring() {
    union()
    {
        difference() {
            color("yellow")
                translate([0,0,0])
                linear_extrude(height = ring_height, center = false,$fn=1)
                ring(OuterRad,InnerRad);

            color("red")
                translate([0,0,ring_height - number_height])
                linear_extrude(height = number_height + 0.1, center = false,$fn=1)
                scale_numbers();
        }

        color("green")
                translate([0,0,ring_height])
                linear_extrude(height = scale_height, center = false,$fn=1)
                scale();
    }
}


module ring(radOuter,radInner) {
    $fn=50;
    difference() {
        circle(radOuter);
        circle(radInner);
    }
}

module scale_numbers() {
    $fn=10;
    color("yellow")
    for (i = [0:10:350])
    {
        translate([sin(i)*(ScaleRad+TextOffset),cos(i)*(ScaleRad+TextOffset),0])
        rotate([0,0,i*-1])
        text(text=str(i/10),font="Arial Rounded MT Bold:style=Regular", size=TextSize, halign="center");
        //square([1,10],false);
    }
}
module scale() {
    $fn=10;
    color("green")
    for (i = [0:10:360])
    {
        translate([sin(i)*ScaleRad,cos(i)*ScaleRad,0])
        rotate([0,0,i*-1])
        translate([0,len10/2,0])
        square([1,len10],true);
    }

    color("red")
    for (i = [0:5:360])
    {
        translate([sin(i)*ScaleRad,cos(i)*ScaleRad,0])
        rotate([0,0,i*-1])
        translate([0,len5/2,0])
        square([1,len5],true);
    }
    /*
    color("blue")
    for (i = [0:1:360])
    {
        translate([sin(i)*ScaleRad,cos(i)*ScaleRad,0])
        rotate([0,0,i*-1])
        translate([0,len1 / 2,0])
        square([0.5,len1],true);
    }
    */
}

This is probably as far as I will go with this project. Found a spare universal motor driver and motorised az/el mount I can attach a laser pointer too, so just gonna use that instead. I can write a simple program to control the motor driver over serial port, and have it point where I want it to point with high accuracy.
I might however rip out the level base, if leveling the tripod to sliding the legs in and out is too cumbersome.

0 Likes

#409



2 Likes

closed #410

https://forum.level1techs.com/t/topic/140607

0 Likes

opened #411

This topic was automatically opened after 5 hours.

0 Likes

#412
2 Likes

#413

For Wendell! https://twitter.com/TaroKichijo/status/1118656746015215616/photo/1

1 Like

#414

Do you care to elaborate or explain?

2 Likes

#415

We have a dedicated 3d printing thread.

0 Likes

#416

Looks like a rpi config with hidpi touch screen display, keyboard and a controller so I am guessing Wendell said something in the news and that’s a follow up.

0 Likes

#417

it was another thread that got merged, I was trying to get them to put more effort in.

3 Likes

#418

In other news I keep on forgetting my octoprint login.

2 Likes

#419

@kewldude007 and other 3d printing fans. Is 3d printing viable for low amount production ? Like lets say I design something is 3d printing viable like in material and electricity price ? You guys seen someone doing this ?

1 Like

#420

Of course, thats why its so popular for prototyping. The only downside is speed.

2 Likes

#421

I get the idea behind the prototyping because you don’t have to pay professionals to make a model by hand and such. My idea is if someone is selling 3D printed products.

2 Likes

#422

they indeed are, ebay is full of them. theres a guy down the street from me who does computer repair and 3d printing full time.

2 Likes