Compare commits
No commits in common. "0129cf6ce6a9f045b670270d6a66b5f9f298519b" and "97a6f52e07417093583828ba832b2209965a5fdb" have entirely different histories.
0129cf6ce6
...
97a6f52e07
@ -352,14 +352,14 @@ module frame() {
|
|||||||
// for cutting out slashes from the frame outer wall
|
// for cutting out slashes from the frame outer wall
|
||||||
module slash_cutout() {
|
module slash_cutout() {
|
||||||
polyhedron([
|
polyhedron([
|
||||||
[slash_inner_displacement/2, -wall_cutout_depth, -slash_height/2],
|
[slash_inner_displacement/2, -frame_wall/2, -slash_height/2],
|
||||||
[(slash_inner_displacement/2+slash_width), -wall_cutout_depth, -slash_height/2],
|
[(slash_inner_displacement/2+slash_width), -frame_wall/2, -slash_height/2],
|
||||||
[(slash_inner_displacement/2+slash_width), wall_cutout_depth, -slash_height/2],
|
[(slash_inner_displacement/2+slash_width), frame_wall/2, -slash_height/2],
|
||||||
[slash_inner_displacement/2, wall_cutout_depth, -slash_height/2],
|
[slash_inner_displacement/2, frame_wall/2, -slash_height/2],
|
||||||
[-(slash_inner_displacement/2+slash_width), -wall_cutout_depth, slash_height/2],
|
[-(slash_inner_displacement/2+slash_width), -frame_wall/2, slash_height/2],
|
||||||
[-slash_inner_displacement/2, -wall_cutout_depth, slash_height/2],
|
[-slash_inner_displacement/2, -frame_wall/2, slash_height/2],
|
||||||
[-slash_inner_displacement/2, wall_cutout_depth, slash_height/2],
|
[-slash_inner_displacement/2, frame_wall/2, slash_height/2],
|
||||||
[-(slash_inner_displacement/2+slash_width), wall_cutout_depth, slash_height/2]
|
[-(slash_inner_displacement/2+slash_width), frame_wall/2, slash_height/2]
|
||||||
], [[0, 1, 2, 3], [4, 5, 1, 0], [7, 6, 5, 4], [5, 6, 2, 1], [6, 7, 3, 2], [7, 4, 0, 3]]);
|
], [[0, 1, 2, 3], [4, 5, 1, 0], [7, 6, 5, 4], [5, 6, 2, 1], [6, 7, 3, 2], [7, 4, 0, 3]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
/* The inner top/bottom wall of the frame, for being displayed through a horizontal stripe windowed part.
|
|
||||||
*
|
|
||||||
* SPDX-FileCopyrightText: © 2025 Brian S. Stephan <bss@incorporeal.org>
|
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
|
|
||||||
include <parameters.scad>
|
|
||||||
include <components.scad>
|
|
||||||
use <front-or-back-inner-wall.scad>
|
|
||||||
use <front-or-back-longish.scad>
|
|
||||||
use <front-or-back-windowed-horiz-stripes.scad>
|
|
||||||
|
|
||||||
// for stability's sake, this piece juts out a bit from the outside of the wall, so we
|
|
||||||
// need to hack the window piece a bit to subtract from the longer and get ours longer
|
|
||||||
module horiz_striped_windowed_front_or_back_frame_piece() {
|
|
||||||
difference() {
|
|
||||||
front_or_back_longish_frame_piece();
|
|
||||||
// subtract frame wall windows
|
|
||||||
front_horiz_stripes();
|
|
||||||
// subtract the inner wall area that will be provided by the other piece
|
|
||||||
front_or_back_inner_wall_frame_piece();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module front_or_back_windowed_horiz_stripes_inner_wall_frame_piece() {
|
|
||||||
difference() {
|
|
||||||
front_or_back_longish_frame_piece();
|
|
||||||
horiz_striped_windowed_front_or_back_frame_piece();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
front_or_back_windowed_horiz_stripes_inner_wall_frame_piece();
|
|
@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
* SPDX-FileCopyrightText: © 2025 Brian S. Stephan <bss@incorporeal.org>
|
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
|
|
||||||
include <parameters.scad>
|
|
||||||
include <components.scad>
|
|
||||||
use <front-or-back.scad>
|
|
||||||
|
|
||||||
module front_or_back_frame_piece_wall() {
|
|
||||||
// get a slice of the whole wall, to use it for making the extended version
|
|
||||||
difference() {
|
|
||||||
front_or_back_frame_piece();
|
|
||||||
cube([frame_x, frame_y-frame_wall*2, frame_z], center=true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module front_or_back_frame_piece_extension() {
|
|
||||||
hull() {
|
|
||||||
front_or_back_frame_piece_wall();
|
|
||||||
translate([0, -frame_bevel_height*2, 0]) front_or_back_frame_piece_wall();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module front_or_back_longish_frame_piece() {
|
|
||||||
front_or_back_frame_piece_extension();
|
|
||||||
front_or_back_frame_piece();
|
|
||||||
}
|
|
||||||
|
|
||||||
front_or_back_longish_frame_piece();
|
|
@ -8,26 +8,30 @@ include <components.scad>
|
|||||||
use <front-or-back.scad>
|
use <front-or-back.scad>
|
||||||
use <front-or-back-inner-wall.scad>
|
use <front-or-back-inner-wall.scad>
|
||||||
|
|
||||||
module front_horiz_stripe() {
|
module front_stripe() {
|
||||||
cube([frame_x-(frame_mount_column_width*1.75)*2, wall_cutout_depth, 5], center=true);
|
cube([frame_x-(frame_mount_column_width*1.75)*2, frame_wall, 5], center=true);
|
||||||
}
|
|
||||||
|
|
||||||
module front_horiz_stripes() {
|
|
||||||
translate([0, -(frame_y-frame_wall)/2, 18]) front_horiz_stripe();
|
|
||||||
translate([0, -(frame_y-frame_wall)/2, 9]) front_horiz_stripe();
|
|
||||||
translate([0, -(frame_y-frame_wall)/2, 0]) front_horiz_stripe();
|
|
||||||
translate([0, -(frame_y-frame_wall)/2, -9]) front_horiz_stripe();
|
|
||||||
translate([0, -(frame_y-frame_wall)/2, -18]) front_horiz_stripe();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module horiz_striped_windowed_front_or_back_frame_piece() {
|
module horiz_striped_windowed_front_or_back_frame_piece() {
|
||||||
difference() {
|
difference() {
|
||||||
front_or_back_frame_piece();
|
front_or_back_frame_piece();
|
||||||
// subtract frame wall windows
|
// subtract frame wall windows
|
||||||
front_horiz_stripes();
|
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();
|
||||||
// subtract the inner wall area that will be provided by the other piece
|
// subtract the inner wall area that will be provided by the other piece
|
||||||
front_or_back_inner_wall_frame_piece();
|
front_or_back_inner_wall_frame_piece();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
horiz_striped_windowed_front_or_back_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();
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
/* The inner side wall of the frame, for being displayed through a horizontal stripe windowed part.
|
|
||||||
*
|
|
||||||
* SPDX-FileCopyrightText: © 2025 Brian S. Stephan <bss@incorporeal.org>
|
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
|
|
||||||
include <parameters.scad>
|
|
||||||
include <components.scad>
|
|
||||||
use <side-inner-wall.scad>
|
|
||||||
use <side-longish.scad>
|
|
||||||
use <side-windowed-horiz-stripes.scad>
|
|
||||||
|
|
||||||
// for stability's sake, this piece juts out a bit from the outside of the wall, so we
|
|
||||||
// need to hack the window piece a bit to subtract from the longer and get ours longer
|
|
||||||
module horiz_striped_windowed_side_frame_piece() {
|
|
||||||
difference() {
|
|
||||||
side_longish_frame_piece();
|
|
||||||
// subtract frame wall windows
|
|
||||||
side_horiz_stripes();
|
|
||||||
// subtract the inner wall area that will be provided by the other piece
|
|
||||||
side_inner_wall_frame_piece();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module side_windowed_horiz_stripes_inner_wall_frame_piece() {
|
|
||||||
difference() {
|
|
||||||
side_longish_frame_piece();
|
|
||||||
horiz_striped_windowed_side_frame_piece();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
side_windowed_horiz_stripes_inner_wall_frame_piece();
|
|
@ -5,28 +5,34 @@
|
|||||||
|
|
||||||
include <parameters.scad>
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
use <frames/complete/left-frame.scad>
|
||||||
use <side.scad>
|
use <side.scad>
|
||||||
|
|
||||||
module side_frame_piece_wall() {
|
module side_frame_piece_wall() {
|
||||||
// get a slice of the whole wall, to use it for making the extended version
|
// get a slice of the piece, to use it in extruding
|
||||||
difference() {
|
// this doesn't use the side_frame_piece because of the 45 degree angle geometry
|
||||||
side_frame_piece();
|
// not creating a clean thing to cut, so we just take the whole wall and use that
|
||||||
cube([frame_x-frame_wall*2, frame_y, frame_z], center=true);
|
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() {
|
module side_frame_piece_extension() {
|
||||||
// hulling the two walls provides a wall with a thicker x
|
// combine the original with a shrunken piece to "pull" the wall out
|
||||||
hull() {
|
hull() {
|
||||||
side_frame_piece_wall();
|
linear_extrude(height=frame_bevel_height*4)
|
||||||
translate([-frame_bevel_height*2, 0, 0]) side_frame_piece_wall();
|
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 side_longish_frame_piece() {
|
module side_longish_frame_piece() {
|
||||||
// combine the wider wall and the original piece
|
difference() {
|
||||||
side_frame_piece_extension();
|
side_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();
|
||||||
}
|
}
|
||||||
|
|
||||||
side_longish_frame_piece();
|
side_longish_frame_piece();
|
||||||
|
@ -8,23 +8,19 @@ include <components.scad>
|
|||||||
use <side.scad>
|
use <side.scad>
|
||||||
use <side-inner-wall.scad>
|
use <side-inner-wall.scad>
|
||||||
|
|
||||||
module side_horiz_stripe() {
|
module side_stripe() {
|
||||||
cube([wall_cutout_depth, frame_y-(frame_mount_column_width*1.75)*2, 5], center=true);
|
cube([frame_wall, frame_y-(frame_mount_column_width*1.75)*2, 5], center=true);
|
||||||
}
|
|
||||||
|
|
||||||
module side_horiz_stripes() {
|
|
||||||
translate([-(frame_x-frame_wall)/2, 0, 18]) side_horiz_stripe();
|
|
||||||
translate([-(frame_x-frame_wall)/2, 0, 9]) side_horiz_stripe();
|
|
||||||
translate([-(frame_x-frame_wall)/2, 0, 0]) side_horiz_stripe();
|
|
||||||
translate([-(frame_x-frame_wall)/2, 0, -9]) side_horiz_stripe();
|
|
||||||
translate([-(frame_x-frame_wall)/2, 0, -18]) side_horiz_stripe();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module horiz_striped_windowed_side_frame_piece() {
|
module horiz_striped_windowed_side_frame_piece() {
|
||||||
difference() {
|
difference() {
|
||||||
side_frame_piece();
|
side_frame_piece();
|
||||||
// subtract frame wall windows
|
// subtract frame wall windows
|
||||||
side_horiz_stripes();
|
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();
|
||||||
// subtract the inner wall area that will be provided by the other piece
|
// subtract the inner wall area that will be provided by the other piece
|
||||||
side_inner_wall_frame_piece();
|
side_inner_wall_frame_piece();
|
||||||
}
|
}
|
||||||
|
@ -104,10 +104,6 @@ neutrik_d_radius = 12 + hole_tolerance;
|
|||||||
decorative_radius_scale = 1.75;
|
decorative_radius_scale = 1.75;
|
||||||
jumbo_decorative_radius_scale = 2;
|
jumbo_decorative_radius_scale = 2;
|
||||||
|
|
||||||
// decorative wall cutout parameters
|
|
||||||
// thicker than the actual base wall to account for the longish pieces
|
|
||||||
wall_cutout_depth = frame_wall * 3;
|
|
||||||
|
|
||||||
// decorative slash parameters
|
// decorative slash parameters
|
||||||
slash_inner_displacement = 10;
|
slash_inner_displacement = 10;
|
||||||
slash_width = 15;
|
slash_width = 15;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user