Compare commits
3 Commits
9d109f1756
...
fa05469e19
Author | SHA1 | Date | |
---|---|---|---|
fa05469e19 | |||
9375a3a1b7 | |||
1557021be4 |
@ -9,13 +9,14 @@ use <front-or-back.scad>
|
|||||||
use <front-or-back-inner-wall.scad>
|
use <front-or-back-inner-wall.scad>
|
||||||
|
|
||||||
module backslashes() {
|
module backslashes() {
|
||||||
translate([-60, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
translate([-70, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
||||||
translate([-40, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
translate([-50, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
||||||
translate([-20, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
translate([-30, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
||||||
translate([0, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
translate([-10, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
||||||
translate([20, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
translate([10, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
||||||
translate([40, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
translate([30, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
||||||
translate([60, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
translate([50, -(frame_y-frame_wall)/2, 0]) slash_cutout();
|
||||||
|
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_box_frame_piece() {
|
||||||
|
@ -9,11 +9,12 @@ use <side.scad>
|
|||||||
use <side-inner-wall.scad>
|
use <side-inner-wall.scad>
|
||||||
|
|
||||||
module backslashes() {
|
module backslashes() {
|
||||||
translate([-(frame_x-frame_wall)/2, -40, 0]) rotate([0, 0, -90]) slash_cutout();
|
translate([-(frame_x-frame_wall)/2, -50, 0]) rotate([0, 0, -90]) slash_cutout();
|
||||||
translate([-(frame_x-frame_wall)/2, -20, 0]) rotate([0, 0, -90]) slash_cutout();
|
translate([-(frame_x-frame_wall)/2, -30, 0]) rotate([0, 0, -90]) slash_cutout();
|
||||||
translate([-(frame_x-frame_wall)/2, 0, 0]) rotate([0, 0, -90]) slash_cutout();
|
translate([-(frame_x-frame_wall)/2, -10, 0]) rotate([0, 0, -90]) slash_cutout();
|
||||||
translate([-(frame_x-frame_wall)/2, 20, 0]) rotate([0, 0, -90]) slash_cutout();
|
translate([-(frame_x-frame_wall)/2, 10, 0]) rotate([0, 0, -90]) slash_cutout();
|
||||||
translate([-(frame_x-frame_wall)/2, 40, 0]) rotate([0, 0, -90]) slash_cutout();
|
translate([-(frame_x-frame_wall)/2, 30, 0]) rotate([0, 0, -90]) slash_cutout();
|
||||||
|
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_box_frame_piece() {
|
||||||
|
39
src/frames/pieces/extended/side-short.scad
Normal file
39
src/frames/pieces/extended/side-short.scad
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* 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/complete/left-frame.scad>
|
||||||
|
use <frames/pieces/box/side.scad>
|
||||||
|
use <front-or-back-clean-for-extended-side.scad>
|
||||||
|
|
||||||
|
module side_frame_piece_wall() {
|
||||||
|
// get a slice of the piece, to use it in extruding
|
||||||
|
// this doesn't use the side_frame_piece because of the 45 degree angle geometry
|
||||||
|
// not creating a clean thing to cut, so we just take the whole wall and use that
|
||||||
|
projection(cut=true) rotate([0, 90, 0]) translate([frame_x/2-frame_wall-(frame_bevel_height/2), 0, 0])
|
||||||
|
left_frame();
|
||||||
|
}
|
||||||
|
|
||||||
|
module side_frame_piece_extension() {
|
||||||
|
// combine the original with a shrunken piece to "pull" the wall out
|
||||||
|
hull() {
|
||||||
|
linear_extrude(height=frame_bevel_height*4)
|
||||||
|
square([frame_z-(frame_bevel_height*2), frame_y-(frame_bevel_height*2)], center=true);
|
||||||
|
linear_extrude(height=frame_bevel_height*3) side_frame_piece_wall();
|
||||||
|
linear_extrude(height=frame_bevel_height) side_frame_piece_wall();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module extended_left_or_right_frame_piece() {
|
||||||
|
difference() {
|
||||||
|
side_box_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();
|
@ -10,14 +10,14 @@ include <components.scad>
|
|||||||
|
|
||||||
module dir_arc_plus_w_30mm_and_sega_2p_nine_decorative_plate_of_plates() {
|
module dir_arc_plus_w_30mm_and_sega_2p_nine_decorative_plate_of_plates() {
|
||||||
difference() {
|
difference() {
|
||||||
// layout offset + 30 = width for layout plus button width + 12+3 = space around button
|
// layout offset + 30 = width for layout plus button width + 19+3 = space around button
|
||||||
left_plate_x = dir_arc_30mm_column_3_offset + 30 + 12;
|
left_plate_x = dir_arc_30mm_column_3_offset + 30 + 19;
|
||||||
// layout offset + 30 = width for layout plus button width + 12+3 = space around button
|
// layout offset + 30 = width for layout plus button width + 19+3 = space around button
|
||||||
left_plate_y = dir_arc_w_30mm_row_4_offset + 30 + 12;
|
left_plate_y = dir_arc_w_30mm_row_4_offset + 30 + 19;
|
||||||
left_plate_center_x = (left_plate_x + sega_2p_column_1_left_panel_edge_offset - 15)/2;
|
left_plate_center_x = (left_plate_x + sega_2p_column_1_left_panel_edge_offset - 22)/2;
|
||||||
// layout offset + 30 = width for layout plus button width + 12+3 = space around button
|
// layout offset + 30 = width for layout plus button width + 19+3 = space around button
|
||||||
right_plate_x = sega_2p_column_4_offset + 30 + 12;
|
right_plate_x = sega_2p_column_4_offset + 30 + 19;
|
||||||
right_plate_center_x = (right_plate_x + sega_2p_column_1_left_panel_edge_offset - 15)/2;
|
right_plate_center_x = (right_plate_x + sega_2p_column_1_left_panel_edge_offset - 22)/2;
|
||||||
|
|
||||||
union() {
|
union() {
|
||||||
// y values are based on the other half below
|
// y values are based on the other half below
|
||||||
|
Loading…
x
Reference in New Issue
Block a user