Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use <threads-scad/threads.scad>;
- $fa=1;
- $fs= 0.4;
- $fn = $preview ? 64:360;
- // For BambuLabs Printer
- // H=249,W-238,D=256
- // Safe bet is a 225 mm cube
- // This drawing is 200 mm, or 7.87 inches
- //Cntrl-Shift-V Show all, Max Zoom
- // Cad "Front View = Elevation" Top View = "Plan" The X-Y View?
- //https://openscad.org/cheatsheet/
- //https://openscad.org/cheatsheet/snapshot.html
- //https://en.wikibooks.org/wiki/OpenSCAD_Tutorial
- //PasteBin
- $vpr=[90,0,45]; // Right Side
- //$vpr=[90,0,0]; // Front
- //$vpr=[0,-90,90];
- //$vpr=[0,0,0]; // Top
- c_h = 100; // height
- c_r = 100; // radius
- c_t = 5; //thickness
- c_2t = 2*c_t;
- pi_l= 85+3; // +3 is the overhang of usb/ether
- pi_w= 56;
- pi_h= 20;
- pi_hole_r= 2.7;
- pi_edge_off = 3.5;
- pi_hole_wid_dist = 49;
- pi_hole_len_dist = 58;
- lens_r = 25.5;
- lens_d = lens_r*2;
- lens_thick = 6;
- lens_cutout_r = 17.0;
- lens_cutout_d = lens_cutout_r*2;
- lens_cutout_thick = 20;
- module main_hull(){
- // If I don't specify r= for radius, it becomes a cone?
- difference() {
- cylinder(h=c_h,r=c_r,true);
- translate([0,0,-10])
- cylinder(h=1.2*c_h,r=c_r-c_2t,true);
- // Lens Seat Cutuout
- translate([0,-c_r+(lens_thick*2)+1.5,c_h-lens_d])
- rotate([90,0,0])
- cylinder(h=lens_thick,r=lens_r,false);
- // Lens Thru-cutout thickness, punch hole through hull
- translate([0,-c_r+lens_cutout_thick,c_h/2])
- rotate([90,0,0])
- cylinder(h=lens_cutout_thick,r=lens_cutout_r,false);
- // Cone Taper Cutout, maybe make black ?
- translate([0,-c_r+lens_cutout_thick-20,c_h/2])
- rotate([90,0,180])
- cylinder(h=lens_cutout_thick,r1=lens_cutout_r+5, r2=lens_coutout,false);
- }
- }
- ear_hole_diameter = 33;
- air_gap=30;
- module left_side() {
- translate([-air_gap,0,0])
- rotate([0,-90,0])
- difference() {
- cylinder(h=25,r1=100,r2=75);
- translate([0,0,-2])
- cylinder(h=30,r=32,center=false); // Core it out
- }
- translate([-air_gap,0,0])
- rotate([0,-90,0])
- translate([0,0,-0.125])
- threaded_hole();
- }
- module right_side() {
- translate([100+air_gap,0,0])
- rotate([0,90,0])
- difference() {
- cylinder(h=25,r1=100,r2=75);
- translate([0,0,-2])
- cylinder(h=30,r=32,center=false); // Core it out
- }
- translate([100+air_gap,0,0])
- rotate([0,90,0])
- translate([0,0,-0.125])
- threaded_hole();
- }
- //TODO Large Hex Screw Embedded in Screw Cap for torque down?
- module left_screw() {
- translate([-180,0,0])
- rotate([0,90,0])
- threaded_cylinder();
- translate([-180,0,0])
- rotate([0,90,0])
- cylinder(h=25,r=40);
- }
- module right_screw() {
- translate([280,0,0])
- rotate([0,-90,0])
- threaded_cylinder();
- translate([280,0,0])
- rotate([0,-90,0])
- cylinder(h=25,r=40);
- }
- //socket_thread_diameter = 33;
- //socket_thread_length = 25;
- //socket_thread_pitch = 5;
- // Bezel Threads
- bezel_diameter = 60;
- bezel_rod_height=24;
- bezel_thread_length = 25;
- bezel_thread_pitch = 5;
- bezel_pipe_diameter = bezel_diameter-3*c_t;
- module bare_threaded_cylinder(rod_diameter,thread_length,thread_pitch) {
- RodStart(rod_diameter, 0,thread_length*1.55,rod_diameter,thread_pitch);
- }
- module threaded_cylinder() {
- // Outer threaded cylinder
- RodStart(bezel_diameter, bezel_rod_height,bezel_thread_length*1.75,bezel_diameter,bezel_thread_pitch);
- }
- // Module to create internal threads in Part B
- module threaded_hole() {
- RodEnd(bezel_diameter+20, // Diameter
- bezel_thread_length, // height
- bezel_thread_length, // thread_len
- bezel_diameter, // Thred_diam
- bezel_thread_pitch); // Thread_ptch
- }
- module pi_footprint() {
- color("crimson",1.0)
- translate([c_h - ((c_h-pi_l)/2),40,0])
- rotate([0,-45,90])
- cube([pi_w, pi_l,pi_h],center=false);
- }
- rotate([0,90,0])
- main_hull();
- pi_footprint();
- left_side();
- right_side();
- left_screw();
- right_screw();
Advertisement
Add Comment
Please, Sign In to add comment