Bottom skirt module in common
This commit is contained in:
		
							parent
							
								
									3450bf2c52
								
							
						
					
					
						commit
						73dda579e6
					
				| @ -95,6 +95,59 @@ | |||||||
|             "tab_height": "13", |             "tab_height": "13", | ||||||
|             "thick": "9.1999999999999993", |             "thick": "9.1999999999999993", | ||||||
|             "thick_cut": "1" |             "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() { | module buildCompletFin() { | ||||||
|     union(){ |     union(){ | ||||||
|         buildFin( fin_thickness ); |         buildFin( fin_thickness ); | ||||||
|         buildBox(); |         //buildBox(); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| module buildBox() { | module buildBox() { | ||||||
|  |     /* | ||||||
|     left(80) { |     left(80) { | ||||||
|         xflip() {      |         xflip() {      | ||||||
|             finfit(fin_base+20, [1,1,0],false,false); |             finfit(fin_base+20, [1,1,0],false,false); | ||||||
| @ -303,11 +304,12 @@ module buildBox() { | |||||||
|      |      | ||||||
|         //up(20) tab_cut(); |         //up(20) tab_cut(); | ||||||
|     } |     } | ||||||
|  |     */ | ||||||
|          |          | ||||||
| } | } | ||||||
| module buildBoxMold() { | 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); |     moldContour =  expandPath(profile,mold_extra_width); | ||||||
|     buildMoldSkirt(skirtHeight,mold_extra_width,3); |     buildMoldSkirt(skirtHeight,mold_extra_width,3); | ||||||
|      |      | ||||||
|  |     // Bottom Mold | ||||||
|     if (mold_part != "top") { |     if (mold_part != "top") { | ||||||
|         difference() { |         difference() { | ||||||
|             union() { |             union() { | ||||||
|                 down(moldHeight) linear_extrude (moldHeight) polygon(moldContour);  // bottom  |                 down(moldHeight) linear_extrude (moldHeight) polygon(moldContour);  // bottom  | ||||||
|                 //back(5) left(95) cube([20+10,25,moldHeight],anchor=BACK+TOP);          // Box shell |                 //back(5) left(95) cube([20+10,25,moldHeight],anchor=BACK+TOP);          // Box shell | ||||||
|                  |                 skirt( profile, moldThickness = 3 , angle = 85, moldDeep = fin_thickness ); | ||||||
|                 up(5) color("Yellow") left(80) buildBoxMold(); |                 //up(5) color("Yellow") left(80) buildBoxMold(); | ||||||
|                  |                  | ||||||
|             }; |             }; | ||||||
|             buildCompletFin(); |             buildCompletFin(); | ||||||
|  | |||||||
							
								
								
									
										32
									
								
								common.scad
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								common.scad
									
									
									
									
									
								
							| @ -122,9 +122,11 @@ module print_path_points(path) { | |||||||
|  * Expand path  |  * Expand path  | ||||||
|  * |  * | ||||||
|  * @param path - Original 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( |         offset( | ||||||
|             deduplicate(path), |             deduplicate(path), | ||||||
|             delta=delta, |             delta=delta, | ||||||
| @ -153,3 +155,29 @@ function layerHeights(n, fin_thickness) = | |||||||
|         layer_height = fin_thickness / (n - 1) |         layer_height = fin_thickness / (n - 1) | ||||||
|     ) |     ) | ||||||
|     [ for (i = [0 : n-1]) i * layer_height ]; |     [ 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(){ |                     difference(){ | ||||||
|                         skin([baseInt   , topInt    ],z=[0,skirtHeight],slices=0); |                         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); | //test = profileUS (100); | ||||||
| @ -151,7 +161,11 @@ module thickness_cut(thickness,height) { | |||||||
| //boxProfileUS( length= 188); | //boxProfileUS( length= 188); | ||||||
| 
 | 
 | ||||||
| //usBox( 130,drill=false ); | //usBox( 130,drill=false ); | ||||||
| usBoxMold( 130,part="top" ); | //usBoxMold( 130,part="top" ); | ||||||
| down(50) usBoxMold( 130,part="bottom" ); | 
 | ||||||
|  | finBoxMold( 130,finLength=100,part="bottom" ); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //down(50) usBoxMold( 130,part="bottom" ); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user