80 lines
2.3 KiB
OpenSCAD
80 lines
2.3 KiB
OpenSCAD
$fn=30;
|
|
top_r = 5;
|
|
|
|
wall = 3;
|
|
bottom = 5;
|
|
|
|
height = 111;
|
|
width = 70;
|
|
|
|
lock_box_height = 29+wall*2;
|
|
lock_box_depth = 13+wall;
|
|
lock_box_width = 27+wall*2;
|
|
lock_box_position = 60;
|
|
|
|
key_inner_diameter = 40;
|
|
key_outer_diameter = 57;
|
|
key_depth = 2;
|
|
key_position = 111;
|
|
|
|
handle_inner_diameter = 40;
|
|
handle_outer_diameter = 52;
|
|
handle_depth = 2;
|
|
handle_position = 0;
|
|
|
|
cable_lock_cutout_diameter = 13;
|
|
cable_lock_width = 4;
|
|
cable_lock_heigh = 2;
|
|
cable_lock_pos_1 = handle_position;
|
|
cable_lock_pos_2 = lock_box_position;
|
|
|
|
m3_nut_hole_height = 3.2;
|
|
m3_nut_hole_width = 5.8;
|
|
|
|
light_guide_diameter = 2.5+0.2;
|
|
|
|
pcb_distance_width = 5;
|
|
pcb_distance_z = 4;
|
|
pcb_distance_hole = 2;
|
|
|
|
servo_width = 40;
|
|
servo_height = 20;
|
|
servo_depth = 10;
|
|
servo_wall = 2;
|
|
servo_hole = 2.5;
|
|
servo_hole_cc_x = 47.26;
|
|
servo_hole_cc_y = 10.17;
|
|
|
|
screw_cutout_width = 8;
|
|
screw_cutout_cc = 45;
|
|
|
|
module cover (){
|
|
// Main mounting plate
|
|
difference(){
|
|
union(){
|
|
// Lock/Motor box
|
|
translate([0,lock_box_position,lock_box_depth/2])minkowski(){
|
|
cube([lock_box_width-top_r*2, lock_box_height-top_r*2, lock_box_depth-1], center=true);
|
|
cylinder(r=top_r, h=1, center=true);
|
|
}
|
|
// Bottom plate
|
|
translate([0,height/2,bottom/2])cube([width, height, bottom], center = true);
|
|
translate([0,0,bottom/2])cylinder(r = width/2, h = bottom, center = true, $fn=100);
|
|
translate([0,key_position,bottom/2])cylinder(r = width/2, h = bottom, center = true, $fn=100);
|
|
|
|
}
|
|
// Handle cutout
|
|
translate([0,handle_position,bottom/2])cylinder(r = handle_inner_diameter/2, h = bottom, center = true, $fn=100);
|
|
translate([0,handle_position,bottom/2+bottom/2-handle_depth/2])cylinder(r = handle_outer_diameter/2, h = handle_depth, center = true, $fn=100);
|
|
// Key cutout
|
|
translate([0,key_position,bottom/2])cylinder(r = key_inner_diameter/2, h = bottom, center = true, $fn=100);
|
|
translate([0,key_position,bottom/2+bottom/2-key_depth/2])cylinder(r = key_outer_diameter/2, h = key_depth, center = true, $fn=100);
|
|
// Sensor cable cutout
|
|
translate([0,cable_lock_pos_1+(cable_lock_pos_2-cable_lock_pos_1)/2,cable_lock_heigh/2])cube([cable_lock_width,cable_lock_pos_2-cable_lock_pos_1,cable_lock_heigh], center = true);
|
|
// Motor cutout
|
|
translate([0,lock_box_position,(lock_box_depth-wall)/2])cube([lock_box_width-wall*2,lock_box_height-wall*2,lock_box_depth-wall], center = true);
|
|
}
|
|
}
|
|
|
|
cover();
|