add handle and cup
This commit is contained in:
parent
9f82dad82c
commit
73fa334d7f
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,3 +2,5 @@
|
|||||||
lib/bosl
|
lib/bosl
|
||||||
lib/dotSCAD-3.3
|
lib/dotSCAD-3.3
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
*.stl
|
||||||
|
lib/ub.scad
|
||||||
|
17255
lib/ub.scad
17255
lib/ub.scad
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,155 @@
|
|||||||
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=.2;
|
||||||
|
bed=true;
|
||||||
|
pPos=[0,0];
|
||||||
|
info=true;
|
||||||
|
name=undef;
|
||||||
|
|
||||||
|
// 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();
|
@ -1,28 +1,30 @@
|
|||||||
module tube(thickness, length1, length2, height, fn=100) {
|
include <tube.scad>;
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
union(){
|
/*[Hidden]*/
|
||||||
// Поднимаем на 40 мм вверх
|
designVersion="1.0";
|
||||||
translate([0, 0, 40]) {
|
designer="Andey Belvedersky";
|
||||||
// Создаем трубу диаметром 140 мм, толщиной стенок 10 мм и высотой 10 мм
|
|
||||||
tube(thickness = 10, length1 = 70, length2=70, height = 7);
|
|
||||||
}
|
|
||||||
// Создаем трубу диаметром 120 мм, толщиной стенок 5 мм и высотой 40 мм
|
|
||||||
tube(thickness = 5, length1 = 60, length2 = 60, height = 40);
|
|
||||||
|
|
||||||
// Опускаем на 40 мм вниз
|
minkowski() {
|
||||||
translate([0, 0, -80]) {
|
// Стакан
|
||||||
union(){
|
union(){
|
||||||
// Создаем трубу c начальным диаметром 120 мм, и конечным 80 мм толщиной стенок 5 мм и высотой 80 мм
|
// Поднимаем на 40 мм вверх
|
||||||
tube(thickness = 5, length1 = 40, length2 = 60, height = 80);
|
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);
|
cylinder(5, 40,40);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sphere(.5, $fn = 5);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
render();
|
render();
|
||||||
|
|
||||||
|
Binary file not shown.
35
models/cup/handle.scad
Normal file
35
models/cup/handle.scad
Normal 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
7
models/cup/tube.scad
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user