1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-21 22:05:27 +02:00
This commit is contained in:
Justin Lin
2019-09-26 08:53:47 +08:00
parent ea0fee1148
commit e4ac6dcb98
35 changed files with 500 additions and 456 deletions

View File

@@ -14,12 +14,13 @@ module floor_stand(width, height, thickness, spacing) {
module board_base() {
translate([0, -half_h, 0])
difference() {
difference() {
polygon(points);
translate([0, -half_h, 0])
scale([0.6, 0.1])
polygon(points);
translate([0, -half_h, 0])
scale([0.6, 0.1])
polygon(points);
}
}
}
module board_U() {
@@ -27,13 +28,13 @@ module floor_stand(width, height, thickness, spacing) {
difference() {
union() {
linear_extrude(thickness, center = true)
difference() {
board_base();
square([width / 1.5, height / 3], center = true);
}
difference() {
board_base();
square([width / 1.5, height / 3], center = true);
}
rotate(angles)
linear_extrude(width / 2.25 * 2, center = true)
circle(half_th);
linear_extrude(width / 2.25 * 2, center = true)
circle(half_th);
}
rotate(angles) {
@@ -52,11 +53,12 @@ module floor_stand(width, height, thickness, spacing) {
board_base();
square([width, height / 3], center = true);
}
translate([0, -height / 12 - spacing / 2, 0])
difference() {
square([width / 1.5 - double_spacing, height / 6 + spacing], center = true);
square([width / 1.5 - thickness * 2, height / 6], center = true);
}
difference() {
square([width / 1.5 - double_spacing, height / 6 + spacing], center = true);
square([width / 1.5 - thickness * 2, height / 6], center = true);
}
}
rotate([0, 90, 0]) {
@@ -68,11 +70,12 @@ module floor_stand(width, height, thickness, spacing) {
module border() {
translate([0, 0, half_th])
color("black") linear_extrude(half_th / 2)
hollow_out(shell_thickness = font_size / 4)
offset(half_w / 10)
scale([0.75, 0.675])
polygon(points);
color("black")
linear_extrude(half_th / 2)
hollow_out(shell_thickness = font_size / 4)
offset(half_w / 10)
scale([0.75, 0.675])
polygon(points);
}
module stick() {
@@ -82,36 +85,35 @@ module floor_stand(width, height, thickness, spacing) {
module decorate() {
rotate([-80, 0, 0])
difference() {
rotate([80, 0, 0])
difference() {
rotate([80, 0, 0])
difference() {
union() {
color("yellow") children();
translate([0, -height / 1.8, 0])
border();
}
// slot
translate([0, -half_h - thickness, -half_th])
stick();
}
translate([0, 0, -height - half_th])
linear_extrude(thickness)
square(width, center = true);
union() {
color("yellow") children();
translate([0, -height / 1.8, 0]) border();
}
// slot
translate([0, -half_h - thickness, -half_th])
stick();
}
translate([0, 0, -height - half_th])
linear_extrude(thickness)
square(width, center = true);
}
}
// stick
translate([width, 0, 0])
stick();
translate([0, 0, half_th])
decorate()
board_U();
decorate()
board_U();
translate([0, 0, half_th])
rotate(180)
decorate()
board_T();
rotate(180)
decorate()
board_T();
children(0);
if($children == 1) {

View File

@@ -20,16 +20,16 @@ module words(text, font, font_size, height, thickness, line_spacing) {
color("black")
translate([0, -height / 1.8, thickness])
linear_extrude(half_th / 2) {
multi_line_text(
split_str(text, " "),
font = font,
size = font_size,
line_spacing = line_spacing,
valign = "center",
halign = "center"
);
}
linear_extrude(half_th / 2) {
multi_line_text(
split_str(text, " "),
font = font,
size = font_size,
line_spacing = line_spacing,
valign = "center",
halign = "center"
);
}
}
floor_stand(stand_width, stand_height, stand_thickness, stand_spacing)