my second ever thing.
This commit is contained in:
parent
dacd4c3e9d
commit
39ac859bcf
127
lesson2.scad
Normal file
127
lesson2.scad
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
// Parameters
|
||||||
|
keyhole_out_size = 200;
|
||||||
|
keyhole_thickness = 100;
|
||||||
|
keyhole_width = 40;
|
||||||
|
keyhole_color = false;
|
||||||
|
|
||||||
|
// Horseshoe shape
|
||||||
|
//difference() {
|
||||||
|
/* union() { */
|
||||||
|
/* // Main horseshoe shape */
|
||||||
|
/* translate([0, size/2, 0]) { */
|
||||||
|
/* rotate([90, 0, 0]) { */
|
||||||
|
/* cylinder(r=size/2, h=thickness); */
|
||||||
|
/* } */
|
||||||
|
/* } */
|
||||||
|
/* translate([0, -size/4, 0]) { */
|
||||||
|
/* rotate([90, 0, 0]) { */
|
||||||
|
/* cylinder(r=size/2, h=thickness); */
|
||||||
|
/* } */
|
||||||
|
/* } */
|
||||||
|
/* translate([size/2, 0, 0]) { */
|
||||||
|
/* rotate([0, 90, 0]) { */
|
||||||
|
/* cylinder(r=size/4, h=thickness); */
|
||||||
|
/* } */
|
||||||
|
/* } */
|
||||||
|
/* translate([-size/2, 0, 0]) { */
|
||||||
|
/* rotate([0, 90, 0]) { */
|
||||||
|
/* cylinder(r=size/4, h=thickness); */
|
||||||
|
/* } */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
/* // Cut out center of horseshoe */
|
||||||
|
/* translate([0, 0, thickness/2]) { */
|
||||||
|
/* cylinder(r=size/4, h=thickness*2); */
|
||||||
|
/* } */
|
||||||
|
/* } */
|
||||||
|
//}
|
||||||
|
module keyhole(withColors=keyhole_color) {
|
||||||
|
maybe_color=withColors?"red":undef;
|
||||||
|
color(maybe_color, 1.0) {
|
||||||
|
union() {
|
||||||
|
difference() {
|
||||||
|
difference() {
|
||||||
|
cylinder(r=keyhole_out_size/2, h=keyhole_thickness);
|
||||||
|
translate([0, -keyhole_out_size/2, 0]){
|
||||||
|
cube([150, keyhole_out_size, keyhole_thickness]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cylinder(r=keyhole_out_size/2-keyhole_width, h=keyhole_thickness);
|
||||||
|
}
|
||||||
|
translate([0, -keyhole_out_size/2, 0]){
|
||||||
|
cube([keyhole_out_size, keyhole_width, keyhole_thickness]);
|
||||||
|
}
|
||||||
|
translate([0, keyhole_out_size/2-keyhole_width, 0]){
|
||||||
|
cube([keyhole_out_size, keyhole_width, keyhole_thickness]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
module outsite_plane() {
|
||||||
|
difference() {
|
||||||
|
cube([1000, 1000, 100]);
|
||||||
|
translate([100, 100, -1]){cube([800, 800, 800]);}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module caseplate(){
|
||||||
|
union(){
|
||||||
|
// Keyholes in low side
|
||||||
|
translate([-200, 100, 0]){
|
||||||
|
keyhole();
|
||||||
|
}
|
||||||
|
translate([-200, 900, 0]){
|
||||||
|
keyhole();
|
||||||
|
}
|
||||||
|
// Keyholes high side
|
||||||
|
translate([1200, 100, 100]){
|
||||||
|
rotate([0, 180, 0]) {keyhole();}
|
||||||
|
}
|
||||||
|
translate([1200, 900, 100]){
|
||||||
|
rotate([0, 180, 0]){keyhole();}
|
||||||
|
}
|
||||||
|
|
||||||
|
outsite_plane();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module base(){
|
||||||
|
|
||||||
|
translate([-800, 0, 0]){
|
||||||
|
difference(){
|
||||||
|
// We need to remove smaller cube
|
||||||
|
//and then puctuate the bottom with sylinder
|
||||||
|
//and cut the top off in the angle of the plate
|
||||||
|
cube([770, 1000, 1000]);
|
||||||
|
translate([100, 100, 100]){
|
||||||
|
cube([600, 800, 1000]);
|
||||||
|
}
|
||||||
|
translate([400, 500, -100]){
|
||||||
|
cylinder(r=300, h=200);
|
||||||
|
}
|
||||||
|
translate([400, -300, 1710]){
|
||||||
|
rotate([0, 150, 0]){
|
||||||
|
cube([1200, 1800, 1000]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module floor(){
|
||||||
|
translate([-1400, -700, -20]){
|
||||||
|
color("grey", 1){
|
||||||
|
cube([2000,2000,20]);}}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([0, 0, 800]){
|
||||||
|
rotate([0, 150, 0]){
|
||||||
|
caseplate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
base();
|
||||||
|
|
||||||
|
floor();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user