mirror of
https://github.com/rsheldiii/KeyV2.git
synced 2024-11-22 21:23:40 +00:00
Merge pull request #40 from rsheldiii/examples-extraordinaire
Common use case examples
This commit is contained in:
commit
aa276f380d
29
examples/multimaterial_key_top.scad
Normal file
29
examples/multimaterial_key_top.scad
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
include <../includes.scad>
|
||||||
|
|
||||||
|
/* use this file to generate multimaterial models for making keycaps with a
|
||||||
|
different material for the key top.
|
||||||
|
|
||||||
|
This would be great to use with flexible filament, to make squishy-topped
|
||||||
|
keys.
|
||||||
|
|
||||||
|
You don't need a multimaterial printer to use these files since it's hard
|
||||||
|
height cutoff. You could print the bottom, leave the prints on the bed, and
|
||||||
|
then print the top in a different material. Be careful though! your start
|
||||||
|
gcode may crash into the prints.
|
||||||
|
*/
|
||||||
|
|
||||||
|
depth = 1;
|
||||||
|
// swap the debug()s to render opposite part
|
||||||
|
/* debug() */ difference() { // intersection() {
|
||||||
|
key();
|
||||||
|
top_of_key() {
|
||||||
|
translate([-total_key_width(),-total_key_height(),-$total_depth - depth]) cube([total_key_width()*2, total_key_height()*2, $total_depth]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
debug() intersection() {
|
||||||
|
key();
|
||||||
|
top_of_key() {
|
||||||
|
translate([-total_key_width(),-total_key_height(),-$total_depth - depth]) cube([total_key_width()*2, total_key_height()*2, $total_depth]);
|
||||||
|
}
|
||||||
|
}
|
16
examples/multimaterial_legend.scad
Normal file
16
examples/multimaterial_legend.scad
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
include <../includes.scad>
|
||||||
|
|
||||||
|
/* in this example we'll use some openSCAD to generate files for printing inset
|
||||||
|
legends with a multimaterial printer.
|
||||||
|
*/
|
||||||
|
|
||||||
|
legends = ["F1", "1", "q", "a", "z", ""];
|
||||||
|
for (x = [0:1:4]) {
|
||||||
|
translate_u(0,-x) legend(legends[x]) dcs_row(x, 0) {
|
||||||
|
// swap the debug()s to render opposite part
|
||||||
|
debug() key(true);
|
||||||
|
/* debug() */ dished() {
|
||||||
|
legends($inset_legend_depth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
34
examples/single_extruder_multimaterial_legends.scad
Normal file
34
examples/single_extruder_multimaterial_legends.scad
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
include <../includes.scad>
|
||||||
|
|
||||||
|
/* Don't have a multimaterial printer but still want cool "doubleshot" legends?
|
||||||
|
with a couple tricks, you can! We just have to print upside down with no
|
||||||
|
dish.
|
||||||
|
|
||||||
|
Here's how to use this file:
|
||||||
|
|
||||||
|
1. modify it as you see fit
|
||||||
|
2. render the legends and the keycaps separately
|
||||||
|
3. run the legends through your 3d printer. make sure they are a single layer
|
||||||
|
4. LEAVE THEM on the bed
|
||||||
|
5. change filaments
|
||||||
|
6. run the keycaps over the legends. MAKE SURE they line up! PrusaSlicer
|
||||||
|
centers models on the bed
|
||||||
|
7. voila!
|
||||||
|
8. use a powder-coated bed for extra points
|
||||||
|
*/
|
||||||
|
|
||||||
|
legends = ["F1", "1", "q", "a", "z", ""];
|
||||||
|
for (x = [0:1:4]) {
|
||||||
|
translate_u(0,-x) dcs_row(x, 0) upside_down() legend(legends[x]) {
|
||||||
|
$dish_type = "disable";
|
||||||
|
$inset_legend_depth = 0.2; // whatever layer height you use
|
||||||
|
|
||||||
|
union() {
|
||||||
|
// swap the debug()s to render opposite part
|
||||||
|
debug() key(true);
|
||||||
|
/* debug() */ dished() {
|
||||||
|
legends($inset_legend_depth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user