Vyrazne zoptimalizovany demolding vnitrku
authorTomas Mudrunka <tomas.mudrunka@gmail.com>
Fri, 14 Feb 2025 21:02:14 +0000 (22:02 +0100)
committerTomas Mudrunka <tomas.mudrunka@gmail.com>
Fri, 14 Feb 2025 21:02:14 +0000 (22:02 +0100)
openscad/planter_modular_c.scad

index 857eb5ed95fb30c417068cc9ace1ee32597071c7..292be2297e88b16e7210f2b92e22a9d3ad80b5a4 100644 (file)
@@ -43,27 +43,28 @@ module mold_screws(n, d=3.25/5, h=0.4, pitch=17.3, l=1.2) {
 module cavity2(n=1, pitch=17.3, d1=13, d2=17, plate=0) {
        bot = path_merge_collinear(union([
                for(i = [0 : 1 : n]) union([
-                       move([0,i*pitch], hexagon(d=13)),
-                       if(i!=n) move([0,(i*pitch)+(pitch/2)], square([7.5,pitch/2], center=true))
+                       move([0,i*pitch], hexagon(d=10.2)),
+                       if(i!=n) move([0,(i*pitch)+(pitch/2)], square([5.1,pitch/2], center=true))
                ])
        ]));
 
        top = path_merge_collinear(union([
                for(i = [0 : 1 : n]) union([
-                       move([0,i*pitch], hexagon(d=17)),
-                       if(i!=n) move([0,(i*pitch)+(pitch/2)], square([8.5,pitch/2], center=true))
+                       move([0,i*pitch], hexagon(d=17.2)),
+                       if(i!=n) move([0,(i*pitch)+(pitch/2)], square([8.6,pitch/2], center=true))
                ])
        ]));
                
-       //region(bot);
+       //!union() { region(bot); right(20) region(top); }
 
        if(plate != 0) translate([0,0,15]) mold_plate(n=n, d=23, h=plate);
-       for(i = [0 : 1 : n]) translate([-4,i*pitch,1]) sphere(1); //drain hole
+       for(i = [0 : 1 : n]) translate([-3.5,i*pitch,1]) rotate([0,0,30]) cylinder(d1=1, d2=2.5, h=3, center=true); //drain hole
        difference() {
-               translate([0,0,8]) rounded_prism(bot, top, height=14, joint_top=-0.5, joint_bot=0.5, joint_sides=1, splinesteps=$fn, anchor="origin"); //pothole
+               translate([0,0,8]) rounded_prism(bot, top, height=14, joint_top=-0.7, joint_bot=2.5, joint_sides=1, splinesteps=$fn, anchor="origin"); //pothole
                for(i = [0 : 1 : n]) 
                        translate([-3,i*pitch,-2]) scale([1,0.9,1.22]) rotate([0,90,0]) rotate([0,0,30]) cylinder(d1=5, d2=38, h=15); //balcony clearance
        }
+
 }
 
 module planter2(hollow=1, n=1, pitch=17.3, d1=20, di=16.5) {
@@ -102,7 +103,7 @@ module mold_final(units=1) {
                                        planter2(hollow=0, n=units);
                                        translate([-4,0,0]) cube([0.05,100,50], center=true); //split mold
                                }
-                               translate([0,0,1]) cavity2(n=units, plate=0.4);
+                               translate([0,0,1]) cavity2(n=units, plate=0.35);
                        }
                mold_screws(n=units);
                }
@@ -112,7 +113,8 @@ module mold_final(units=1) {
 //!mold_screws(n=1);
 //!cavity2(n=1);
 //!planter2(n=1);
-//!projection() rotate([90,0,0]) translate([-4,-17.3/2,0]) cavity2(n=1); //middle profile
+//!for(i = [0 : 1: 1]) projection(cut=true) rotate([90,0,0]) translate([-4,0,i*15]) planter2(n=1); //pot profile
+//!projection(cut=true) rotate([90,0,0]) translate([-4,-17.3/2,0]) planter2(n=1); //middle profile
 //!for(i = [0:1:2]) translate([0,0,i*15]) planter2(n=3-i); //pyramid stack
 //!for(i = [0:1:2]) translate([i*23,0,0]) planter2(n=i); //testers
 mold_final(1);
This page took 0.211573 seconds and 4 git commands to generate.