Lennart SCHWEERS
Premier objet
// Japanese-style knife design in OpenSCAD
$fn = 100; // Smoothness of curves
// Parameters
blade_length = 200; // Length of the blade in mm
blade_width = 30; // Width of the blade in mm
blade_thickness = 2; // Thickness of the blade in mm
handle_length = 120; // Length of the handle in mm
handle_width = 20; // Width of the handle in mm
handle_thickness = 25; // Thickness of the handle in mm
// Blade design
module blade() {
translate([handle_length, -blade_width / 2, 0])
linear_extrude(height = blade_thickness)
polygon(points = [
[0, 0],
[blade_length, blade_width / 2],
[blade_length, -blade_width / 2],
[0, 0]
]);
}
// Handle design
module handle() {
translate([0, 0,-handle_width / 2, -handle_thickness / 2])
cube([handle_length, handle_width, handle_thickness], center = false);
}
// Assembling the knife
difference() {
// Main knife structure
union() {
translate([handle_length, 0, 0]) blade();
handle();
}
// Adding bevel to the blade
translate([handle_length + blade_length / 2, 0, blade_thickness / 2])
rotate([45, 0, 0])
cube([blade_length, blade_width * 2, blade_thickness * 2], center = true);
}
$fn = 100; // Increase for smoother curves
Deuxième Objet: Vase
// Alvar Aalto-style vase approximation in OpenSCAD
$fn = 100; // Increase for smoother curves
// Parameters
height = 200; // Height in mm (20 cm)
thickness = 3; // Wall thickness in mm
difference() {
// Outer vase shape
linear_extrude(height)
offset(r=30) // Offset to round the corners
union() {
circle(30, $fn=100);
translate([50, 0]) circle(25, $fn=100);
translate([-50, 0]) circle(25, $fn=100);
translate([0, 50]) circle(20, $fn=100);
};
// Inner cavity (subtracting inner shape)
translate([0, 0, 0])
linear_extrude(height - thickness)
offset(r=25)
union() {
circle(27, $fn=100);
translate([50, 0]) circle(22, $fn=100);
translate([-50, 0]) circle(22, $fn=100);
translate([0, 50]) circle(17, $fn=100);
};
}