This commit is contained in:
Sébastien Dante Ursini 2025-01-15 15:19:37 -03:00
parent 0acb1e0e6e
commit 8b72052a15
2 changed files with 42 additions and 35 deletions

View File

@ -62,6 +62,7 @@
"mold_extra_width": "15",
"mold_part": "bottom",
"mold_piston_height": "10",
"mold_top_height": "6",
"parts": "bottom",
"piston_depth": "5",
"resin_escape_diameter": "4",

View File

@ -57,7 +57,7 @@ base_extra_thickness=20;
show_debug_layers = false;
// Draw master profile
draw_profile = true;
draw_profile = false;
// Draw Fin
build_fin = false;
@ -69,6 +69,7 @@ build_mold = true;
// Mold base height
mold_base_height = 10;
mold_top_height = 5;
mold_extra_width = 15;
mold_piston_height = 10;
@ -275,48 +276,37 @@ if (build_mold) {
if (build_mold) {
back(mold_width/2-mold_extra_width-5)
// Bottom mold
difference() {
bottomCase();
// Bottom Insert
//align(TOP,overlap=-OFFSET,inside=true)
//up(piston_depth/2-OFFSET)
case(mold_base_height);
// Piston
down(piston_depth-OFFSET)
fwd(20)
bottomInsert();
// Drills
//align(BOTTOM,[FRONT+LEFT,FRONT+RIGHT,BACK+LEFT,BACK+RIGHT],inset=10,overlap=-OFFSET)
// color("orange")
//tag("remove")
// drilling();
// Top Mold
/*
if (mold_part != "bottom") align(TOP)
//color("Goldenrod")
//color([255, 215, 0,0.1])
up(OFFSET*3)
diff() {
color("Orange") cuboid([ mold_length, mold_width, mold_piston_height ]);
position(TOP) down(OFFSET) tag("remove") resin_escape();
}
*/
}
// Top Mold
fwd(0) up(60) {
// Top Mold
case(mold_top_height);
// Piston
down(mold_top_height+piston_depth-OFFSET) fwd(20)
topPiston();
}
}
//up(50) bottomInsert();
module bottomCase() {
diff() cuboid( [ mold_length, mold_width, mold_height ],anchor=TOP )
module case(height) {
diff() cuboid( [ mold_length, mold_width, height ],anchor=TOP ){
// Drills
align(BOTTOM,[FRONT+LEFT,FRONT+RIGHT,BACK+LEFT,BACK+RIGHT],inset=10,overlap=-OFFSET)
// color("orange")
tag("remove")
drilling();
color("orange")
tag("remove")
drilling();
// Material holes
align(TOP,[CENTER+BACK+LEFT],inside=true,inset=15,overlap=-OFFSET)
color("Red") wedge([mold_height+2*OFFSET, 50, 30], center=true,orient=FRONT,spin=-90);
}
}
@ -333,15 +323,31 @@ module bottomInsert() {
;
}
// *****************
// * Top piston *
// *****************
module topPiston() {
debug=true;
layer_profile = pathProcess(profile_path);
difference() {
%skin( [ layer_profile,expandPath(layer_profile,3) ], z=[0,piston_depth], slices=0 );
down(OFFSET)
buildFinSide(false);
}
}
//up(50) topPiston();
/**
* Build fin side
*
* @param flip - Define it it is top or bottom fin side
*/
module buildFinSide(flip=false) {
debug=false;
mirror([0,0,flip ? 1 : 0])
color(flip ? "Gray" : "LightGray") /*up(fin_thickness/4)*/ /*down(fin_thickness) */
ellipse_extrude( fin_thickness/2)
ellipse_extrude( fin_thickness/2*(debug?1.2:1))
polygon(profile_path);
}