Bottom skirt module in common
This commit is contained in:
parent
3450bf2c52
commit
73dda579e6
@ -95,6 +95,59 @@
|
||||
"tab_height": "13",
|
||||
"thick": "9.1999999999999993",
|
||||
"thick_cut": "1"
|
||||
},
|
||||
"New set 3": {
|
||||
"$fn": "64",
|
||||
"base_extra_thickness": "40",
|
||||
"base_tickness": "8",
|
||||
"build_box": "false",
|
||||
"build_fin": "false",
|
||||
"build_mold": "true",
|
||||
"draw_profile": "false",
|
||||
"fin_back_angle": "20",
|
||||
"fin_back_height": "30",
|
||||
"fin_back_strength": "30",
|
||||
"fin_back_widthdraw": "20",
|
||||
"fin_base": "130",
|
||||
"fin_counter_angle": "30",
|
||||
"fin_counter_strength": "10",
|
||||
"fin_edge_angle": "30",
|
||||
"fin_edge_strength": "30",
|
||||
"fin_edge_withdraw": "20",
|
||||
"fin_end_angle": "110",
|
||||
"fin_end_strength": "30",
|
||||
"fin_height": "254",
|
||||
"fin_start_angle": "70",
|
||||
"fin_sweep": "25",
|
||||
"fin_thickness": "9",
|
||||
"fin_top_withdraw": "35",
|
||||
"fin_width": "270",
|
||||
"fin_width_tip": "5",
|
||||
"height": "25",
|
||||
"merge_holes_diameter": "6",
|
||||
"mirror_vec": "[1, 1, 0]",
|
||||
"mold_base_height": "10",
|
||||
"mold_extra_width": "15",
|
||||
"mold_part": "all",
|
||||
"mold_piston_height": "10",
|
||||
"mold_top_height": "5",
|
||||
"parts": "all",
|
||||
"pin_back": "9",
|
||||
"pin_depth": "16.399999999999999",
|
||||
"pin_dia": "3",
|
||||
"piston_depth": "5",
|
||||
"printable": "true",
|
||||
"render_drill_template": "false",
|
||||
"resin_escape_diameter": "4",
|
||||
"scale_factor": "1",
|
||||
"screw_dia": "4.5",
|
||||
"screw_pos": "9.5999999999999996",
|
||||
"show_curve_points": "false",
|
||||
"show_debug_layers": "false",
|
||||
"start": "[0, 0]",
|
||||
"tab_height": "13",
|
||||
"thick": "9.1999999999999993",
|
||||
"thick_cut": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -290,12 +290,13 @@ if ( render_drill_template ) buildDrillTemplate();
|
||||
module buildCompletFin() {
|
||||
union(){
|
||||
buildFin( fin_thickness );
|
||||
buildBox();
|
||||
//buildBox();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module buildBox() {
|
||||
/*
|
||||
left(80) {
|
||||
xflip() {
|
||||
finfit(fin_base+20, [1,1,0],false,false);
|
||||
@ -303,11 +304,12 @@ module buildBox() {
|
||||
|
||||
//up(20) tab_cut();
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
module buildBoxMold() {
|
||||
zrot(-90) chinook_profile(fin_base+20);
|
||||
zrot(-90) up(-2) offset(chinook_profile(fin_base+20),delta=5);
|
||||
|
||||
// To be defined
|
||||
}
|
||||
|
||||
|
||||
@ -323,13 +325,14 @@ module buildMold() {
|
||||
moldContour = expandPath(profile,mold_extra_width);
|
||||
buildMoldSkirt(skirtHeight,mold_extra_width,3);
|
||||
|
||||
// Bottom Mold
|
||||
if (mold_part != "top") {
|
||||
difference() {
|
||||
union() {
|
||||
down(moldHeight) linear_extrude (moldHeight) polygon(moldContour); // bottom
|
||||
//back(5) left(95) cube([20+10,25,moldHeight],anchor=BACK+TOP); // Box shell
|
||||
|
||||
up(5) color("Yellow") left(80) buildBoxMold();
|
||||
skirt( profile, moldThickness = 3 , angle = 85, moldDeep = fin_thickness );
|
||||
//up(5) color("Yellow") left(80) buildBoxMold();
|
||||
|
||||
};
|
||||
buildCompletFin();
|
||||
|
32
common.scad
32
common.scad
@ -122,9 +122,11 @@ module print_path_points(path) {
|
||||
* Expand path
|
||||
*
|
||||
* @param path - Original path
|
||||
* param delta - distance to expand
|
||||
* @param delta - distance to expand
|
||||
*
|
||||
* Keep the same number of points
|
||||
*/
|
||||
function expandPath(path,delta) =
|
||||
function expandPath( path, delta ) =
|
||||
offset(
|
||||
deduplicate(path),
|
||||
delta=delta,
|
||||
@ -153,3 +155,29 @@ function layerHeights(n, fin_thickness) =
|
||||
layer_height = fin_thickness / (n - 1)
|
||||
)
|
||||
[ for (i = [0 : n-1]) i * layer_height ];
|
||||
|
||||
/**
|
||||
* Make a skirt around a profile
|
||||
*
|
||||
* @param profile - Path ot the mold
|
||||
* @param moldThickness - Thickness of the mold
|
||||
* @param angle - Angle of the skirt starting from flat angle
|
||||
* @param moldDeep - Mold deep. Normally height of the skirt should be 3 times the thickness of the model
|
||||
* @param side - Bottom or top part of the mold
|
||||
*
|
||||
*/
|
||||
module skirt( profile, moldThickness, angle, moldDeep, side = "bottom", heightFactor = 3 ) {
|
||||
deviation = opp_ang_to_adj (height,angle);
|
||||
skirtHeight = heightFactor * moldDeep;
|
||||
if ( side == "bottom" ) {
|
||||
lowInt = profile;
|
||||
lowExt = expandPath( lowInt , moldThickness );
|
||||
highInt = expandPath( lowInt , deviation );
|
||||
highExt = expandPath( lowInt , deviation + moldThickness );
|
||||
difference(){
|
||||
skin([lowExt , highExt ], z=[0 , skirtHeight] , slices=0);
|
||||
skin([lowInt , highInt ], z=[-OFFSET , skirtHeight+OFFSET] , slices=0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -129,13 +129,6 @@ module thickness_cut(BaseLength,height, zOffset,pin_depth=16.4, pin_back=9,thick
|
||||
);
|
||||
}
|
||||
|
||||
if (true) {
|
||||
|
||||
chinook(130+20);
|
||||
//up(5.2) left() color("Yellow")chinook_profile(130+20);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -86,7 +86,7 @@ module usBoxMold( length, height=23, thickness = 9, moldThickness = 4,tabLength
|
||||
|
||||
difference(){
|
||||
skin([baseInt , topInt ],z=[0,skirtHeight],slices=0);
|
||||
skin([baseInt2 , topInt2 ],z=[thickness/2,skirtHeight+OFFSET],slices=0);
|
||||
skin([baseInt2 , topInt2 ],z=[thickness/2+moldThickness,skirtHeight+OFFSET],slices=0);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -125,6 +125,16 @@ module usBoxMold( length, height=23, thickness = 9, moldThickness = 4,tabLength
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module finBoxMold(length,finLength,part="bottom") {
|
||||
|
||||
//if (part=="bottom") {
|
||||
usBoxMold( 130,finLength=100,part=part );
|
||||
//}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
//test = profileUS (100);
|
||||
@ -151,7 +161,11 @@ module thickness_cut(thickness,height) {
|
||||
//boxProfileUS( length= 188);
|
||||
|
||||
//usBox( 130,drill=false );
|
||||
usBoxMold( 130,part="top" );
|
||||
down(50) usBoxMold( 130,part="bottom" );
|
||||
//usBoxMold( 130,part="top" );
|
||||
|
||||
finBoxMold( 130,finLength=100,part="bottom" );
|
||||
|
||||
|
||||
//down(50) usBoxMold( 130,part="bottom" );
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user