From 4a8655f51a07c675610d2d0ba45ee62414fd072d Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Sun, 15 Jan 2023 22:01:24 +0100 Subject: nikon holder first draft --- nikon_lens_2x2.scad | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 nikon_lens_2x2.scad (limited to 'nikon_lens_2x2.scad') diff --git a/nikon_lens_2x2.scad b/nikon_lens_2x2.scad new file mode 100644 index 0000000..5a353ce --- /dev/null +++ b/nikon_lens_2x2.scad @@ -0,0 +1,58 @@ +use +$fn=50; + +// diameter (not radius!) +throat = 44; +inner = 47; // ? +outer = 60; // ? + +lip_width = 2; // ? +lip_height = 2; // ? +lip_positions = [[50,35], [55,150], [55,265]]; + +flange_height = 15; + +size_x = 2; +size_y = 2; +size_z = 0; + +module rounding_circle(radius, corner_radius, angle) { + rotate_extrude() { + translate([radius, angle>=180?corner_radius:0]) difference() { + rotate([0,0,angle]) square(corner_radius); + circle(corner_radius); + } + } +} + +module lip(angle, offs) { + rotate([0,0,offs]) translate([0,0,lip_height/2]) + rotate_extrude(angle=angle) + translate([inner/2 - lip_width/2,0,0]) square([lip_width,lip_height], center=true); +} + +module nikon_f_flange() { + difference() { + linear_extrude(flange_height) difference() { + circle(outer/2); + circle(inner/2); + } + translate([0,0,flange_height-1]) rounding_circle(29,1,0); + } + + translate([0,0,flange_height - lip_height]) { + for (i = lip_positions) { + lip(i[0],i[1]); + } + } + +} + +gridfinity(size_x,size_y,size_z); +translate(gf_top_center(size_x,size_y,size_z)) { + nikon_f_flange(); + translate([14,-39]) + linear_extrude(1) text("Nikon", size = 7, font="sans:style=bold italic"); +} + +translate(gf_top_center(size_x,size_y,size_z)) rounding_circle(32.99,3,180); -- cgit v1.2.3