Can Sleeve: Formattierung

This commit is contained in:
Peter 2024-06-28 12:29:27 +02:00
parent a706ce3f8c
commit cbf5f1da13
Signed by: pludi
GPG key ID: FB1A00FEE77E2C36

View file

@ -15,84 +15,86 @@ wall = 0.8;//[0.1:0.1:2.4]
// Interior ribs
ribs = 7;// [1:1:9]
include <../lib/defaults.scad>;
use <../lib/text_on.scad>;
include <../lib/defaults.scad>
;
use <../lib/text_on.scad>
;
// For the Preview Crosssection
intersection() {
// To remove unnecessary edges
difference(){
union() {
// Primary Cylinder, inner & outer wall
translate([0,0,thickness/2])
union(){
difference() {
cylinder(h = can_height-lip-2*thickness, r = can_dia / 2 + thickness, center = true);
cylinder(h = can_height-lip-2*thickness + .1, r = can_dia / 2+thickness-wall, center = true);
}
difference() {
cylinder(h = can_height-lip-2*thickness, r = can_dia / 2 +wall, center = true);
cylinder(h = can_height-lip-2*thickness + .1, r = can_dia / 2, center = true);
}
}
// Rounded lip
translate([0,0,(can_height-lip-thickness)/2])
rotate_extrude()
translate([(can_dia+thickness)/2,0,0])
intersection() {
circle(thickness/2);
translate([-(thickness+1)/2,0,0])
square(thickness+1);
}
// Bottom
translate([0,0,-(can_height-lip-3*thickness)/2])
difference() {
union() {
// Primary Cylinder, inner & outer wall
translate([0, 0, thickness / 2])
union() {
difference() {
cylinder(h = can_height - lip - 2 * thickness, r = can_dia / 2 + thickness, center = true);
cylinder(h = can_height - lip - 2 * thickness + .1, r = can_dia / 2 + thickness - wall, center = true);
}
difference() {
cylinder(h = can_height - lip - 2 * thickness, r = can_dia / 2 + wall, center = true);
cylinder(h = can_height - lip - 2 * thickness + .1, r = can_dia / 2, center = true);
}
}
// Rounded lip
translate([0, 0, (can_height - lip - thickness) / 2])
rotate_extrude()
translate([can_dia/2,0,0])
intersection(){
union(){
difference(){
circle(thickness);
circle(thickness-wall);
translate([(can_dia + thickness) / 2, 0, 0])
intersection() {
circle(thickness / 2);
translate([-(thickness + 1) / 2, 0, 0])
square(thickness + 1);
}
// Bottom
translate([0, 0, -(can_height - lip - 3 * thickness) / 2])
rotate_extrude()
translate([can_dia / 2, 0, 0])
intersection() {
union() {
difference() {
circle(thickness);
circle(thickness - wall);
}
circle(wall);
rotate([0,0,45])
square([thickness-2*wall,thickness*2-wall],center=true);
}
translate([0,-thickness,0])
square(thickness);
}
translate([0,0,-(can_height-lip-2*thickness)/2])
difference(){
cylinder(h=thickness, r=can_dia/2, center=true);
rotate([180,0,0])
resize([can_dia*.9,can_dia*.9,0],[true,true,false])
linear_extrude(height=thickness/2+.1)
import(file="1A_MainLogo_Cube_2021.svg", center=true);
}
//
// Ribs for structural strengt & grip
for(i = [-((ribs - 1) / 2):((ribs - 1) / 2)]) {
translate([0, 0, i * (can_height-lip) / (ribs + 1)])
union() {
difference() {
cylinder(h = 2, r = can_dia / 2 + thickness, center = true);
cylinder(h = 2.1, r = can_dia / 2, center = true);
rotate([0, 0, 45])
square([thickness - 2 * wall, thickness * 2 - wall], center = true);
}
rotate_extrude()
translate([can_dia / 2, 0, 0])
scale([.5, 1, 1])
circle(r = 1);
translate([0, -thickness, 0])
square(thickness);
}
translate([0, 0, -(can_height - lip - 2 * thickness) / 2])
difference() {
cylinder(h = thickness, r = can_dia / 2, center = true);
rotate([180, 0, 0])
resize([can_dia * .9, can_dia * .9, 0], [true, true, false])
linear_extrude(height = thickness / 2 + .1)
import(file = "1A_MainLogo_Cube_2021.svg", center = true);
}
}
text_on_cylinder(t=name, r=can_dia / 2 + thickness,h=can_height/2,size=10, center=true, cylinder_center=true, extrusion_height=wall, font="Hack Nerd Font");
//
// Ribs for structural strengt & grip
for(i = [-((ribs - 1) / 2):((ribs - 1) / 2)]) {
translate([0, 0, i * (can_height - lip) / (ribs + 1)])
union() {
difference() {
cylinder(h = 2, r = can_dia / 2 + thickness, center = true);
cylinder(h = 2.1, r = can_dia / 2, center = true);
}
rotate_extrude()
translate([can_dia / 2, 0, 0])
scale([.5, 1, 1])
circle(r = 1);
}
}
}
text_on_cylinder(t = name, r = can_dia / 2 + thickness, h = can_height / 2, size = 10, center = true, cylinder_center = true, extrusion_height = wall, font = "Hack Nerd Font");
}
if ($preview) {
translate([0, 5+can_dia/4, 0])
cube([can_dia+10, 10+can_dia/2, can_height+10], center = true);
translate([0,0,(thickness+lip)/2])
%cylinder(h=can_height,d=can_dia,center=true);
translate([0, 5 + can_dia / 4, 0])
cube([can_dia + 10, 10 + can_dia / 2, can_height + 10], center = true);
translate([0, 0, (thickness + lip) / 2])
%cylinder(h = can_height, d = can_dia, center = true);
}
}