Compare commits
8 Commits
fa05469e19
...
ecc3ffbb54
Author | SHA1 | Date | |
---|---|---|---|
ecc3ffbb54 | |||
73b55861b6 | |||
439333c154 | |||
ef16559b95 | |||
2880018913 | |||
ca928932ba | |||
8b4cc0b182 | |||
a6b5d77671 |
2
build.py
2
build.py
@ -48,3 +48,5 @@ for root, dirs, files in os.walk('.'):
|
||||
|
||||
for process in processes:
|
||||
process.wait()
|
||||
if process.returncode != 0:
|
||||
raise Exception(f"building {process.args} failed")
|
||||
|
@ -5,10 +5,9 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/extended/front-or-back.scad>
|
||||
use <frames/pieces/extended/side.scad>
|
||||
use <frames/pieces/extended/front-or-back-clean-for-extended-side-aux-and-neutrik.scad>
|
||||
use <frames/pieces/extended/front-or-back-clean-for-extended-side-windowed-horiz-stripes.scad>
|
||||
use <frames/pieces/side-trapezoid.scad>
|
||||
use <frames/pieces/front-or-back-aux-and-neutrik.scad>
|
||||
use <frames/pieces/front-or-back-windowed-horiz-stripes.scad>
|
||||
use <panels/inset/lever-and-dir_arc-plus-w-30mm-panel.scad>
|
||||
use <panels/inset/sega-2p-nine-plus-control-panel-with-mount.scad>
|
||||
use <misc/decorative-plate-24mm-button.scad>
|
||||
@ -23,12 +22,12 @@ top_deco_color = "#8E9089";
|
||||
|
||||
color(top_panel_color) translate([-panel_x/2, 0, frame_z/2-panel_z+0.01]) lever_and_dir_arc_w_30mm_panel();
|
||||
color(top_panel_color) translate([panel_x/2, 0, frame_z/2-panel_z+0.01]) sega_2p_nine_plus_control_panel_with_mount();
|
||||
color(frame_side_color) translate([-frame_x/2+4, 0, -2.5]) extended_left_or_right_frame_piece();
|
||||
color(frame_side_color) translate([frame_x/2-4, 0, -2.5]) mirror([1, 0, 0]) extended_left_or_right_frame_piece();
|
||||
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) horiz_striped_windowed_front_or_back_box_frame_piece_for_extended_side();
|
||||
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) horiz_striped_windowed_front_or_back_box_frame_piece_for_extended_side();
|
||||
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_box_frame_piece_for_extended_side();
|
||||
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_box_frame_piece_for_extended_side();
|
||||
color(frame_side_color) translate([-frame_x/2+4, 0, -2.5]) side_trapezoid_frame_piece();
|
||||
color(frame_side_color) translate([frame_x/2-4, 0, -2.5]) mirror([1, 0, 0]) side_trapezoid_frame_piece();
|
||||
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) horiz_striped_windowed_front_or_back_frame_piece();
|
||||
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) horiz_striped_windowed_front_or_back_frame_piece();
|
||||
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_frame_piece();
|
||||
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_frame_piece();
|
||||
color(bottom_panel_color) translate([-panel_x/2, 0, -5-frame_z/2+5]) panel();
|
||||
color(bottom_panel_color) translate([panel_x/2, 0, -5-frame_z/2+5]) panel();
|
||||
|
||||
|
@ -5,9 +5,9 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/extended/front-or-back.scad>
|
||||
use <frames/pieces/extended/side-extended-to-front.scad>
|
||||
use <frames/pieces/extended/front-or-back-clean-for-extended-side-aux-and-neutrik.scad>
|
||||
use <frames/pieces/front-or-back-trapezoid.scad>
|
||||
use <frames/pieces/side-trapezoid-extended-to-front-trapezoid.scad>
|
||||
use <frames/pieces/front-or-back-aux-and-neutrik.scad>
|
||||
use <panels/inset/lever-and-dir_arc-plus-w-30mm-panel.scad>
|
||||
use <panels/inset/sega-2p-nine-plus-control-panel-with-mount.scad>
|
||||
use <misc/decorative-plate-24mm-button.scad>
|
||||
@ -22,12 +22,12 @@ top_deco_color = "#8E9089";
|
||||
|
||||
color(top_panel_color) translate([-panel_x/2, 0, frame_z/2-panel_z+0.01]) lever_and_dir_arc_w_30mm_panel();
|
||||
color(top_panel_color) translate([panel_x/2, 0, frame_z/2-panel_z+0.01]) sega_2p_nine_plus_control_panel_with_mount();
|
||||
color(frame_side_color) translate([-frame_x/2+4, 0, -2.5]) extra_extended_left_or_right_frame_piece();
|
||||
color(frame_side_color) translate([frame_x/2-4, 0, -2.5]) mirror([1, 0, 0]) extra_extended_left_or_right_frame_piece();
|
||||
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) extended_front_or_back_frame_piece();
|
||||
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) extended_front_or_back_frame_piece();
|
||||
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_box_frame_piece_for_extended_side();
|
||||
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_box_frame_piece_for_extended_side();
|
||||
color(frame_side_color) translate([-frame_x/2+4, 0, -2.5]) side_trapezoid_extended_to_front_frame_piece();
|
||||
color(frame_side_color) translate([frame_x/2-4, 0, -2.5]) mirror([1, 0, 0]) side_trapezoid_extended_to_front_frame_piece();
|
||||
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) front_or_back_trapezoid_frame_piece();
|
||||
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) front_or_back_trapezoid_frame_piece();
|
||||
color(frame_top_bottom_color) translate([-frame_x/2+4, 0, -2.5]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_frame_piece();
|
||||
color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_frame_piece();
|
||||
color(bottom_panel_color) translate([-panel_x/2, 0, -5-frame_z/2+5]) panel();
|
||||
color(bottom_panel_color) translate([panel_x/2, 0, -5-frame_z/2+5]) panel();
|
||||
|
||||
|
@ -5,9 +5,9 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/extended/front-or-back.scad>
|
||||
use <frames/pieces/extended/side-extended-to-front.scad>
|
||||
use <frames/pieces/extended/front-or-back-clean-for-extended-side-aux-and-neutrik.scad>
|
||||
use <frames/pieces/front-or-back-trapezoid.scad>
|
||||
use <frames/pieces/side-trapezoid-extended-to-front-trapezoid.scad>
|
||||
use <frames/pieces/front-or-back-aux-and-neutrik.scad>
|
||||
use <panels/inset/lever-and-dir_arc-plus-w-30mm-panel.scad>
|
||||
use <panels/inset/lever-and-sega-2p-6-button-panel-with-aux-with-mount.scad>
|
||||
use <misc/dustwasher-jlf.scad>
|
||||
@ -19,10 +19,10 @@ frame_side_color = "#8E9089";
|
||||
top_deco_color = "#000000";
|
||||
|
||||
color(top_panel_color) translate([0, 0, frame_z/2-panel_z+0.01]) lever_and_sega_2p_6_button_panel_with_aux_with_mount();
|
||||
color(frame_side_color) translate([0, 0, -2.5]) extra_extended_left_or_right_frame_piece();
|
||||
color(frame_side_color) translate([0, 0, -2.5]) mirror([1, 0, 0]) extra_extended_left_or_right_frame_piece();
|
||||
color(frame_top_bottom_color) translate([0, 0, -2.5]) extended_front_or_back_frame_piece();
|
||||
color(frame_top_bottom_color) translate([0, 0, -2.5]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_box_frame_piece_for_extended_side();
|
||||
color(frame_side_color) translate([0, 0, -2.5]) side_trapezoid_extended_to_front_frame_piece();
|
||||
color(frame_side_color) translate([0, 0, -2.5]) mirror([1, 0, 0]) side_trapezoid_extended_to_front_frame_piece();
|
||||
color(frame_top_bottom_color) translate([0, 0, -2.5]) front_or_back_trapezoid_frame_piece();
|
||||
color(frame_top_bottom_color) translate([0, 0, -2.5]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_frame_piece();
|
||||
color(bottom_panel_color) translate([0, 0, -5-frame_z/2+5]) panel();
|
||||
|
||||
color(top_deco_color) translate([-65, 5, 3+frame_z/2-panel_z]) jlf_dustwasher();
|
||||
|
@ -5,9 +5,9 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.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>
|
||||
use <frames/pieces/side.scad>
|
||||
use <frames/pieces/front-or-back.scad>
|
||||
use <frames/pieces/front-or-back-aux-and-neutrik.scad>
|
||||
use <panels/inset/lever-and-dir_arc-plus-w-30mm-panel.scad>
|
||||
use <panels/inset/sega-2p-nine-plus-control-panel-with-mount.scad>
|
||||
use <misc/decorative-plate-24mm-button.scad>
|
||||
@ -20,12 +20,12 @@ 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_nine_plus_control_panel_with_mount();
|
||||
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, -2.5]) rotate([0, 180, 0]) side_frame_piece();
|
||||
color(base_color) translate([-panel_x/2, 0, -2.5]) side_frame_piece();
|
||||
color(base_color) translate([panel_x/2, 0, -2.5]) front_or_back_frame_piece();
|
||||
color(base_color) translate([-panel_x/2, 0, -2.5]) front_or_back_frame_piece();
|
||||
color(base_color) translate([panel_x/2, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_frame_piece();
|
||||
color(base_color) translate([-panel_x/2, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_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();
|
||||
|
||||
|
@ -6,9 +6,9 @@
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/interconnect.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>
|
||||
use <frames/pieces/side.scad>
|
||||
use <frames/pieces/front-or-back.scad>
|
||||
use <frames/pieces/front-or-back-aux-and-neutrik.scad>
|
||||
use <panels/overhang/left-lever-and-dir_arc-plus-w-30mm-panel.scad>
|
||||
use <panels/overhang/right-sega-2p-nine-plus-control-panel-with-mount.scad>
|
||||
use <panels/overhang/left-or-right-panel.scad>
|
||||
@ -18,12 +18,12 @@ use <misc/dustwasher-lsx-nobi.scad>
|
||||
|
||||
color("#C12E1F") translate([-panel_x/2-25, 0, frame_z/2+75]) lever_and_dir_arc_w_30mm_left_overhang_panel();
|
||||
color("#C12E1F") translate([panel_x/2+25, 0, frame_z/2+75]) sega_2p_nine_plus_control_right_overhang_panel_with_mount();
|
||||
color("black") translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_box_frame_piece();
|
||||
color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_box_frame_piece();
|
||||
color("black") translate([-frame_x/2+5-50, 0, -2.5]) side_box_frame_piece();
|
||||
color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-50, 0, -2.5]) side_box_frame_piece();
|
||||
color("black") rotate([180, 0, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_box_frame_piece();
|
||||
color("black") rotate([180, 0, 0]) rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_box_frame_piece();
|
||||
color("black") translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_frame_piece();
|
||||
color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_frame_piece();
|
||||
color("black") translate([-frame_x/2+5-50, 0, -2.5]) side_frame_piece();
|
||||
color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-50, 0, -2.5]) side_frame_piece();
|
||||
color("black") rotate([180, 0, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_frame_piece();
|
||||
color("black") rotate([180, 0, 0]) rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_frame_piece();
|
||||
color("black") rotate([0, 180, 0]) interconnect_frame_piece();
|
||||
color("#C12E1F") translate([-panel_x/2-25, 0, -5-frame_z/2-75]) left_or_right_overhang_panel();
|
||||
color("#C12E1F") mirror([0, 1, 0]) translate([panel_x/2+25, 0, -5-frame_z/2-75]) rotate([0, 0, 180])
|
||||
|
@ -274,13 +274,13 @@ module frame_solid() {
|
||||
];
|
||||
hull() {
|
||||
for (p = top_points) {
|
||||
translate(p) cylinder(r=2, h=frame_bevel_height, center=true);
|
||||
translate(p) cylinder(r=2, h=frame_bevel_height, center=true, $fn=4);
|
||||
}
|
||||
for (p = base_points) {
|
||||
translate(p) cylinder(r=2, h=frame_z-(frame_bevel_height*2), center=true);
|
||||
translate(p) cylinder(r=2, h=frame_z-(frame_bevel_height*2), center=true, $fn=4);
|
||||
}
|
||||
for (p = bottom_points) {
|
||||
translate(p) cylinder(r=2, h=frame_bevel_height, center=true);
|
||||
translate(p) cylinder(r=2, h=frame_bevel_height, center=true, $fn=4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/extended/front-or-back.scad>
|
||||
use <frames/pieces/front-or-back-trapezoid.scad>
|
||||
|
||||
module back_piece_extension() {
|
||||
// combine the original wall with a copy to "pull" the wall out
|
||||
|
@ -7,8 +7,8 @@
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/complete/left-frame.scad>
|
||||
use <frames/pieces/box/side.scad>
|
||||
use <frames/pieces/extended/front-or-back.scad>
|
||||
use <frames/pieces/side.scad>
|
||||
use <frames/pieces/front-or-back-trapezoid.scad>
|
||||
|
||||
module side_frame_piece_wall() {
|
||||
// this doesn't use the side_frame_piece because of the 45 degree angle geometry
|
||||
@ -43,7 +43,7 @@ module extra_extended_left_or_right_frame_piece() {
|
||||
difference() {
|
||||
union() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
||||
// chop off the old edge which is getting replaced with the extension
|
||||
translate([-frame_x/2+frame_bevel_height/2, 0, 0])
|
||||
cube([frame_bevel_height, frame_y, frame_z], center=true);
|
||||
|
@ -6,11 +6,11 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/box/front-or-back.scad>
|
||||
use <frames/pieces/front-or-back.scad>
|
||||
|
||||
module interconnect_frame_half_piece() {
|
||||
translate([0, frame_y/2-frame_wall, 0]) difference() {
|
||||
front_or_back_box_frame_piece();
|
||||
front_or_back_frame_piece();
|
||||
translate([0, (-frame_y+frame_wall)/2-panel_overhang_amount, 0])
|
||||
cube([overhang_panel_x, frame_wall+panel_overhang_amount*2, frame_z], center=true);
|
||||
}
|
||||
|
@ -1,28 +0,0 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <front-or-back-clean-for-extended-side.scad>
|
||||
|
||||
module front_or_back_aux_and_neutrik_box_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece_for_extended_side();
|
||||
|
||||
// aux button holes
|
||||
translate([-35.25, -101.5, 0]) rotate([90, 0, 0]) aux_control_three_button_cluster();
|
||||
translate([-35.25, -(frame_y/2)+neutrik_panel_thickness+4, 0]) frame_cutout();
|
||||
translate([-72.25, -(frame_y/2)+neutrik_panel_thickness+4, 0]) frame_cutout();
|
||||
translate([2, -(frame_y/2)+neutrik_panel_thickness+4, 0]) frame_cutout();
|
||||
|
||||
// neutrix button hole
|
||||
translate([frame_center_to_neutrik, -(frame_y/2)+neutrik_panel_thickness, 0])
|
||||
rotate([270, 0, 0]) neutrik_d_mount();
|
||||
translate([frame_center_to_neutrik, -(frame_y/2)+neutrik_panel_thickness+4, 0])
|
||||
frame_cutout();
|
||||
}
|
||||
}
|
||||
|
||||
front_or_back_aux_and_neutrik_box_frame_piece_for_extended_side();
|
@ -1,18 +0,0 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/box/front-or-back-windowed-backslashes.scad>
|
||||
|
||||
module backslashes_windowed_front_or_back_box_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
backslashes_windowed_front_or_back_box_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
backslashes_windowed_front_or_back_box_frame_piece_for_extended_side();
|
@ -1,18 +0,0 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/box/front-or-back-windowed-forwardslashes.scad>
|
||||
|
||||
module forwardslashes_windowed_front_or_back_box_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
forwardslashes_windowed_front_or_back_box_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
forwardslashes_windowed_front_or_back_box_frame_piece_for_extended_side();
|
@ -1,18 +0,0 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/box/front-or-back-windowed-horiz-stripes.scad>
|
||||
|
||||
module horiz_striped_windowed_front_or_back_box_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
horiz_striped_windowed_front_or_back_box_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
horiz_striped_windowed_front_or_back_box_frame_piece_for_extended_side();
|
@ -1,18 +0,0 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/box/front-or-back-windowed.scad>
|
||||
|
||||
module windowed_front_or_back_box_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
windowed_front_or_back_box_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
windowed_front_or_back_box_frame_piece_for_extended_side();
|
@ -1,18 +0,0 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/pieces/box/front-or-back.scad>
|
||||
|
||||
module front_or_back_box_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
front_or_back_box_frame_piece_for_extended_side();
|
@ -7,9 +7,9 @@ include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <front-or-back.scad>
|
||||
|
||||
module front_or_back_aux_and_neutrik_box_frame_piece() {
|
||||
module front_or_back_aux_and_neutrik_frame_piece() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece();
|
||||
front_or_back_frame_piece();
|
||||
|
||||
// aux button holes
|
||||
translate([-35.25, -101.5, 0]) rotate([90, 0, 0]) aux_control_three_button_cluster();
|
||||
@ -25,4 +25,4 @@ module front_or_back_aux_and_neutrik_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
front_or_back_aux_and_neutrik_box_frame_piece();
|
||||
front_or_back_aux_and_neutrik_frame_piece();
|
@ -18,7 +18,7 @@ module mount_column_cutout() {
|
||||
module front_or_back_inner_wall_frame_base_piece() {
|
||||
difference() {
|
||||
// Z is scaled so that some part of the original part inner wall is retained
|
||||
scale([1, 1, inner_frame_z_decorative_scale]) front_or_back_box_frame_piece();
|
||||
scale([1, 1, inner_frame_z_decorative_scale]) front_or_back_frame_piece();
|
||||
// minus the outer wall
|
||||
translate([0, -(frame_y-frame_wall)/2, 0]) cube([frame_x, frame_wall, frame_z], center=true);
|
||||
// minus half of the mounting posts (the other half provided by the outer wall)
|
@ -5,11 +5,11 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <front-or-back-clean-for-extended-side.scad>
|
||||
use <front-or-back.scad>
|
||||
|
||||
module clean_front_or_back() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece_for_extended_side();
|
||||
front_or_back_frame_piece();
|
||||
// chop off the lip we left on the basic piece
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
};
|
||||
@ -29,9 +29,9 @@ module bottom_piece_extension() {
|
||||
}
|
||||
}
|
||||
|
||||
module extended_front_or_back_frame_piece() {
|
||||
module front_or_back_trapezoid_frame_piece() {
|
||||
clean_front_or_back();
|
||||
translate([0, -frame_y/2+frame_wall, 0]) rotate([90, 0, 0]) bottom_piece_extension();
|
||||
}
|
||||
|
||||
extended_front_or_back_frame_piece();
|
||||
front_or_back_trapezoid_frame_piece();
|
@ -19,9 +19,9 @@ module backslashes() {
|
||||
translate([70, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
||||
}
|
||||
|
||||
module backslashes_windowed_front_or_back_box_frame_piece() {
|
||||
module backslashes_windowed_front_or_back_frame_piece() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece();
|
||||
front_or_back_frame_piece();
|
||||
// subtract slashes from the frame wall
|
||||
backslashes();
|
||||
// subtract the inner wall area that will be provided by the other piece
|
||||
@ -29,4 +29,12 @@ module backslashes_windowed_front_or_back_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
backslashes_windowed_front_or_back_box_frame_piece();
|
||||
module backslashes_windowed_front_or_back_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
backslashes_windowed_front_or_back_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
backslashes_windowed_front_or_back_frame_piece_for_extended_side();
|
@ -9,9 +9,9 @@ use <front-or-back.scad>
|
||||
use <front-or-back-inner-wall.scad>
|
||||
use <front-or-back-windowed-backslashes.scad>
|
||||
|
||||
module forwardslashes_windowed_front_or_back_box_frame_piece() {
|
||||
module forwardslashes_windowed_front_or_back_frame_piece() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece();
|
||||
front_or_back_frame_piece();
|
||||
// subtract slashes from the frame wall
|
||||
mirror([0, 0, 1]) backslashes();
|
||||
// subtract the inner wall area that will be provided by the other piece
|
||||
@ -19,4 +19,12 @@ module forwardslashes_windowed_front_or_back_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
forwardslashes_windowed_front_or_back_box_frame_piece();
|
||||
module forwardslashes_windowed_front_or_back_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
forwardslashes_windowed_front_or_back_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
forwardslashes_windowed_front_or_back_frame_piece_for_extended_side();
|
@ -12,9 +12,9 @@ module front_stripe() {
|
||||
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() {
|
||||
module horiz_striped_windowed_front_or_back_frame_piece() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece();
|
||||
front_or_back_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();
|
||||
@ -26,4 +26,12 @@ module horiz_striped_windowed_front_or_back_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
horiz_striped_windowed_front_or_back_box_frame_piece();
|
||||
module horiz_striped_windowed_front_or_back_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
horiz_striped_windowed_front_or_back_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
horiz_striped_windowed_front_or_back_frame_piece_for_extended_side();
|
@ -14,9 +14,9 @@ module front_or_back_window() {
|
||||
frame_z-panel_z*3], center=true);
|
||||
}
|
||||
|
||||
module windowed_front_or_back_box_frame_piece() {
|
||||
module windowed_front_or_back_frame_piece() {
|
||||
difference() {
|
||||
front_or_back_box_frame_piece();
|
||||
front_or_back_frame_piece();
|
||||
// subtract frame wall window
|
||||
front_or_back_window();
|
||||
// subtract the inner wall area that will be provided by the other piece
|
||||
@ -24,4 +24,12 @@ module windowed_front_or_back_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
windowed_front_or_back_box_frame_piece();
|
||||
module windowed_front_or_back_frame_piece_for_extended_side() {
|
||||
difference() {
|
||||
windowed_front_or_back_frame_piece();
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
windowed_front_or_back_frame_piece_for_extended_side();
|
@ -6,8 +6,9 @@
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/complete/left-frame.scad>
|
||||
use <side.scad>
|
||||
|
||||
module front_or_back_box_frame_piece() {
|
||||
module front_or_back_frame_piece() {
|
||||
piece_width = panel_support_width+frame_wall+frame_mount_column_width;
|
||||
intersection() {
|
||||
left_frame();
|
||||
@ -16,15 +17,11 @@ module front_or_back_box_frame_piece() {
|
||||
translate([0, -(frame_y/2)+(piece_width/2), 0]) cube([frame_x, piece_width, frame_z], center=true);
|
||||
// ...minus the frame wall and lip on the left
|
||||
translate([-frame_x/2+frame_wall/2, 0, 0])
|
||||
cube([frame_wall, frame_y-frame_wall*2, frame_z], center=true);
|
||||
linear_extrude(height=frame_z, center=true) polygon([
|
||||
[-frame_x/2, -frame_y/2], [-frame_x/2+frame_wall, -frame_y/2+frame_wall],
|
||||
[-frame_x/2, -frame_y/2+frame_wall]
|
||||
]);
|
||||
cube([frame_wall, frame_y, frame_z], center=true);
|
||||
// ...minus a slot for the combining piece to go into
|
||||
cube([frame_x, frame_y-(panel_support_width+frame_wall)*2, inner_frame_z/3], center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
front_or_back_box_frame_piece();
|
||||
front_or_back_frame_piece();
|
@ -5,11 +5,11 @@
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <box/side.scad>
|
||||
use <side.scad>
|
||||
|
||||
module interconnect_frame_half_piece() {
|
||||
translate([frame_x/2-frame_wall, 0, 0]) difference() {
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
||||
rotate([0, 0, 180]) side_chopper();
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ module mount_column_cutout() {
|
||||
module side_inner_wall_frame_base_piece() {
|
||||
difference() {
|
||||
// Z is scaled so that some part of the original part inner wall is retained
|
||||
scale([1, 1, inner_frame_z_decorative_scale]) side_box_frame_piece();
|
||||
scale([1, 1, inner_frame_z_decorative_scale]) side_frame_piece();
|
||||
// minus the outer wall
|
||||
translate([-(frame_x-frame_wall)/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
|
||||
// minus half of the mounting posts (the other half provided by the outer wall)
|
@ -6,8 +6,7 @@
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/complete/left-frame.scad>
|
||||
use <frames/pieces/box/side.scad>
|
||||
use <front-or-back-clean-for-extended-side.scad>
|
||||
use <side.scad>
|
||||
|
||||
module side_frame_piece_wall() {
|
||||
// get a slice of the piece, to use it in extruding
|
||||
@ -27,13 +26,13 @@ module side_frame_piece_extension() {
|
||||
}
|
||||
}
|
||||
|
||||
module extended_left_or_right_frame_piece() {
|
||||
module side_longish_frame_piece() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
||||
// chop off the old edge which is getting replaced with the extension
|
||||
translate([-frame_x/2+frame_bevel_height/2, 0, 0]) cube([frame_bevel_height, frame_y, frame_z], center=true);
|
||||
}
|
||||
translate([-frame_x/2+frame_bevel_height*2, 0, 0]) rotate([0, -90, 0]) side_frame_piece_extension();
|
||||
}
|
||||
|
||||
extended_left_or_right_frame_piece();
|
||||
side_longish_frame_piece();
|
@ -6,8 +6,8 @@
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/complete/left-frame.scad>
|
||||
use <frames/pieces/box/side.scad>
|
||||
use <front-or-back.scad>
|
||||
use <side.scad>
|
||||
use <front-or-back-trapezoid.scad>
|
||||
|
||||
module side_and_bottom_frame_piece_wall() {
|
||||
// get a slice of the pieces, to use it in extruding
|
||||
@ -26,13 +26,13 @@ module side_and_bottom_frame_piece_extension() {
|
||||
}
|
||||
}
|
||||
|
||||
module extra_extended_left_or_right_frame_piece() {
|
||||
module side_trapezoid_extended_to_front_frame_piece() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
||||
// chop off the old edge which is getting replaced with the extension
|
||||
translate([-frame_x/2+frame_bevel_height/2, 0, 0]) cube([frame_bevel_height, frame_y, frame_z], center=true);
|
||||
}
|
||||
translate([-frame_x/2+frame_bevel_height*2, 0, 0]) rotate([0, -90, 0]) side_and_bottom_frame_piece_extension();
|
||||
}
|
||||
|
||||
extra_extended_left_or_right_frame_piece();
|
||||
side_trapezoid_extended_to_front_frame_piece();
|
@ -6,8 +6,7 @@
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <frames/complete/left-frame.scad>
|
||||
use <frames/pieces/box/side.scad>
|
||||
use <front-or-back-clean-for-extended-side.scad>
|
||||
use <side.scad>
|
||||
|
||||
module side_frame_piece_wall() {
|
||||
// get a slice of the piece, to use it in extruding
|
||||
@ -25,13 +24,13 @@ module side_frame_piece_extension() {
|
||||
}
|
||||
}
|
||||
|
||||
module extended_left_or_right_frame_piece() {
|
||||
module side_trapezoid_frame_piece() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
||||
// chop off the old edge which is getting replaced with the extension
|
||||
translate([-frame_x/2+frame_bevel_height/2, 0, 0]) cube([frame_bevel_height, frame_y, frame_z], center=true);
|
||||
}
|
||||
translate([-frame_x/2+frame_bevel_height*2, 0, 0]) rotate([0, -90, 0]) side_frame_piece_extension();
|
||||
}
|
||||
|
||||
extended_left_or_right_frame_piece();
|
||||
side_trapezoid_frame_piece();
|
@ -17,9 +17,9 @@ module backslashes() {
|
||||
translate([-(frame_x-frame_wall)/2, 50, 0]) rotate([0, 0, -90]) slash_cutout();
|
||||
}
|
||||
|
||||
module backslashes_windowed_side_box_frame_piece() {
|
||||
module backslashes_windowed_side_frame_piece() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
||||
// subtract slashes from the frame wall
|
||||
backslashes();
|
||||
// subtract the inner wall area that will be provided by the other piece
|
||||
@ -27,4 +27,4 @@ module backslashes_windowed_side_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
backslashes_windowed_side_box_frame_piece();
|
||||
backslashes_windowed_side_frame_piece();
|
@ -9,9 +9,9 @@ use <side.scad>
|
||||
use <side-inner-wall.scad>
|
||||
use <side-windowed-backslashes.scad>
|
||||
|
||||
module forwardslashes_windowed_side_box_frame_piece() {
|
||||
module forwardslashes_windowed_side_frame_piece() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
||||
// subtract slashes from the frame wall
|
||||
mirror([0, 0, 1]) backslashes();
|
||||
// subtract the inner wall area that will be provided by the other piece
|
||||
@ -19,4 +19,4 @@ module forwardslashes_windowed_side_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
forwardslashes_windowed_side_box_frame_piece();
|
||||
forwardslashes_windowed_side_frame_piece();
|
@ -12,9 +12,9 @@ module side_stripe() {
|
||||
cube([frame_wall, frame_y-(frame_mount_column_width*1.75)*2, 5], center=true);
|
||||
}
|
||||
|
||||
module horiz_striped_windowed_side_box_frame_piece() {
|
||||
module horiz_striped_windowed_side_frame_piece() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
side_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();
|
||||
@ -26,4 +26,4 @@ module horiz_striped_windowed_side_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
horiz_striped_windowed_side_box_frame_piece();
|
||||
horiz_striped_windowed_side_frame_piece();
|
@ -8,9 +8,9 @@ include <components.scad>
|
||||
use <side.scad>
|
||||
use <side-inner-wall.scad>
|
||||
|
||||
module windowed_side_box_frame_piece() {
|
||||
module windowed_side_frame_piece() {
|
||||
difference() {
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
||||
// subtract frame wall window
|
||||
translate([-frame_x/2, 0, 0])
|
||||
cube([(frame_wall+panel_support_width)*2, frame_y-frame_mount_column_width*3.5,
|
||||
@ -20,4 +20,4 @@ module windowed_side_box_frame_piece() {
|
||||
}
|
||||
}
|
||||
|
||||
windowed_side_box_frame_piece();
|
||||
windowed_side_frame_piece();
|
@ -7,17 +7,17 @@ include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <front-or-back.scad>
|
||||
|
||||
module side_box_frame_piece() {
|
||||
module side_frame_piece() {
|
||||
piece_width = panel_support_width+frame_wall+frame_mount_column_width;
|
||||
difference() {
|
||||
// side piece is left/right agnostic
|
||||
frame();
|
||||
// minus the top and bottom
|
||||
front_or_back_box_frame_piece();
|
||||
rotate([180, 0, 0]) front_or_back_box_frame_piece();
|
||||
front_or_back_frame_piece();
|
||||
rotate([180, 0, 0]) front_or_back_frame_piece();
|
||||
// and just chop out the rest of the frame
|
||||
translate([piece_width, 0, 0]) cube([frame_x, frame_y+1, frame_z+1], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
side_box_frame_piece();
|
||||
side_frame_piece();
|
Loading…
x
Reference in New Issue
Block a user