include $fn = 100; dlugosc = 152; szerokosc = 100; wysokosc = 40; zaokraglenie = 3; // koszyczek dlkoszyczek = 30; szerkoszyczek = 30; wyskoszyczek = 40; dlpattern = 130; /* module cuboid( */ /* size, */ /* p1, p2, */ /* chamfer, */ /* rounding, */ /* edges=EDGES_ALL, */ /* except=[], */ /* except_edges, */ /* trimcorners=true, */ /* teardrop=false, */ /* clip_angle, */ /* anchor=CENTER, */ /* spin=0, */ /* orient=UP */ /* ) { */ // BOX /* diff() */ /* cuboid([dlugosc + 4, szerokosc + 4, wysokosc], rounding = zaokraglenie, edges = [FRONT+RIGHT, FRONT+LEFT, BACK+LEFT, BACK+RIGHT], anchor = CENTER + BOTTOM) { */ /* up(2) */ /* tag("remove") */ /* cuboid([dlugosc , szerokosc , wysokosc], rounding = zaokraglenie, edges = [FRONT+RIGHT, FRONT+LEFT, BACK+LEFT, BACK+RIGHT], anchor = CENTER); */ /* } */ diff(keep="szescian") // 1. Obiekt Pozytywny (Główne Pudełko) cuboid([dlugosc + 4, szerokosc + 4, wysokosc], rounding = zaokraglenie, edges = [FRONT+RIGHT, FRONT+LEFT, BACK+LEFT, BACK+RIGHT], anchor = CENTER + BOTTOM) { // 2. Obiekt Negatywny (Wydrążenie pudełka) // Domyślny diff() szuka "remove" up(2) tag("remove") cuboid([dlugosc, szerokosc, wysokosc], rounding = zaokraglenie, edges = [FRONT+RIGHT, FRONT+LEFT, BACK+LEFT, BACK+RIGHT], anchor = CENTER); tag("szescian") diff("dziura_w_szescianie") cuboid([20,20,20]){ tag("dziura_w_szescianie")position(TOP) cyl(20, anchor=TOP); } }