Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $fn=50;
- WALL_THICKNESS=5;
- WALL_SPACING=1;
- WALL_HEIGHT=50;
- LEONARDO_LENGTH=68.7;
- LEONARDO_WIDTH=53.476;
- LEONARDO_HOLE=3.175;
- LEONARDO_THICKNESS=1.7;
- HOLE_CYLINDER_SCALE=0.95;
- HOLE_CYLINDER_LENGTH=LEONARDO_THICKNESS*5;
- LCD_LENGTH=80;
- BOX_LENGTH=LCD_LENGTH+WALL_SPACING+5;
- BUTTON_HOLE_DIAMETER=22;
- BUTTON_HOLE_HEIGHT=WALL_HEIGHT-17;
- BUTTON_HOLE_X_POS=BOX_LENGTH-WALL_THICKNESS-15;
- LEDS=5;
- LED_DIAMETER=4.95;
- LED_SPACING=LED_DIAMETER+3;
- LED_X_POS=LED_DIAMETER+2;
- LED_OUTSIDE_DIAMETER=5.35;
- LED_OUTSIDE_DEPTH=1;
- LEONARDO_HOLE_POS=[[13.97,2.54,0], [66,7.616,0], [66, 35.56,0], [15.241, 50.8, 0]];
- LEONARDO_DC_POS=[-1.868, 3.238, 0];
- LEONARDO_DC_SIZE=[-LEONARDO_DC_POS[0],
- 12.065-LEONARDO_DC_POS[1],
- 11];
- LEONARDO_USB_POS=[-1.27, 34.29, 0];
- LEONARDO_USB_SIZE=[
- -LEONARDO_USB_POS[0],
- 41.91-LEONARDO_USB_POS[1],
- 2.8
- ];
- translate([-WALL_SPACING, -WALL_SPACING, 0])
- {
- cube([BOX_LENGTH+WALL_SPACING,
- LEONARDO_WIDTH+WALL_SPACING*2,
- WALL_THICKNESS]);
- }
- translate([0, 0, WALL_THICKNESS + HOLE_CYLINDER_LENGTH/2])
- {
- for(hole = LEONARDO_HOLE_POS)
- {
- translate(hole)
- cylinder(h = HOLE_CYLINDER_LENGTH, d = LEONARDO_HOLE*HOLE_CYLINDER_SCALE, center = true);
- }
- }
- // SPACER FOR plugs
- translate([LEONARDO_DC_POS[0], -WALL_SPACING, 0])
- {
- cube([-LEONARDO_DC_POS[0],
- LEONARDO_WIDTH+WALL_SPACING*2,
- WALL_THICKNESS]);
- }
- //Left wall
- translate([LEONARDO_DC_POS[0]-WALL_THICKNESS, -WALL_SPACING-WALL_THICKNESS, 0])
- {
- difference()
- {
- cube([WALL_THICKNESS,
- LEONARDO_WIDTH+WALL_SPACING*2+WALL_THICKNESS*2,
- WALL_HEIGHT+WALL_THICKNESS]);
- translate([-1,LEONARDO_DC_POS[1]+WALL_THICKNESS+WALL_SPACING*2,LEONARDO_DC_POS[2]+WALL_THICKNESS])
- cube([WALL_THICKNESS+2, LEONARDO_DC_SIZE[1], LEONARDO_DC_SIZE[2]]);
- translate([-1,LEONARDO_USB_POS[1]+WALL_THICKNESS+WALL_SPACING*2,LEONARDO_DC_POS[2]+WALL_THICKNESS])
- cube([WALL_THICKNESS+2, LEONARDO_USB_SIZE[1], LEONARDO_USB_SIZE[2]]);
- }
- }
- //Top wall
- translate([LEONARDO_DC_POS[0], LEONARDO_WIDTH+WALL_SPACING, 0])
- {
- cube([BOX_LENGTH+WALL_SPACING*2+WALL_THICKNESS,
- WALL_THICKNESS,
- WALL_HEIGHT+WALL_THICKNESS]);
- }
- //Bottom wall
- translate([LEONARDO_DC_POS[0], -WALL_SPACING-WALL_THICKNESS, 0])
- {
- //color("red")
- difference()
- {
- cube([BOX_LENGTH+WALL_SPACING*2+WALL_THICKNESS,
- WALL_THICKNESS,
- WALL_HEIGHT+WALL_THICKNESS]);
- translate([BUTTON_HOLE_X_POS, WALL_THICKNESS+1, BUTTON_HOLE_HEIGHT])
- rotate([90,0,0])
- cylinder(h=WALL_THICKNESS*4,d=BUTTON_HOLE_DIAMETER, center=false);
- for(led = [1:LEDS])
- {
- translate([LED_SPACING*led+LED_X_POS, WALL_THICKNESS+1, BUTTON_HOLE_HEIGHT])
- rotate([90,0,0])
- {
- cylinder(h=WALL_THICKNESS*4,d=LED_DIAMETER, center=false);
- cylinder(h=WALL_THICKNESS-LED_OUTSIDE_DEPTH+1,d=LED_OUTSIDE_DIAMETER, center=false);
- }
- }
- }
- }
- //Right wall
- translate([BOX_LENGTH, -WALL_SPACING, 0])
- {
- //color("blue")
- cube([WALL_THICKNESS,
- LEONARDO_WIDTH+WALL_SPACING*2,
- WALL_HEIGHT+WALL_THICKNESS]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement