Compare commits
5 Commits
7e67c15c13
...
1083492ef8
Author | SHA1 | Date | |
---|---|---|---|
1083492ef8 | |||
765ef689c5 | |||
055b103abd | |||
6ad801b8b2 | |||
875513a3d3 |
@ -5,7 +5,6 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/complete/left-frame.scad>
|
||||
use <frames/pieces/box/side.scad>
|
||||
use <frames/pieces/box/front-or-back.scad>
|
||||
use <frames/pieces/box/front-or-back-aux-and-neutrik.scad>
|
||||
@ -22,14 +21,15 @@ top_deco_color = "white";
|
||||
|
||||
color(panel_color) translate([-panel_x/2, 0, frame_z/2-panel_z+0.01]) lever_and_dir_arc_w_30mm_panel();
|
||||
color(panel_color) translate([panel_x/2, 0, frame_z/2-panel_z+0.01]) sega_2p_plus_one_plus_control_panel_with_mount();
|
||||
color(base_color) translate([-frame_x/2+5, 0, -2.5]) left_frame();
|
||||
color(base_color) translate([panel_x/2, 0, -2.5]) rotate([0, 180, 0]) side_box_frame_piece();
|
||||
color(base_color) translate([-panel_x/2, 0, -2.5]) side_box_frame_piece();
|
||||
color(base_color) translate([panel_x/2, 0, -2.5]) front_or_back_box_frame_piece();
|
||||
color(base_color) translate([-panel_x/2, 0, -2.5]) front_or_back_box_frame_piece();
|
||||
color(base_color) translate([panel_x/2, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_box_frame_piece();
|
||||
color(base_color) translate([-panel_x/2, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_box_frame_piece();
|
||||
color(base_color) translate([-panel_x/2, 0, -5-frame_z/2+5]) panel();
|
||||
color(base_color) translate([panel_x/2, 0, -5-frame_z/2+5]) panel();
|
||||
|
||||
/* color(top_deco_color) translate([0, 0, 3+frame_z/2-4]) dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate_of_plates(); */
|
||||
color(top_deco_color) translate([0, 0, 3+frame_z/2-panel_z]) dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate();
|
||||
color(top_deco_color) translate([-170, 20, 3+frame_z/2-panel_z]) lsx_nobi_dustwasher();
|
||||
color(top_deco_color) translate([panel_x-24, 30, 3+frame_z/2-panel_z]) button_24mm_decorative_plate();
|
||||
|
@ -396,24 +396,24 @@ 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([(panel_x/2)-28.06, (-panel_y/2)+62, 0]) button_30mm_hole();
|
||||
translate([(panel_x/2)-sega_2p_column_1_left_panel_edge_offset, (-panel_y/2)+62, 0]) button_30mm_hole();
|
||||
}
|
||||
|
||||
module dir_arc_30mm_finger_buttons() {
|
||||
translate([0, 57.2, 0]) dir_arc_30mm_thumb_button();
|
||||
translate([-33.8, 57.2+12.9, 0]) dir_arc_30mm_thumb_button();
|
||||
translate([-33.8-34.8, 57.2+12.9, 0]) dir_arc_30mm_thumb_button();
|
||||
translate([0, dir_arc_30mm_row_2_offset, 0]) dir_arc_30mm_thumb_button();
|
||||
translate([-dir_arc_30mm_column_2_offset, dir_arc_30mm_row_3_offset, 0]) dir_arc_30mm_thumb_button();
|
||||
translate([-dir_arc_30mm_column_3_offset, dir_arc_30mm_row_3_offset, 0]) dir_arc_30mm_thumb_button();
|
||||
}
|
||||
|
||||
module dir_arc_w_30mm() {
|
||||
dir_arc_30mm_thumb_button();
|
||||
dir_arc_30mm_finger_buttons();
|
||||
translate([-26.8, 57.2+12.9+34.5, 0]) dir_arc_30mm_thumb_button();
|
||||
translate([-26.8, dir_arc_w_30mm_row_4_offset, 0]) dir_arc_30mm_thumb_button();
|
||||
}
|
||||
|
||||
module dir_arc_w_30mm_plus_one() {
|
||||
dir_arc_w_30mm();
|
||||
translate([-33.8-34.8-33.8, 57.2, 0]) dir_arc_30mm_thumb_button();
|
||||
translate([-dir_arc_30mm_column_3_offset-33.8, dir_arc_30mm_row_2_offset, 0]) dir_arc_30mm_thumb_button();
|
||||
}
|
||||
|
||||
// Namco Noir (right hand)
|
||||
@ -440,23 +440,24 @@ module noir_plus_one() {
|
||||
// Sega Astro City 2P (right hand)
|
||||
|
||||
module sega_2p_p1() {
|
||||
translate([-panel_x/2, -panel_y/2, 0]) translate([28.06, 140, 0]) button_30mm_hole();
|
||||
translate([-panel_x/2, -panel_y/2, 0]) translate([sega_2p_column_1_left_panel_edge_offset, 140, 0])
|
||||
button_30mm_hole();
|
||||
}
|
||||
|
||||
module sega_2p_6_button() {
|
||||
// via slagcoin
|
||||
sega_2p_p1();
|
||||
translate([30.5, 11+9, 0]) sega_2p_p1();
|
||||
translate([30.5+36, 11+9, 0]) sega_2p_p1();
|
||||
translate([sega_2p_column_2_offset, 11+9, 0]) sega_2p_p1();
|
||||
translate([sega_2p_column_3_offset, 11+9, 0]) sega_2p_p1();
|
||||
translate([0, -19-9-11, 0]) sega_2p_p1();
|
||||
translate([30.5, -19, 0]) sega_2p_p1();
|
||||
translate([30.5+36, -19, 0]) sega_2p_p1();
|
||||
translate([sega_2p_column_2_offset, -19, 0]) sega_2p_p1();
|
||||
translate([sega_2p_column_3_offset, -19, 0]) sega_2p_p1();
|
||||
}
|
||||
|
||||
module sega_2p() {
|
||||
sega_2p_6_button();
|
||||
translate([30.5+36+36, 11, 0]) sega_2p_p1();
|
||||
translate([30.5+36+36, -19-9, 0]) sega_2p_p1();
|
||||
translate([sega_2p_column_4_offset, 11, 0]) sega_2p_p1();
|
||||
translate([sega_2p_column_4_offset, -19-9, 0]) sega_2p_p1();
|
||||
}
|
||||
|
||||
module sega_2p_plus_one() {
|
||||
|
@ -9,18 +9,19 @@ use <front-or-back.scad>
|
||||
use <front-or-back-inner-wall.scad>
|
||||
|
||||
module front_stripe() {
|
||||
cube([frame_x-(frame_mount_column_width*1.75)*2, frame_wall, 6], center=true);
|
||||
cube([frame_x-(frame_mount_column_width*1.75)*2, frame_wall, 5], center=true);
|
||||
}
|
||||
|
||||
module horiz_striped_windowed_front_or_back_box_frame_piece() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece();
|
||||
// subtract frame wall windows
|
||||
translate([0, -(frame_y-frame_wall)/2, 18]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, 9]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, 0]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, -9]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, -18]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, 17.5]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, 10.5]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, 3.5]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, -3.5]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, -10.5]) front_stripe();
|
||||
translate([0, -(frame_y-frame_wall)/2, -17.5]) front_stripe();
|
||||
// subtract the inner wall area that will be provided by the other piece
|
||||
front_or_back_inner_wall_frame_piece();
|
||||
}
|
||||
|
@ -9,18 +9,19 @@ use <side.scad>
|
||||
use <side-inner-wall.scad>
|
||||
|
||||
module side_stripe() {
|
||||
cube([frame_wall, frame_y-(frame_mount_column_width*1.75)*2, 6], center=true);
|
||||
cube([frame_wall, frame_y-(frame_mount_column_width*1.75)*2, 5], center=true);
|
||||
}
|
||||
|
||||
module horiz_striped_windowed_side_box_frame_piece() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
// subtract frame wall windows
|
||||
translate([-(frame_x-frame_wall)/2, 0, 18]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, 9]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, 0]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, -9]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, -18]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, 17.5]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, 10.5]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, 3.5]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, -3.5]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, -10.5]) side_stripe();
|
||||
translate([-(frame_x-frame_wall)/2, 0, -17.5]) side_stripe();
|
||||
// subtract the inner wall area that will be provided by the other piece
|
||||
side_inner_wall_frame_piece();
|
||||
}
|
||||
|
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
decorative_radius_scale = 1.5;
|
||||
jumbo_decorative_radius_scale = 0;
|
||||
include <components.scad>
|
||||
|
||||
module dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate_of_plates() {
|
||||
difference() {
|
||||
// layout offset + 30 = width for layout plus button width + 12+3 = space around button
|
||||
left_plate_x = dir_arc_30mm_column_3_offset + 30 + 12;
|
||||
// layout offset + 30 = width for layout plus button width + 12+3 = space around button
|
||||
left_plate_y = dir_arc_w_30mm_row_4_offset + 30 + 12;
|
||||
left_plate_center_x = (left_plate_x + sega_2p_column_1_left_panel_edge_offset - 15)/2;
|
||||
// layout offset + 30 = width for layout plus button width + 12+3 = space around button
|
||||
right_plate_x = sega_2p_column_4_offset + 30 + 12;
|
||||
right_plate_center_x = (right_plate_x + sega_2p_column_1_left_panel_edge_offset - 15)/2;
|
||||
|
||||
union() {
|
||||
// y values are based on the other half below
|
||||
translate([right_plate_center_x, 15, 0]) linear_extrude(2) offset(r=3, $fn=50)
|
||||
square([right_plate_x, left_plate_y], center=true);
|
||||
translate([-left_plate_center_x, 15, 0]) linear_extrude(2) offset(r=3, $fn=50)
|
||||
square([left_plate_x, left_plate_y], center=true);
|
||||
/* translate([-50, 0, 0]) cube([200, 200, 2], center=true); */
|
||||
}
|
||||
// cut out the normal holes
|
||||
translate([-panel_x/2, 0, -1]) dir_arc_w_30mm();
|
||||
translate([panel_x/2, 0, -1]) sega_2p_plus_one();
|
||||
}
|
||||
}
|
||||
|
||||
dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate_of_plates();
|
16
src/panels/inset/dir_arc-plus-w-30mm-panel.scad
Normal file
16
src/panels/inset/dir_arc-plus-w-30mm-panel.scad
Normal file
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2023 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
|
||||
module dir_arc_w_30mm_panel() {
|
||||
difference() {
|
||||
panel();
|
||||
dir_arc_w_30mm();
|
||||
}
|
||||
}
|
||||
|
||||
dir_arc_w_30mm_panel();
|
@ -105,3 +105,18 @@ jumbo_decorative_radius_scale = 2;
|
||||
slash_inner_displacement = 10;
|
||||
slash_width = 15;
|
||||
slash_height = frame_z-panel_z*3;
|
||||
|
||||
// LAYOUTS
|
||||
|
||||
sega_2p_column_2_offset = 30.5;
|
||||
sega_2p_column_3_offset = sega_2p_column_2_offset + 36;
|
||||
sega_2p_column_4_offset = sega_2p_column_3_offset + 36;
|
||||
|
||||
// this offset is from the left edge of the panel
|
||||
sega_2p_column_1_left_panel_edge_offset = 28.06;
|
||||
|
||||
dir_arc_30mm_column_2_offset = 33.8;
|
||||
dir_arc_30mm_column_3_offset = dir_arc_30mm_column_2_offset + 34.8;
|
||||
dir_arc_30mm_row_2_offset = 57.2;
|
||||
dir_arc_30mm_row_3_offset = dir_arc_30mm_row_2_offset + 12.9;
|
||||
dir_arc_w_30mm_row_4_offset = dir_arc_30mm_row_3_offset + 34.5;
|
||||
|
Loading…
Reference in New Issue
Block a user