| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- include <../config/wall_pot.scad>
- module base(inside = true) {
- out_height = height + thickness;
- out_top_diameter = top_diameter + thickness * 2;
- out_bottom_diameter = bottom_diameter + thickness * 2;
- render() difference() {
- cylinder(
- d2 = out_top_diameter,
- d1 = out_bottom_diameter,
- h = out_height,
- center = true
- );
-
- if (inside) translate([0, 0, thickness / 2]) cylinder(
- d2 = top_diameter,
- d1 = bottom_diameter,
- h = height,
- center = true
- );
- }
- }
- module mounting() {
- width = top_diameter + bottom_diameter + thickness * 2;
- height = mount_hole + thickness * 4;
- depth = top_diameter / 2 + thickness;
- hole_position = width / 2 - thickness;
- size = [
- width,
- depth,
- height
- ];
- render() difference() {
- union() {
- hull() {
- translate([width / 2, 0, 0]) rotate([270, 0, 0]) cylinder(
- d = height,
- h = depth,
- center = false
- );
- translate([-width / 2, 0, 0]) rotate([270, 0, 0]) cylinder(
- d = height,
- h = depth,
- center = false
- );
- }
- rotate([270, 0, 0]) cylinder(
- d = stabilizer_diameter,
- h = depth,
- center = false
- );
- }
- translate([width / 2, 0, 0]) cylinder(
- r = depth - thickness,
- h = height,
- center = true
- );
- translate([-width / 2, 0, 0]) cylinder(
- r = depth - thickness,
- h = height,
- center = true
- );
- translate([hole_position, depth / 2, 0]) rotate([90, 0, 0]) cylinder(
- d = mount_hole,
- h = depth,
- center = true
- );
-
- translate([-hole_position, depth / 2, 0]) rotate([90, 0, 0]) cylinder(
- d = mount_hole,
- h = depth,
- center = true
- );
- base(inside = false);
- }
- }
- module wall_pot() {
- color("#000080") render() {
- base();
- mounting();
- }
- }
- if (!$preview) {
- $fs = 0.5;
- $fa = 1;
-
- wall_pot();
- } else {
- $fs = 2;
- $fa = 10;
- wall_pot();
- }
|