Compare commits

...

7 Commits
v4.3.0 ... main

Author SHA1 Message Date
Brian S. Stephan b43b79ce19
commit the frame_box component necessary for the abandoned mount
so, that mount wouldn't have even been printable for anyone else anyway,
that's good, but this breaking out of a piece might as well be committed

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-11 09:44:41 -05:00
Brian S. Stephan f93f20997a
move the fancy mount into the attic
the friction fit is too unreliable, and it took minimal kid aura to have
the whole thing toppling over. I will make a more stable mount at a
minimum later, so this thing goes into the TODO pile for now

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-11 09:43:17 -05:00
Brian S. Stephan 70b45fa18b
make a fancy mount for showing off sticks
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-01 08:11:40 -05:00
Brian S. Stephan e50629d372
make the frame routing hole a semicircle on one side
this is still a very solid piece compared to the old method of a diamond
through the middle, and comes with two benefits:

1. semicircle cut out of the bottom (or top) means that wiring can be
   run over rather than through, simplifying some (dis)assembly, and...
2. semicircle on the bottom, and offset from the center, should allow
   for designs with a button in the center of the x-axis, rather than
   having to leave room for the frame wall. this might facilitate
   directional arc layouts where the buttons are combined in one shape

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-23 17:15:03 -05:00
Brian S. Stephan 01d4d95f24
update the blown up demo, now with frame pieces
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-22 12:40:24 -05:00
Brian S. Stephan 4cefdfa26b
move the DCO into CONTRIBUTING.md
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-12 00:56:49 -05:00
Brian S. Stephan dabfc4258b
include the right file following its rename
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-05 18:49:09 -05:00
8 changed files with 136 additions and 48 deletions

View File

@ -9,11 +9,47 @@ I do not request the copyright of contributions be assigned to me or to the proj
be allowed to relicense your contributions. My personal oath is to maintain inbound=outbound in my open source projects,
and the expectation is authors are responsible for their contributions.
I am following the the [Developer Certificate of Origin (DCO)](https://developercertificate.org/), also available at
`DCO.txt`. The DCO is a way for contributors to certify that they wrote or otherwise have the right to license their
code contributions to the project. Contributors must sign-off that they adhere to these requirements by adding a
`Signed-off-by` line to their commit message, and/or, for frequent contributors, by signing off on their entry in
`MAINTAINERS.md`.
I am following the [Developer Certificate of Origin (DCO)](https://developercertificate.org/), reproduced below. The DCO
is a way for contributors to certify that they wrote or otherwise have the right to license their code contributions to
the project. Contributors must sign-off that they adhere to these requirements by adding a `Signed-off-by` line to their
commit message, and/or, for frequent contributors, by signing off on their entry in `MAINTAINERS.md`.
```
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
```
This process is followed by a number of open source projects, most notably the Linux kernel. Here's the gist of it:

34
DCO.txt
View File

@ -1,34 +0,0 @@
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

4
attic/README.md Normal file
View File

@ -0,0 +1,4 @@
# The Attic
This directory includes abandoned pieces that I'd like to revisit some time, but I cannot support or recommend using
as-is. Print at your own caution, or better yet, maybe fix them!

View File

@ -0,0 +1,68 @@
/*
* A stick mount that fits rectangular (non-extended) BSS sticks.
*
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*/
include <../parameters.scad>
include <../components.scad>
holder_x = 114;
holder_y = 60;
holder_z = 45;
tall_holder_post = frame_y-10;
module stick_holder() {
difference() {
cube([holder_x, holder_y, holder_z], center=true);
translate([14, 0, 132]) rotate([90, -40, 0]) frame_solid();
}
}
module mount() {
difference() {
union() {
// lowest post
translate([62, -frame_z-25, holder_z/2]) stick_holder(); // top = 45
// middle post
translate([0, 0, ((tall_holder_post)/2)/2])
cube([holder_x, holder_y, (tall_holder_post)/2], center=true);
translate([0, 0, ((tall_holder_post)/2)+holder_z/2]) stick_holder(); // top = 139
// highest post
translate([-62, frame_z+25, tall_holder_post/2])
cube([holder_x, holder_y, tall_holder_post], center=true);
translate([-62, frame_z+25, tall_holder_post+holder_z/2]) stick_holder(); // top = 233
// post stabilizers
translate([31, -41, holder_z/2]) cube([52, 23, holder_z], center=true);
translate([-31, 41, ((tall_holder_post/2)+holder_z)/2])
cube([52, 23, (tall_holder_post/2)+holder_z], center=true);
// base
hull() {
translate([110, 103, -2.5]) cylinder(r=15, h=5, center=true);
translate([110, -103, -2.5]) cylinder(r=15, h=5, center=true);
translate([-110, 103, -2.5]) cylinder(r=15, h=5, center=true);
translate([-110, -103, -2.5]) cylinder(r=15, h=5, center=true);
}
// placard
translate([0, -112, 15]) cube([frame_y, 5, 30], center=true);
/* // test */
/* translate([62+14, -frame_z-25, 132+holder_z/2]) rotate([90, -40, 0]) frame_solid(); */
/* translate([14, 0, 132+(frame_y/2)-20+holder_z/2]) rotate([90, -40, 0]) frame_solid(); */
/* translate([-62+14, frame_z+25, 132+tall_holder_post+holder_z/2]) rotate([90, -40, 0]) frame_solid(); */
}
// text on the placard
translate([-frame_z*3.3/2.5, -holder_x, 15]) rotate([90, 0, 0])
linear_extrude(1) text("Buildable Stick System", font="Noto Sans");
translate([-frame_z*3.3/2.5, -holder_x, 4]) rotate([90, 0, 0])
linear_extrude(1) text("v4 by bss", font="Noto Sans", size=6);
}
}
mount();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -5,8 +5,10 @@
include <parameters.scad>
include <components.scad>
use <frame-left.scad>
use <frame-right.scad>
use <frame-piece-bottom-left-or-right.scad>
use <frame-piece-interconnect.scad>
use <frame-piece-side.scad>
use <frame-piece-top-left-or-right.scad>
use <top-panel-overhang-left-lever-and-dir_arc-plus-w-30mm.scad>
use <top-panel-overhang-right-sega-2p-plus-one-plus-control-with-mount.scad>
use <bottom-panel-overhang-left.scad>
@ -17,8 +19,13 @@ use <misc-dustwasher-lsx-nobi.scad>
color("#C12E1F") translate([-panel_x/2-25, 0, frame_z/2+75]) top_panel_left_lever_and_dir_arc_w_30mm();
color("#C12E1F") translate([panel_x/2+25, 0, frame_z/2+75]) top_panel_right_sega_2p_plus_one_plus_control_with_mount();
color("black") translate([-frame_x/2+5-25, 0, -2.5]) left_frame();
color("black") translate([frame_x/2+25, 0, -2.5]) right_frame();
color("black") translate([-frame_x/2+5-25, 35, -2.5]) top_left_or_right_frame_piece();
color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-25, 35, -2.5]) top_left_or_right_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") translate([-frame_x/2+5-25, -35, -2.5]) bottom_left_or_right_frame_piece();
color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-25, -35, -2.5]) bottom_left_or_right_frame_piece();
color("black") interconnect_frame_piece();
color("#C12E1F") translate([-panel_x/2-25, 0, -5-frame_z/2-75]) bottom_panel_left();
color("#C12E1F") translate([panel_x/2+25, 0, -5-frame_z/2-75]) bottom_panel_right();

View File

@ -55,7 +55,7 @@ module frame_hex_bolt_hole() {
}
module frame_interchange_hole() {
cylinder(r=18, h=50, $fn=4, center=true);
cylinder(r=35, h=50, $fn=50, center=true);
}
module neutrik_d_hole() {
@ -235,7 +235,7 @@ module panel_with_raised_overhang() {
}
}
module frame_box() {
module frame_solid() {
difference() {
top_points = [
// top bevel
@ -285,6 +285,12 @@ module frame_box() {
translate(p) cylinder(r=2, h=frame_bevel_height, center=true);
}
}
}
}
module frame_box() {
difference() {
frame_solid();
// cut out the middle to make it a box
cube([panel_x-(panel_support_width*2), panel_y-(panel_support_width*2), frame_z+5], center=true);
}
@ -315,7 +321,8 @@ module frame_connection_holes() {
}
module frame_cable_routing_hole() {
translate([frame_x/2, 0, 0]) rotate([0, 90, 0]) frame_interchange_hole();
// frame_y/12 is a hack for "kinda a bit above the center point"
translate([frame_x/2, frame_y/12, 25]) rotate([0, 90, 0]) frame_interchange_hole();
}
module base_frame() {

View File

@ -5,7 +5,7 @@
include <parameters.scad>
include <components.scad>
use <frame-piece-top-left.scad>
use <frame-piece-top-left-or-right.scad>
use <frame-piece-bottom-left-or-right.scad>
module side_frame_piece() {
@ -14,7 +14,7 @@ module side_frame_piece() {
// side piece is left/right agnostic
frame();
// minus the top and bottom
top_left_frame_piece();
top_left_or_right_frame_piece();
bottom_left_or_right_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);