Compare commits

...

2 Commits

Author SHA1 Message Date
Кобелев Андрей Андреевич
6a0cc985d9 add models 2024-12-12 10:59:23 +03:00
Кобелев Андрей Андреевич
73fa334d7f add handle and cup 2024-12-09 14:54:10 +03:00
8 changed files with 11918 additions and 5733 deletions

2
.gitignore vendored
View File

@ -2,3 +2,5 @@
lib/bosl
lib/dotSCAD-3.3
.DS_Store
*.stl
lib/ub.scad

17363
lib/ub.scad

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,181 @@
include<../lib/ub.scad>
include <../../lib/ub.scad>;
/*[Hidden]*/
designVersion="1.0";
designer="Andey Belvedersky";
useVersion=24.260;
assert(Version>=useVersion,str("lib version ",Version," detected, install ",useVersion," ub.scad library‼ ⇒http://v.gd/ubaer"));
license="CC0";
/*[Basics]*/
nozzle=.6;
bed=false;
pPos=[10,10];
info=true;
name=undef;
// translate([10,0,-15]){
// %cylinder(h = 20, r1 = 22, r2 = 20, $fn = 100);
// }
// intersection() {
// cylinder(h = 120, r1 = 10, r2 = 10, $fn = 100);
// translate([0,0,0]){
// Coil(10, grad=4635,rot=2,points=Kreis(6,rand=0),help=true);
// }
// }
Buchtung(help=true, l = 15, fn= 100, fn2=20);
//
translate([15,0,0]){
Buchtung(help=true, l = 15, r=[2.5, 0, 0, 0], rmin=[2.0, 2.0, 2.0, 2.0], deltaPhi=-360, phase=360, fn= 100, fn2=20);
}
// // Parameters for the snake-like candle
// snake_length = 50; // Length of the candle
// snake_radius = 20; // Base radius of the candle
// twist_amount = 20; // Amount of twist in the snake shape
// height_variation = 6; // Variation in height to create a snake-like effect
// //
// WaveEx(
// grad=0,
// h=snake_length,
// r=snake_radius,
// ry=twist_amount,
// f=3,
// fy=height_variation, // 😃
// a=0,
// ay=1.3, //
// fv=1.4,
// fvy=4,
// tf=5,
// trx=0,
// try=0,
// tfy=3.2,
// tfv=6,
// tfvy=10,
// ta=1.5,
// tay=1.7,
// fn=150,
// fn2=150,
// rot=0,
// scale=1,
// scaley=1,
// close=false,
// p=4,
// name=undef,
// help=1
// );
// hull() {
// hull() {
// hull() {
// sphere(d=20);
// translate([0,0,50]){
// minkowski() {
// sphere(r = 20, d=20, $fn=5);
// cylinder(r=2,h=1, center=true);
// }
// }
// }
// translate([10,10,25]){
// rotate([10,80,40])
// minkowski() {
// sphere(d=20, $fn=5);
// cylinder(r=2,h=1, center=true);
// }
// }
// }
// translate([-10,-10,25]){
// rotate([10,30,40])
// minkowski() {
// OctaH(help=true, d=20);
// cylinder(r=2,h=1, $fn=50);
// }
// }
// }
// Spirale(help=1, grad=10, radius=0, exp=1, fn=2)Linse( messpunkt=false);
// Rundrum(fn=40, grad=40, r=3, twist=1, x=25, y=10, r=195)Linse(help=1, dia=12, r=6.5, messpunkt=false);
// Spirale(help=1, grad=200, radius=0, exp=1, fn=170);
// // Parameters for the snake scales
// scale_length = 10; // Base length of each scale
// scale_width = 6; // Base width of each scale
// scale_height = 2; // Base height of each scale
// scale_spacing = 0.2; // Base spacing between scales
// scale_rows = 3; // Number of rows of scales
// scale_columns = 6; // Number of columns of scales
// // Function to create a single scale with limited randomness
// module scale() {
// // Randomize scale dimensions and rotation with less variation
// l = scale_length + rands(-1, 1, 1)[0]; // Limited random length variation
// w = scale_width + rands(-0.5, 0.5, 1)[0]; // Limited random width variation
// h = scale_height + rands(-0.2, 0.2, 1)[0]; // Limited random height variation
// rot = rands(-10, 10, -10)[0]; // Limited random rotation
// color("darkgreen") {
// // Create a scale shape using a rounded rectangle
// linear_extrude(height=h) {
// rotate(rot) {
// Linse(help=1, dia=12, r=6.5, messpunkt=false);
// }
// }
// }
// }
// // Function to create a row of scales with limited randomness
// module scale_row(y_offset) {
// for (i = [0:scale_columns - 1]) {
// // Randomize the position of each scale with limited variation
// x_offset = i * (scale_length - scale_width + scale_spacing) + rands(-0.5, 0.5, 1)[0];
// translate([x_offset, y_offset, 0]) {
// scale();
// }
// }
// }
// // Function to create the snake scale pattern with limited randomness
// module snake_scale_pattern() {
// for (j = [0:scale_rows - 1]) {
// // Randomize the vertical position of each row with limited variation
// y_offset = j * (scale_width + scale_spacing);
// translate([0, y_offset, 0]) {
// scale_row(j * (scale_width + scale_spacing));
// }
// }
// }
// // Create the snake scale pattern
// snake_scale_pattern();
render();

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.

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

@ -0,0 +1,34 @@
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);
}
}

18
models/garland/box.scad Normal file
View File

@ -0,0 +1,18 @@
minkowski() {
difference(){
cube([13.5+4,34,7+2],center=true);
translate([0,2,0]){
cube([13.5,34,7],center=true);
translate([0,-18.5,0]){
cube([4,4,2],center=true);
}
}
}
cylinder(r=0.1, center=false);
}
render();