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