Compare commits

...

5 Commits

Author SHA1 Message Date
Brian S. Stephan b564847eff
only round the sides, not the top/bottom, of the frame
trying to simplify the print again a bit, I think the roundedness is one
of the causes of prints lifting

since the top is now "sharp" (not that sharp in my printing practice,
but whatever), I added a bevel to the front in an attempt to make it a
bit more comfortable

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-02-11 19:27:35 -06:00
Brian S. Stephan fd2f1da28c
chamfer the frame bottom
chamfering a new bottom panel also chamfers the bottom of the frame,
since the panel subtracts from the cube, the goal being to need fewer
supports on the frame and simplify the overall post-print

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-02-11 19:27:32 -06:00
Brian S. Stephan 773433cd10
add a chamfer to the frame mount columns
should add a bit of structural strength without compromising much

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-02-11 19:27:27 -06:00
Brian S. Stephan bad3c7628f
grow the frame, remove the bottom panel basin
the bottom panel had a basin or tray to make room for taller levers,
namely the Seimitsu LSX-NOBI that I really like. per its specs, the
lever needs 43.70mm internally, and the old values were too tight (55mm
- 19mm from panels - 2mm from lever plate = 43) so the bottom panel was
arbitrarily given a sunken portion (somewhat arbitrarily 2.5mm) to
compensate at the time, because I already had frames printed.

adding 2mm to the frame Z covers the difference (57mm - 10mm - 2mm =
45mm) and thus we don't need the bottom panel hack anymore. I also
suspect the bottom panel basin was slightly affecting it structurally,
so this may help that.

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-02-11 19:27:23 -06:00
Brian S. Stephan 6a1e1cc1f3
better component/parameter names to match panel naming
sed -i 's/top_plate/panel/g' *.scad
sed -i 's/plate_to_frame/panel_to_frame/g' *.scad

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-02-11 19:27:17 -06:00
23 changed files with 124 additions and 94 deletions

View File

@ -15,13 +15,13 @@ use <misc-decorative-plate-24mm-button.scad>
use <misc-decorative-plate-dir_arc-plus-w-30mm-and-sega-2p-plus-one.scad>
use <misc-dustwasher-lsx-nobi.scad>
color("#C12E1F") translate([-top_plate_x/2-25, 0, frame_z/2+75]) top_panel_left_lever_and_dir_arc_w_30mm();
color("#C12E1F") translate([top_plate_x/2+25, 0, frame_z/2+75]) top_panel_right_sega_2p_plus_one_plus_control_with_mount();
color("#C12E1F") translate([-panel_x/2-25, 0, frame_z/2+75]) top_panel_left_lever_and_dir_arc_w_30mm();
color("#C12E1F") translate([panel_x/2+25, 0, frame_z/2+75]) top_panel_right_sega_2p_plus_one_plus_control_with_mount();
color("black") translate([-frame_x/2+5-25, 0, -2.5]) left_frame();
color("black") translate([frame_x/2+25, 0, -2.5]) right_frame();
color("#C12E1F") translate([-top_plate_x/2-25, 0, -5-frame_z/2-75]) bottom_panel_left();
color("#C12E1F") translate([top_plate_x/2+25, 0, -5-frame_z/2-75]) bottom_panel_right();
color("#C12E1F") translate([-panel_x/2-25, 0, -5-frame_z/2-75]) bottom_panel_left();
color("#C12E1F") translate([panel_x/2+25, 0, -5-frame_z/2-75]) bottom_panel_right();
color("black") translate([0, 0, 3+frame_z/2+150]) dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate();
color("black") translate([-195, 25, 3+frame_z/2+150]) lsx_nobi_dustwasher();
color("black") translate([top_plate_x, 25, 3+frame_z/2+150]) button_24mm_decorative_plate();
color("black") translate([panel_x, 25, 3+frame_z/2+150]) button_24mm_decorative_plate();

View File

@ -6,11 +6,8 @@
include <parameters.scad>
include <components.scad>
module bottom_panel() {
difference() {
mirror([0, 0, 1]) panel();
translate([0, 0, top_plate_z/2]) cube([top_plate_x-40, top_plate_y-40, top_plate_z], center=true);
}
module inset_bottom_panel() {
bottom_panel();
}
bottom_panel();
inset_bottom_panel();

View File

@ -8,8 +8,8 @@ include <components.scad>
module bottom_panel_solo() {
difference() {
rotate([180, 0, 0]) base_top_plate_with_raised_overhang();
rotate([180, 0, 0]) top_plate_holes();
rotate([180, 0, 0]) base_panel_with_raised_overhang();
rotate([180, 0, 0]) panel_holes();
}
}

View File

@ -13,17 +13,17 @@ module m4_hole_countersink() {
cylinder(r1=m4_bolt_radius, r2=m4_bolt_countersink_radius, h=3.2, $fn=50, center=true);
}
module top_plate_holes() {
module panel_holes() {
// holes for mount bolts
translate([plate_to_frame_point_x, plate_to_frame_point_y, 0]) m4_hole();
translate([plate_to_frame_point_x, -plate_to_frame_point_y, 0]) m4_hole();
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) m4_hole();
translate([-plate_to_frame_point_x, -plate_to_frame_point_y, 0]) m4_hole();
translate([panel_to_frame_point_x, panel_to_frame_point_y, 0]) m4_hole();
translate([panel_to_frame_point_x, -panel_to_frame_point_y, 0]) m4_hole();
translate([-panel_to_frame_point_x, panel_to_frame_point_y, 0]) m4_hole();
translate([-panel_to_frame_point_x, -panel_to_frame_point_y, 0]) m4_hole();
// holes for mount bolt countersinks
translate([plate_to_frame_point_x, plate_to_frame_point_y, 2]) m4_hole_countersink();
translate([plate_to_frame_point_x, -plate_to_frame_point_y, 2]) m4_hole_countersink();
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 2]) m4_hole_countersink();
translate([-plate_to_frame_point_x, -plate_to_frame_point_y, 2]) m4_hole_countersink();
translate([panel_to_frame_point_x, panel_to_frame_point_y, 2]) m4_hole_countersink();
translate([panel_to_frame_point_x, -panel_to_frame_point_y, 2]) m4_hole_countersink();
translate([-panel_to_frame_point_x, panel_to_frame_point_y, 2]) m4_hole_countersink();
translate([-panel_to_frame_point_x, -panel_to_frame_point_y, 2]) m4_hole_countersink();
}
// button hole, with extra wide bits for various uses (cutting out space
@ -83,7 +83,7 @@ module rocker_20mm_mount() {
// space for a neutrik D mount or 24mm button - Z is to cut the whole inside without affecting panel lip
module frame_cutout() {
cube([36.5, 8, frame_z-(top_plate_z*2)], center=true);
cube([36.5, 8, frame_z-(panel_z*2)], center=true);
}
// bank of three 24mm buttons, commonly on a frame face
@ -163,56 +163,86 @@ module levermountholes() {
}
module base_panel() {
cube([top_plate_x, top_plate_y, top_plate_z], center=true);
cube([panel_x, panel_y, panel_z], center=true);
}
module base_bottom_panel() {
difference() {
base_panel();
translate([0, panel_y/2, panel_z]) rotate([45, 0, 0]) cube([panel_x+0.01, 10, 10], center=true);
translate([0, -panel_y/2, panel_z]) rotate([315, 0, 0]) cube([panel_x+0.01, 10, 10], center=true);
translate([panel_x/2, 0, panel_z]) rotate([0, 45, 0]) cube([10, panel_y+0.01, 10], center=true);
translate([-panel_x/2, 0, panel_z]) rotate([0, 315, 0]) cube([10, panel_y+0.01, 10], center=true);
}
}
module panel() {
difference() {
base_panel();
top_plate_holes();
panel_holes();
}
}
module bottom_panel() {
difference() {
base_bottom_panel();
mirror([0, 0, 1]) panel_holes();
}
}
module overhang_plate() {
roundedcube([overhang_top_plate_x, overhang_top_plate_y, top_plate_z], center=true, radius=1);
roundedcube([overhang_panel_x, overhang_panel_y, panel_z], center=true, radius=1);
}
// this takes the base_panel and makes it a small frame, putting a larger top plate
module base_top_plate_with_raised_overhang() {
module base_panel_with_raised_overhang() {
// make a frame out of the top plate (and keep the main plate on the center plane)
translate([0, 0, -5]) difference() {
base_panel();
cube([top_plate_x-(panel_support_width*2), top_plate_y-(panel_support_width*2), top_plate_z*2], center=true);
cube([panel_x-(panel_support_width*2), panel_y-(panel_support_width*2), panel_z*2], center=true);
}
translate([plate_to_frame_point_x, plate_to_frame_point_y, -2.5]) resize([0, 0, 10]) frame_mount_column();
translate([-(plate_to_frame_point_x), plate_to_frame_point_y, -2.5]) resize([0, 0, 10]) frame_mount_column();
translate([plate_to_frame_point_x, -(plate_to_frame_point_y), -2.5]) resize([0, 0, 10]) frame_mount_column();
translate([-(plate_to_frame_point_x), -(plate_to_frame_point_y), -2.5]) resize([0, 0, 10]) frame_mount_column();
translate([panel_to_frame_point_x, panel_to_frame_point_y, -2.5]) resize([0, 0, 10])
frame_mount_column();
translate([-(panel_to_frame_point_x), panel_to_frame_point_y, -2.5]) resize([0, 0, 10])
rotate([0, 0, 90]) frame_mount_column();
translate([panel_to_frame_point_x, -(panel_to_frame_point_y), -2.5]) resize([0, 0, 10])
rotate([0, 0, 270]) frame_mount_column();
translate([-(panel_to_frame_point_x), -(panel_to_frame_point_y), -2.5]) resize([0, 0, 10])
rotate([0, 0, 180]) frame_mount_column();
overhang_plate();
}
module top_plate_with_raised_overhang() {
module panel_with_raised_overhang() {
difference() {
base_top_plate_with_raised_overhang();
top_plate_holes();
base_panel_with_raised_overhang();
panel_holes();
}
}
module frame_box() {
difference() {
roundedcube([frame_x, frame_y, frame_z], center=true, radius=3);
points = [ [(frame_x/2)-3, (frame_y/2)-3, 0], [-(frame_x/2)+3, (frame_y/2)-3, 0],
[(frame_x/2)-3, -(frame_y/2)+3, 0], [-(frame_x/2)+3, -(frame_y/2)+3, 0] ];
hull() {
for (p = points) {
translate(p) cylinder(r=3, h=frame_z, center=true);
}
}
// cut out the middle to make it a box
cube([top_plate_x-(panel_support_width*2), top_plate_y-(panel_support_width*2), frame_z+5], center=true);
cube([panel_x-(panel_support_width*2), panel_y-(panel_support_width*2), frame_z+5], center=true);
}
}
module frame_mount_column() {
cube([20, 20, frame_z], center=true);
// add some corners back to do a lame chamfer
linear_extrude(height=frame_z, center=true)
polygon([[10, 10], [-20, 10], [10, -20]]);
}
module side_chopper() {
translate([(frame_x-frame_wall)/2+top_plate_overhang_amount, 0, 0])
cube([frame_wall+top_plate_overhang_amount*2, overhang_top_plate_y, frame_z], center=true);
translate([(frame_x-frame_wall)/2+panel_overhang_amount, 0, 0])
cube([frame_wall+panel_overhang_amount*2, overhang_panel_y, frame_z], center=true);
}
module frame_connection_holes() {
@ -233,21 +263,24 @@ module frame_cable_routing_hole() {
module base_frame() {
frame_box();
translate([plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_mount_column();
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_mount_column();
translate([plate_to_frame_point_x, -(plate_to_frame_point_y), 0]) frame_mount_column();
translate([-plate_to_frame_point_x, -(plate_to_frame_point_y), 0]) frame_mount_column();
translate([panel_to_frame_point_x, panel_to_frame_point_y, 0]) frame_mount_column();
translate([-panel_to_frame_point_x, panel_to_frame_point_y, 0]) rotate([0, 0, 90]) frame_mount_column();
translate([-panel_to_frame_point_x, -(panel_to_frame_point_y), 0]) rotate([0, 0, 180]) frame_mount_column();
translate([panel_to_frame_point_x, -(panel_to_frame_point_y), 0]) rotate([0, 0, 270]) frame_mount_column();
}
module frame() {
difference() {
base_frame();
translate([0, 0, frame_z/2]) scale([1, 1, 2]) base_panel();
translate([0, 0, -frame_z/2]) scale([1, 1, 2]) base_panel();
translate([plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([plate_to_frame_point_x, -plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([-plate_to_frame_point_x, -plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([0, 0, -frame_z/2]) scale([1, 1, 2]) base_bottom_panel();
translate([panel_to_frame_point_x, panel_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([-panel_to_frame_point_x, panel_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([panel_to_frame_point_x, -panel_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([-panel_to_frame_point_x, -panel_to_frame_point_y, 0]) frame_hex_bolt_hole();
// comfort bevel
translate([0, -frame_y/2, frame_z/2]) rotate([45, 0, 0]) cube([frame_x+0.01, 4, 4], center=true);
}
}
@ -294,7 +327,7 @@ module dir_arc_plus_w_24mm_8_button() {
module dir_arc_30mm_thumb_button() {
// just my guesstimate on this one, but note that this is the same position as sega 2p (just mirrored)
translate([(top_plate_x/2)-28.06, (-top_plate_y/2)+62, 0]) button_30mm_hole();
translate([(panel_x/2)-28.06, (-panel_y/2)+62, 0]) button_30mm_hole();
}
module dir_arc_30mm_finger_buttons() {
@ -317,7 +350,7 @@ module dir_arc_w_30mm_plus_one() {
// Namco Noir (right hand)
module noir_button_p1() {
translate([-top_plate_x/2, -top_plate_y/2, 0]) translate([35, 140, 0]) button_30mm_hole();
translate([-panel_x/2, -panel_y/2, 0]) translate([35, 140, 0]) button_30mm_hole();
}
module noir_plus_one() {
@ -338,7 +371,7 @@ module noir_plus_one() {
// Sega Astro City 2P (right hand)
module sega_2p_p1() {
translate([-top_plate_x/2, -top_plate_y/2, 0]) translate([28.06, 140, 0]) button_30mm_hole();
translate([-panel_x/2, -panel_y/2, 0]) translate([28.06, 140, 0]) button_30mm_hole();
}
module sega_2p_6_button() {

View File

@ -12,18 +12,18 @@ module dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate_of_plates() {
difference() {
// get a 2mm slice of the bigger button cylinders
union() {
translate([-top_plate_x/2, 0, -25]) {
translate([-panel_x/2, 0, -25]) {
hull() union() {
dir_arc_30mm_finger_buttons();
translate([-26.8, 57.2+12.9+34.5, 0]) dir_arc_30mm_thumb_button();
}
}
translate([top_plate_x/2, 0, -25]) {
translate([panel_x/2, 0, -25]) {
hull() sega_2p();
}
hull() {
translate([-top_plate_x/2, 0, -25]) dir_arc_30mm_thumb_button();
translate([top_plate_x/2, -19-9-11-19-9-11, -25]) sega_2p_p1();
translate([-panel_x/2, 0, -25]) dir_arc_30mm_thumb_button();
translate([panel_x/2, -19-9-11-19-9-11, -25]) sega_2p_p1();
}
difference() {
translate([-60, -8, 0]) cube(60, center=true);
@ -42,8 +42,8 @@ module dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate_of_plates() {
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes
translate([-top_plate_x/2, 0, -1]) dir_arc_w_30mm();
translate([top_plate_x/2, 0, -1]) sega_2p_plus_one();
translate([-panel_x/2, 0, -1]) dir_arc_w_30mm();
translate([panel_x/2, 0, -1]) sega_2p_plus_one();
}
}

View File

@ -10,14 +10,14 @@ module dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
union() {
translate([-top_plate_x/2, 0, -65]) dir_arc_w_30mm();
translate([top_plate_x/2, 0, -65]) sega_2p_plus_one();
translate([-panel_x/2, 0, -65]) dir_arc_w_30mm();
translate([panel_x/2, 0, -65]) sega_2p_plus_one();
}
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes
translate([-top_plate_x/2, 0, -1]) dir_arc_w_30mm();
translate([top_plate_x/2, 0, -1]) sega_2p_plus_one();
translate([-panel_x/2, 0, -1]) dir_arc_w_30mm();
translate([panel_x/2, 0, -1]) sega_2p_plus_one();
}
}

View File

@ -32,10 +32,10 @@ lever_mount_z = 2;
lever_plate_hole = 12;
// case dimensions
// base frame box. reminder: top of inside (including mounts) is chopped by top_plate_z for plates
// base frame box. reminder: top of inside (including mounts) is chopped by panel_z for plates
frame_x = 233;
frame_y = 208;
frame_z = 55;
frame_z = 57;
frame_center_to_neutrik = 70;
@ -46,18 +46,18 @@ frame_wall = 4;
neutrik_panel_thickness = 3;
// top plate, which can either be the whole plate ("inset") or the mounting frame for a plate that overhangs
top_plate_x = frame_x - (frame_wall * 2);
top_plate_y = frame_y - (frame_wall * 2);
top_plate_z = 5;
panel_x = frame_x - (frame_wall * 2);
panel_y = frame_y - (frame_wall * 2);
panel_z = 5;
// how much the top plate x/y is expanded to overhang the frame
// note that this is relative to the top plate (so the wall is added back)
top_plate_overhang_amount = 8.5;
overhang_top_plate_x = top_plate_x + (frame_wall * 2) + (top_plate_overhang_amount * 2);
overhang_top_plate_y = top_plate_y + (frame_wall * 2) + (top_plate_overhang_amount * 2);
panel_overhang_amount = 8.5;
overhang_panel_x = panel_x + (frame_wall * 2) + (panel_overhang_amount * 2);
overhang_panel_y = panel_y + (frame_wall * 2) + (panel_overhang_amount * 2);
plate_to_frame_point_x = (top_plate_x/2)-10;
plate_to_frame_point_y = (top_plate_y/2)-10;
panel_to_frame_point_x = (panel_x/2)-10;
panel_to_frame_point_y = (panel_y/2)-10;
// frame interior that supports the top plates
panel_support_width = 5;

View File

@ -9,7 +9,7 @@ use <top-panel-inset-dir_arc-plus-w-30mm-plus-one.scad>
module dir_arc_w_30mm_plus_one_panel_with_mount() {
dir_arc_w_30mm_plus_one_panel();
translate([-15, -40, -(top_plate_z/2) - 3]) rotate([0, 0, -15]) pcb_mount();
translate([-15, -40, -(panel_z/2) - 3]) rotate([0, 0, -15]) pcb_mount();
}
dir_arc_w_30mm_plus_one_panel_with_mount();

View File

@ -10,11 +10,11 @@ module top_panel_inset_lever_and_dir_arc_w_30mm() {
difference() {
union() {
panel();
translate([(-top_plate_x/2)+55, (top_plate_y/2)-75, -((top_plate_z/2)+(lever_mount_z/2))])
translate([(-panel_x/2)+55, (panel_y/2)-75, -((panel_z/2)+(lever_mount_z/2))])
levermountbase();
}
dir_arc_w_30mm();
translate([(-top_plate_x/2)+55, (top_plate_y/2)-75, 0]) levermountholes();
translate([(-panel_x/2)+55, (panel_y/2)-75, 0]) levermountholes();
}
}

View File

@ -9,7 +9,7 @@ use <top-panel-inset-lever.scad>
module lever_panel_with_mount() {
lever_panel();
translate([0, -top_plate_y/2+25, -(top_plate_z/2) - 3]) pcb_mount();
translate([0, -panel_y/2+25, -(panel_z/2) - 3]) pcb_mount();
}
lever_panel_with_mount();

View File

@ -12,7 +12,7 @@ module lever_panel() {
// base plate
union() {
translate([0,-20,0]) panel();
translate([0, 0, -((top_plate_z/2)+(lever_mount_z/2))]) levermountbase();
translate([0, 0, -((panel_z/2)+(lever_mount_z/2))]) levermountbase();
}
// holes to mount the lever
levermountholes();

View File

@ -9,7 +9,7 @@ use <top-panel-inset-sega-2p-plus-one-plus-control.scad>
module top_panel_inset_sega_2p_plus_one_plus_control_with_mount() {
top_panel_inset_sega_2p_plus_one_plus_control();
translate([30, -50, -(top_plate_z/2) - 3]) pcb_mount();
translate([30, -50, -(panel_z/2) - 3]) pcb_mount();
}
top_panel_inset_sega_2p_plus_one_plus_control_with_mount();

View File

@ -9,12 +9,12 @@ include <components.scad>
module top_panel_left_lever_and_dir_arc_w_30mm() {
difference() {
union() {
top_plate_with_raised_overhang();
translate([(-top_plate_x/2)+55, (top_plate_y/2)-75, -((top_plate_z/2)+(lever_mount_z/2))]) levermountbase();
panel_with_raised_overhang();
translate([(-panel_x/2)+55, (panel_y/2)-75, -((panel_z/2)+(lever_mount_z/2))]) levermountbase();
}
dir_arc_w_30mm();
side_chopper();
translate([(-top_plate_x/2)+55, (top_plate_y/2)-75, 0]) levermountholes();
translate([(-panel_x/2)+55, (panel_y/2)-75, 0]) levermountholes();
}
}

View File

@ -11,8 +11,8 @@ module top_panel_left_lever() {
difference() {
// base plate
union() {
translate([0,-20,0]) top_plate_with_raised_overhang();
translate([0, 0, -((top_plate_z/2)+(lever_mount_z/2))]) levermountbase();
translate([0,-20,0]) panel_with_raised_overhang();
translate([0, 0, -((panel_z/2)+(lever_mount_z/2))]) levermountbase();
}
// holes to mount the lever
levermountholes();

View File

@ -9,7 +9,7 @@ use <top-panel-middle-dir_arc-plus-w-30mm.scad>
module top_panel_middle_dir_arc_w_30mm_with_mount() {
top_panel_middle_dir_arc_w_30mm();
translate([-15, -40, -(top_plate_z/2) - 3]) rotate([0, 0, -45]) pcb_mount();
translate([-15, -40, -(panel_z/2) - 3]) rotate([0, 0, -45]) pcb_mount();
}
top_panel_middle_dir_arc_w_30mm_with_mount();

View File

@ -8,7 +8,7 @@ include <components.scad>
module top_panel_middle_dir_arc_w_30mm() {
difference() {
top_plate_with_raised_overhang();
panel_with_raised_overhang();
dir_arc_w_30mm();
rotate([0, 0, 180]) side_chopper();
side_chopper();

View File

@ -9,7 +9,7 @@ use <top-panel-right-sega-2p-plus-one-plus-control.scad>
module top_panel_right_sega_2p_plus_one_plus_control_with_mount() {
top_panel_right_sega_2p_plus_one_plus_control();
translate([30, -50, -(top_plate_z/2) - 3]) pcb_mount();
translate([30, -50, -(panel_z/2) - 3]) pcb_mount();
}
top_panel_right_sega_2p_plus_one_plus_control_with_mount();

View File

@ -8,7 +8,7 @@ include <components.scad>
module top_panel_right_sega_2p_plus_one_plus_control() {
difference() {
top_plate_with_raised_overhang();
panel_with_raised_overhang();
sega_2p_plus_one();
rotate([0, 0, 180]) side_chopper();
translate([89, 30, 0]) button_24mm_hole();

View File

@ -9,7 +9,7 @@ use <top-panel-right-sega-2p-plus-one.scad>
module top_panel_right_sega_2p_plus_one_with_mount() {
top_panel_right_sega_2p_plus_one();
translate([30, -50, -(top_plate_z/2) - 3]) pcb_mount();
translate([30, -50, -(panel_z/2) - 3]) pcb_mount();
}
top_panel_right_sega_2p_plus_one_with_mount();

View File

@ -8,7 +8,7 @@ include <components.scad>
module top_panel_right_sega_2p_plus_one() {
difference() {
top_plate_with_raised_overhang();
panel_with_raised_overhang();
sega_2p_plus_one();
rotate([0, 0, 180]) side_chopper();
}

View File

@ -8,8 +8,8 @@ include <components.scad>
module dir_arc_24mm_6_button_panel() {
difference() {
top_plate_with_raised_overhang();
translate([-71.5, -top_plate_y/2+122.5, 0]) dir_arc_24mm_6_button();
panel_with_raised_overhang();
translate([-71.5, -panel_y/2+122.5, 0]) dir_arc_24mm_6_button();
}
}

View File

@ -8,8 +8,8 @@ include <components.scad>
module dir_arc_plus_w_24mm_8_button_panel() {
difference() {
top_plate_with_raised_overhang();
translate([-80.5, top_plate_y/6, 0]) dir_arc_plus_w_24mm_8_button();
panel_with_raised_overhang();
translate([-80.5, panel_y/6, 0]) dir_arc_plus_w_24mm_8_button();
}
}

View File

@ -10,8 +10,8 @@ module top_panel_solo_lever_and_sega_2p_6_button() {
difference() {
// base plate
union() {
top_plate_with_raised_overhang();
translate([-60, 18, -((top_plate_z/2)+(lever_mount_z/2))]) levermountbase();
panel_with_raised_overhang();
translate([-60, 18, -((panel_z/2)+(lever_mount_z/2))]) levermountbase();
}
translate([95, -20, 0]) sega_2p_6_button();
translate([-60, 18, 0]) levermountholes();