add handle and cup

This commit is contained in:
Кобелев Андрей Андреевич
2024-12-09 14:54:10 +03:00
parent 9f82dad82c
commit 73fa334d7f
7 changed files with 11874 additions and 5732 deletions

View File

@ -1,28 +1,30 @@
module tube(thickness, length1, length2, height, fn=100) {
difference() {
cylinder(h = height, r1 = length1 , r2 = length2, $fn = fn);
cylinder(h = height+0.01, r1 = length1 -thickness * 2,r2 = length2 -thickness * 2, $fn = fn);
}
}
include <tube.scad>;
union(){
// Поднимаем на 40 мм вверх
translate([0, 0, 40]) {
// Создаем трубу диаметром 140 мм, толщиной стенок 10 мм и высотой 10 мм
tube(thickness = 10, length1 = 70, length2=70, height = 7);
}
// Создаем трубу диаметром 120 мм, толщиной стенок 5 мм и высотой 40 мм
tube(thickness = 5, length1 = 60, length2 = 60, height = 40);
/*[Hidden]*/
designVersion="1.0";
designer="Andey Belvedersky";
// Опускаем на 40 мм вниз
translate([0, 0, -80]) {
minkowski() {
// Стакан
union(){
// Создаем трубу c начальным диаметром 120 мм, и конечным 80 мм толщиной стенок 5 мм и высотой 80 мм
tube(thickness = 5, length1 = 40, length2 = 60, height = 80);
cylinder(5, 40,40);
// Поднимаем на 40 мм вверх
translate([0, 0, 40]) {
// Создаем трубу диаметром 140 мм, толщиной стенок 10 мм и высотой 10
tube(thickness = 15, length1 = 70, length2=70, height = 7);
}
// Создаем трубу диаметром 120 мм, толщиной стенок 5 мм и высотой 40 мм
tube(thickness = 5, length1 = 60, length2 = 60, height = 40);
// Опускаем на 40 мм вниз
translate([0, 0, -80]) {
union(){
// Создаем трубу c начальным диаметром 120 мм, и конечным 80 мм толщиной
// стенок 5 мм и высотой 80 мм
tube(thickness = 5, length1 = 40, length2 =60, height = 80);
cylinder(5, 40,40);
}
}
}
sphere(.5, $fn = 5);
}
}
render();

Binary file not shown.

35
models/cup/handle.scad Normal file
View File

@ -0,0 +1,35 @@
include <tube.scad>;
/*[Hidden]*/
designVersion="1.0";
designer="Andey Belvedersky";
// Ручка
color([0.5,0.2,0.2]) {
union() {
// Сама ручка
// Толщина 10мм, радиус 40 мм, высота 15мм, разрешение 150
minkowski() {
tube(10, 40, 40, 15, 150);
sphere(.35, $fn = 20);
}
// Площадка
translate([ 40, 0, 7.5 ]) {
minkowski() {
cube(center = true, size = [ 10, 20, 15 ], $fn = 150);
sphere(.35, $fn = 20);
}
}
// Литник
translate([ 39.7, -5, 0 ]) {
minkowski() {
cube(center = false, size = [ 25, 10, 15 ], $fn = 100);
sphere(.35, $fn = 20);
}
}
}
}
render();

7
models/cup/tube.scad Normal file
View File

@ -0,0 +1,7 @@
module tube(thickness, length1, length2, height, fn = 100) {
difference() {
cylinder(h = height, r1 = length1, r2 = length2, $fn = fn);
cylinder(h = height + 0.01, r1 = length1 - thickness,
r2 = length2 - thickness, $fn = fn);
}
}