this provides a system for interlocking frame walls as separate pieces, rather than a whole frame box as one piece. the primary motivation for this was to improve print quality. these pieces can be printed flat side down, meaning improvements due to: 1. printing the box required the long, thin bottom to be the side on the print surface, which meant shrinkage force would curl the corners with essentially no remedy outside of bed adhesive 2. printing the box bottom up created poor circles for the button holes, sometimes bad enough to be a visible problem, as well as making small flow glitches to stand out (especially on non-matte PLA) 3. printing the box also required supports when the frame bottom was inset-style, leading to an annoying post-print step 4. the outward side is now what rests on the print surface, yielding a nicer, more consistent surface the box modules still exist in the event someone wants them, but I personally will probably be focused on this method going forward. this also opens up some exciting options regarding color mixing, different side panel shapes, and the like, so I expect to see more of these even if the boxes don't go away (especially since these new pieces are all derived from the boxes anyway). Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
29 lines
712 B
OpenSCAD
29 lines
712 B
OpenSCAD
/*
|
|
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
*/
|
|
|
|
include <parameters.scad>
|
|
include <components.scad>
|
|
use <frame-piece-side.scad>
|
|
|
|
module interconnect_frame_half_piece() {
|
|
translate([frame_x/2-frame_wall, 0, 0]) difference() {
|
|
side_frame_piece();
|
|
rotate([0, 0, 180]) side_chopper();
|
|
}
|
|
}
|
|
|
|
module interconnect_frame_piece() {
|
|
difference() {
|
|
union() {
|
|
// slight translate is to make this a 2-manifold in OpenSCAD
|
|
translate([-0.01, 0, 0]) interconnect_frame_half_piece();
|
|
mirror([1, 0, 0]) interconnect_frame_half_piece();
|
|
}
|
|
translate([-frame_x/2, 0, 0]) frame_cable_routing_hole();
|
|
}
|
|
}
|
|
|
|
interconnect_frame_piece();
|