committed by
					
						 Jonathan Tran
						Jonathan Tran
					
				
			
			
				
	
			
			
			
						parent
						
							b7437e949a
						
					
				
				
					commit
					f4cf0d0d88
				
			| @ -674,3 +674,36 @@ extrude(profile001, length = 100)"# | ||||
|     assert!(first.1 != last.1, "The images should be different for the grid"); | ||||
|     assert_eq!(first.2, last.2, "The outcomes should be the same"); | ||||
| } | ||||
|  | ||||
| #[tokio::test(flavor = "multi_thread")] | ||||
| async fn kcl_test_cache_fillet_error_opening_closing_specific_files() { | ||||
|     let main_code = include_str!("../../tests/fillet_error_switch_files/main.kcl"); | ||||
|     let switch_code = include_str!("../../tests/fillet_error_switch_files/switch_protector.kcl"); | ||||
|  | ||||
|     let result = cache_test( | ||||
|         "fillet_error_opening_closing_specific_files", | ||||
|         vec![ | ||||
|             Variation { | ||||
|                 code: main_code, | ||||
|                 other_files: Vec::new(), | ||||
|                 settings: &Default::default(), | ||||
|             }, | ||||
|             Variation { | ||||
|                 code: switch_code, | ||||
|                 other_files: Vec::new(), | ||||
|                 settings: &Default::default(), | ||||
|             }, | ||||
|             Variation { | ||||
|                 code: main_code, | ||||
|                 other_files: Vec::new(), | ||||
|                 settings: &Default::default(), | ||||
|             }, | ||||
|         ], | ||||
|     ) | ||||
|     .await; | ||||
|  | ||||
|     // Make sure nothing failed. | ||||
|     result.first().unwrap(); | ||||
|     result.get(1).unwrap(); | ||||
|     result.last().unwrap(); | ||||
| } | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 56 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 98 KiB | 
| @ -775,6 +775,10 @@ impl ExecutorContext { | ||||
|         .await; | ||||
|  | ||||
|         let outcome = exec_state.to_exec_outcome(result.0).await; | ||||
|  | ||||
|         println!("batch_end: {:#?}", self.engine.batch_end().read().await); | ||||
|         println!("responses: {:#?}", self.engine.responses().read().await); | ||||
|         println!("batch: {:#?}", self.engine.batch().read().await); | ||||
|         Ok(outcome) | ||||
|     } | ||||
|  | ||||
|  | ||||
							
								
								
									
										71
									
								
								rust/kcl-lib/tests/fillet_error_switch_files/main.kcl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								rust/kcl-lib/tests/fillet_error_switch_files/main.kcl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| holeFudge = 0.4 | ||||
| frontBarD = 5.0 | ||||
| yBarD = 6.7 | ||||
| slideGap = 0.7 | ||||
| lowerBlockTransHole = { | ||||
|   r = (frontBarD + slideGap + holeFudge) / 2 | ||||
| } | ||||
| upperBlockLongHole = { r = (yBarD + holeFudge) / 2 } | ||||
|  | ||||
| upperBlockTransHole = { r = (yBarD + holeFudge) / 2 } | ||||
| tubeClr = 1.5 | ||||
| lowerBlock = { | ||||
|   h = 2 * lowerBlockTransHole.r + 2 * tubeClr, | ||||
|   l = 70 | ||||
| } | ||||
| upperBlock = { | ||||
|   h = 2 * upperBlockLongHole.r + 2 * tubeClr, | ||||
|   l = 25 | ||||
| } | ||||
| elevate = { h = 5 } | ||||
|  | ||||
| blockSz = max(upperBlock.h, lowerBlock.h) | ||||
|  | ||||
| slot = { l = 10, h = 1 } | ||||
|  | ||||
| sketch001 = startSketchOn(XZ) | ||||
|   |> startProfileAt([0, 0], %) | ||||
|   |> yLine(length = blockSz, tag = $edgeA) | ||||
|   |> xLine(length = blockSz, tag = $edgeB) | ||||
|   |> yLine(length = -blockSz, tag = $edgeC) | ||||
|   |> xLine(length = upperBlock.l - blockSz, tag = $edge1) | ||||
|   |> yLine(length = -(elevate.h + blockSz), tag = $edge2) | ||||
|   |> xLine(length = lowerBlock.l - blockSz, tag = $edge3) | ||||
|   |> yLine(length = -blockSz, tag = $edge4) | ||||
|   |> xLine(length = -lowerBlock.l, tag = $edge5) | ||||
|   |> yLine(length = blockSz + elevate.h, tag = $edge6) | ||||
|   |> xLine(length = -(upperBlock.l - blockSz), tag = $edge7) | ||||
|   |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg01) | ||||
|   |> close(%) | ||||
|   |> hole(circle(center = [blockSz / 2, blockSz / 2], radius = upperBlockTransHole.r), %) | ||||
|   |> hole(circle( | ||||
|        center = [ | ||||
|          upperBlock.l + lowerBlock.l - blockSz - lowerBlockTransHole.r - tubeClr, | ||||
|          -(blockSz + elevate.h + blockSz / 2) | ||||
|        ], | ||||
|        radius = lowerBlockTransHole.r, | ||||
|      ), %) | ||||
| rad = 3 | ||||
|  | ||||
| extrude001 = extrude(sketch001, length = blockSz) | ||||
|   |> fillet( | ||||
|        radius = rad, | ||||
|        tags = [ | ||||
|          getNextAdjacentEdge(edgeA), | ||||
|          getNextAdjacentEdge(edgeB), | ||||
|          getNextAdjacentEdge(edgeC), | ||||
|          getNextAdjacentEdge(edge1), | ||||
|          getNextAdjacentEdge(edge2), | ||||
|          getNextAdjacentEdge(edge3), | ||||
|          getNextAdjacentEdge(edge4), | ||||
|          getNextAdjacentEdge(edge5), | ||||
|          getNextAdjacentEdge(edge6), | ||||
|          getNextAdjacentEdge(edge7) | ||||
|        ], | ||||
|      ) | ||||
|  | ||||
| sketch002 = startSketchOn(extrude001, seg01) | ||||
|   |> startProfileAt([0, 0], %) | ||||
|   |> circle(center = [blockSz / 2, -blockSz / 2], radius = upperBlockLongHole.r) | ||||
|   |> extrude(length = -upperBlock.l) | ||||
|  | ||||
| @ -0,0 +1,24 @@ | ||||
| holeFudgeD = 0.4 | ||||
| holeFudgeR = holeFudgeD / 2 | ||||
|  | ||||
| totalH = 12.5 | ||||
| switchNutD = 9.5 | ||||
| switchNutR = switchNutD / 2 | ||||
| bottomInnerR = switchNutR + holeFudgeR | ||||
| bottomOuterR = 13.5 | ||||
| topInnerR = switchNutR + 1.5 + holeFudgeR | ||||
| topFlatL = 1 | ||||
| topOuterR = topInnerR + topFlatL | ||||
| baseH = 1 | ||||
| coneH = totalH - baseH | ||||
|  | ||||
| sketch001 = startSketchOn(XZ) | ||||
|   |> startProfileAt([bottomInnerR, 0], %) | ||||
|   |> xLine(endAbsolute = bottomOuterR) | ||||
|   |> yLine(length = baseH) | ||||
|   |> line(end = [-(bottomOuterR - topOuterR), coneH]) | ||||
|   |> line(end = [-(topOuterR - topInnerR), 0]) | ||||
|   |> close(%) | ||||
|   |> revolve(axis = Y) | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user