| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  | ```mermaid | 
					
						
							|  |  |  | flowchart LR | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   subgraph path9 [Path] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     9["Path<br>[947, 993, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     14["Segment<br>[1001, 1023, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     17["Segment<br>[1031, 1061, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     18["Segment<br>[1069, 1113, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     20["Segment<br>[1121, 1148, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     22["Segment<br>[1156, 1200, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     24["Segment<br>[1208, 1215, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }] | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |     37[Solid2d] | 
					
						
							| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   subgraph path10 [Path] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     10["Path<br>[947, 993, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     15["Segment<br>[1001, 1023, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     16["Segment<br>[1031, 1061, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     19["Segment<br>[1069, 1113, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     21["Segment<br>[1121, 1148, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     23["Segment<br>[1156, 1200, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     25["Segment<br>[1208, 1215, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }] | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |     39[Solid2d] | 
					
						
							| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   subgraph path11 [Path] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     11["Path<br>[2256, 2344, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     26["Segment<br>[2350, 2414, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     27["Segment<br>[2420, 2484, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     28["Segment<br>[2490, 2543, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     29["Segment<br>[2549, 2570, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }] | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |     36[Solid2d] | 
					
						
							| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   subgraph path12 [Path] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     12["Path<br>[2901, 3067, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     30["Segment<br>[2901, 3067, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }] | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |     38[Solid2d] | 
					
						
							| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   subgraph path13 [Path] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     13["Path<br>[4380, 4405, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     31["Segment<br>[4411, 4483, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     32["Segment<br>[4489, 4562, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     33["Segment<br>[4568, 4621, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |     34["Segment<br>[4627, 4648, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |       %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }] | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |     35[Solid2d] | 
					
						
							| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   1["Plane<br>[1301, 1348, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwUnlabeledArg, CallKwUnlabeledArg] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   2["Plane<br>[1880, 1927, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwUnlabeledArg, CallKwUnlabeledArg] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   3["Plane<br>[2233, 2250, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   4["Plane<br>[4341, 4373, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg] | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   5["StartSketchOnPlane<br>[919, 939, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 19:18:03 -04:00
										 |  |  |     %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   6["StartSketchOnPlane<br>[919, 939, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 19:18:03 -04:00
										 |  |  |     %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   7["StartSketchOnPlane<br>[4327, 4374, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 19:18:03 -04:00
										 |  |  |     %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   8["StartSketchOnFace<br>[2853, 2895, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 19:18:03 -04:00
										 |  |  |     %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   40["Sweep Extrusion<br>[1288, 1391, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   41["Sweep Revolve<br>[1867, 1958, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   42["Sweep Extrusion<br>[2576, 2600, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   43["Sweep Extrusion<br>[3289, 3316, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   44["Sweep Extrusion<br>[3289, 3316, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   45["Sweep Extrusion<br>[3289, 3316, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   46["Sweep Extrusion<br>[3289, 3316, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   47["Sweep Extrusion<br>[4654, 4698, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }] | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   48[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   49[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   50[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   51[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   52[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   53[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   54[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   55[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   56[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   57[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   58[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   59[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   60[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   61[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   62[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   63[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   64[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   65[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   66[Wall] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   67["Cap Start"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   68["Cap Start"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=[ProgramBodyItem { index: 23 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }] | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   69["Cap Start"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   70["Cap Start"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   71["Cap Start"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   72["Cap End"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   73["Cap End"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   74["Cap End"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   75["Cap End"] | 
					
						
							| 
									
										
										
										
											2025-05-15 20:14:31 -04:00
										 |  |  |     %% face_code_ref=Missing NodePath | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   76["SweepEdge Opposite"] | 
					
						
							|  |  |  |   77["SweepEdge Opposite"] | 
					
						
							|  |  |  |   78["SweepEdge Opposite"] | 
					
						
							|  |  |  |   79["SweepEdge Opposite"] | 
					
						
							|  |  |  |   80["SweepEdge Opposite"] | 
					
						
							|  |  |  |   81["SweepEdge Opposite"] | 
					
						
							|  |  |  |   82["SweepEdge Opposite"] | 
					
						
							|  |  |  |   83["SweepEdge Opposite"] | 
					
						
							|  |  |  |   84["SweepEdge Opposite"] | 
					
						
							|  |  |  |   85["SweepEdge Opposite"] | 
					
						
							|  |  |  |   86["SweepEdge Opposite"] | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   87["SweepEdge Opposite"] | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   88["SweepEdge Opposite"] | 
					
						
							|  |  |  |   89["SweepEdge Opposite"] | 
					
						
							|  |  |  |   90["SweepEdge Opposite"] | 
					
						
							|  |  |  |   91["SweepEdge Opposite"] | 
					
						
							|  |  |  |   92["SweepEdge Opposite"] | 
					
						
							|  |  |  |   93["SweepEdge Opposite"] | 
					
						
							|  |  |  |   94["SweepEdge Opposite"] | 
					
						
							|  |  |  |   95["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   96["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   97["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   98["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   99["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   100["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   101["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   102["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   103["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   104["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   105["SweepEdge Adjacent"] | 
					
						
							|  |  |  |   106["SweepEdge Adjacent"] | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   107["SweepEdge Adjacent"] | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   108["SweepEdge Adjacent"] | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   109["SweepEdge Adjacent"] | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   110["SweepEdge Adjacent"] | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   111["SweepEdge Adjacent"] | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   112["SweepEdge Adjacent"] | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   113["SweepEdge Adjacent"] | 
					
						
							| 
									
										
										
										
											2025-05-06 08:44:03 +12:00
										 |  |  |   114["EdgeCut Fillet<br>[2606, 2836, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 22 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }] | 
					
						
							| 
									
										
											  
											
												Do multiple chamfer/fillet in one API call (#6750)
KCL's `fillet` function takes an array of edges to fillet. Previously this would do `n` fillet API commands, one per edge. This PR combines them all into one call, which should improve performance. You can see the effect in the  artifact_commands snapshots, e.g. `rust/kcl-lib/tests/kcl_samples/axial-fan/artifact_commands.snap` 
Besides performance, this should fix a bug where some KCL fillets would fail, when they should have succeeded. Example from @max-mrgrsk:
```kcl
sketch001 = startSketchOn(XY)
  |> startProfile(at = [-12, -6])
  |> line(end = [0, 12], tag = $seg04)
  |> line(end = [24, 0], tag = $seg03)
  |> line(end = [0, -12], tag = $seg02)
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg01)
  |> close()
extrude001 = extrude(
       sketch001,
       length = 12,
       tagEnd = $capEnd001,
       tagStart = $capStart001,
     )
  |> fillet(
       radius = 5,
       tags = [
         getCommonEdge(faces = [seg02, capEnd001]),
         getCommonEdge(faces = [seg01, capEnd001]),
         getCommonEdge(faces = [seg03, capEnd001]),
         getCommonEdge(faces = [seg04, capEnd001])
       ],
     )
```
This program fails on main, but succeeds on this branch.
											
										 
											2025-05-22 16:25:55 -05:00
										 |  |  |   115["EdgeCut Fillet<br>[4704, 4937, 0]"] | 
					
						
							| 
									
										
										
										
											2025-05-15 13:37:12 -07:00
										 |  |  |     %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }] | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   1 <--x 6 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   1 --- 10 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   2 <--x 5 | 
					
						
							| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  |   2 --- 9 | 
					
						
							|  |  |  |   3 --- 11 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   4 <--x 7 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   4 --- 13 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   68 x--> 8 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   9 --- 14 | 
					
						
							|  |  |  |   9 --- 17 | 
					
						
							|  |  |  |   9 --- 18 | 
					
						
							|  |  |  |   9 --- 20 | 
					
						
							|  |  |  |   9 --- 22 | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   9 --- 24 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   9 --- 37 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   9 ---- 41 | 
					
						
							| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  |   10 --- 15 | 
					
						
							|  |  |  |   10 --- 16 | 
					
						
							|  |  |  |   10 --- 19 | 
					
						
							|  |  |  |   10 --- 21 | 
					
						
							| 
									
										
										
										
											2025-04-26 21:21:26 -07:00
										 |  |  |   10 --- 23 | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   10 --- 25 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   10 --- 39 | 
					
						
							|  |  |  |   10 ---- 40 | 
					
						
							|  |  |  |   11 --- 26 | 
					
						
							|  |  |  |   11 --- 27 | 
					
						
							|  |  |  |   11 --- 28 | 
					
						
							|  |  |  |   11 --- 29 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   11 --- 36 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   11 ---- 42 | 
					
						
							|  |  |  |   12 --- 30 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   12 --- 38 | 
					
						
							|  |  |  |   12 ---- 45 | 
					
						
							|  |  |  |   68 --- 12 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   13 --- 31 | 
					
						
							|  |  |  |   13 --- 32 | 
					
						
							|  |  |  |   13 --- 33 | 
					
						
							|  |  |  |   13 --- 34 | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   13 --- 35 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   13 ---- 47 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   14 --- 55 | 
					
						
							| 
									
										
										
										
											2025-05-19 14:51:44 -07:00
										 |  |  |   14 x--> 75 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   14 --- 81 | 
					
						
							|  |  |  |   14 --- 100 | 
					
						
							|  |  |  |   15 --- 50 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   15 x--> 69 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   15 --- 76 | 
					
						
							|  |  |  |   15 --- 95 | 
					
						
							|  |  |  |   16 --- 49 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   16 x--> 69 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   16 --- 77 | 
					
						
							|  |  |  |   16 --- 96 | 
					
						
							|  |  |  |   17 --- 56 | 
					
						
							| 
									
										
										
										
											2025-05-19 14:51:44 -07:00
										 |  |  |   17 x--> 75 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   17 --- 82 | 
					
						
							|  |  |  |   17 --- 101 | 
					
						
							|  |  |  |   18 --- 53 | 
					
						
							| 
									
										
										
										
											2025-05-19 14:51:44 -07:00
										 |  |  |   18 x--> 75 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   18 --- 83 | 
					
						
							|  |  |  |   18 --- 102 | 
					
						
							|  |  |  |   19 --- 48 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   19 x--> 69 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   19 --- 78 | 
					
						
							|  |  |  |   19 --- 97 | 
					
						
							|  |  |  |   20 --- 57 | 
					
						
							| 
									
										
										
										
											2025-05-19 14:51:44 -07:00
										 |  |  |   20 x--> 75 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   20 --- 84 | 
					
						
							|  |  |  |   20 --- 103 | 
					
						
							|  |  |  |   21 --- 51 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   21 x--> 69 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   21 --- 79 | 
					
						
							|  |  |  |   21 --- 98 | 
					
						
							|  |  |  |   22 --- 54 | 
					
						
							| 
									
										
										
										
											2025-05-19 14:51:44 -07:00
										 |  |  |   22 x--> 75 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   22 --- 85 | 
					
						
							|  |  |  |   22 --- 104 | 
					
						
							|  |  |  |   23 --- 52 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   23 x--> 69 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   23 --- 80 | 
					
						
							|  |  |  |   23 --- 99 | 
					
						
							|  |  |  |   26 --- 61 | 
					
						
							|  |  |  |   26 x--> 68 | 
					
						
							|  |  |  |   26 --- 86 | 
					
						
							|  |  |  |   26 --- 105 | 
					
						
							|  |  |  |   27 --- 58 | 
					
						
							|  |  |  |   27 x--> 68 | 
					
						
							|  |  |  |   27 --- 87 | 
					
						
							|  |  |  |   27 --- 106 | 
					
						
							|  |  |  |   28 --- 60 | 
					
						
							|  |  |  |   28 x--> 68 | 
					
						
							|  |  |  |   28 --- 88 | 
					
						
							|  |  |  |   28 --- 107 | 
					
						
							|  |  |  |   29 --- 59 | 
					
						
							|  |  |  |   29 x--> 68 | 
					
						
							|  |  |  |   29 --- 89 | 
					
						
							|  |  |  |   29 --- 108 | 
					
						
							|  |  |  |   30 --- 62 | 
					
						
							|  |  |  |   30 x--> 68 | 
					
						
							|  |  |  |   30 --- 90 | 
					
						
							|  |  |  |   30 --- 109 | 
					
						
							|  |  |  |   31 --- 63 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   31 x--> 67 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   31 --- 91 | 
					
						
							|  |  |  |   31 --- 110 | 
					
						
							|  |  |  |   32 --- 66 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   32 x--> 67 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   32 --- 92 | 
					
						
							|  |  |  |   32 --- 111 | 
					
						
							|  |  |  |   33 --- 65 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   33 x--> 67 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   33 --- 93 | 
					
						
							|  |  |  |   33 --- 112 | 
					
						
							|  |  |  |   34 --- 64 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   34 x--> 67 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   34 --- 94 | 
					
						
							|  |  |  |   34 --- 113 | 
					
						
							|  |  |  |   40 --- 48 | 
					
						
							|  |  |  |   40 --- 49 | 
					
						
							|  |  |  |   40 --- 50 | 
					
						
							|  |  |  |   40 --- 51 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   40 --- 52 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   40 --- 69 | 
					
						
							|  |  |  |   40 --- 74 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   40 --- 76 | 
					
						
							|  |  |  |   40 --- 77 | 
					
						
							|  |  |  |   40 --- 78 | 
					
						
							|  |  |  |   40 --- 79 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   40 --- 80 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   40 --- 95 | 
					
						
							|  |  |  |   40 --- 96 | 
					
						
							|  |  |  |   40 --- 97 | 
					
						
							|  |  |  |   40 --- 98 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   40 --- 99 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   41 --- 53 | 
					
						
							|  |  |  |   41 --- 54 | 
					
						
							|  |  |  |   41 --- 55 | 
					
						
							|  |  |  |   41 --- 56 | 
					
						
							|  |  |  |   41 --- 57 | 
					
						
							|  |  |  |   41 --- 70 | 
					
						
							|  |  |  |   41 --- 75 | 
					
						
							|  |  |  |   41 --- 81 | 
					
						
							|  |  |  |   41 --- 82 | 
					
						
							|  |  |  |   41 --- 83 | 
					
						
							|  |  |  |   41 --- 84 | 
					
						
							|  |  |  |   41 --- 85 | 
					
						
							|  |  |  |   41 --- 100 | 
					
						
							|  |  |  |   41 --- 101 | 
					
						
							|  |  |  |   41 --- 102 | 
					
						
							|  |  |  |   41 --- 103 | 
					
						
							|  |  |  |   41 --- 104 | 
					
						
							|  |  |  |   42 --- 58 | 
					
						
							|  |  |  |   42 --- 59 | 
					
						
							|  |  |  |   42 --- 60 | 
					
						
							|  |  |  |   42 --- 61 | 
					
						
							|  |  |  |   42 --- 68 | 
					
						
							|  |  |  |   42 --- 73 | 
					
						
							|  |  |  |   42 --- 86 | 
					
						
							|  |  |  |   42 --- 87 | 
					
						
							|  |  |  |   42 --- 88 | 
					
						
							|  |  |  |   42 --- 89 | 
					
						
							|  |  |  |   42 --- 105 | 
					
						
							|  |  |  |   42 --- 106 | 
					
						
							|  |  |  |   42 --- 107 | 
					
						
							|  |  |  |   42 --- 108 | 
					
						
							|  |  |  |   45 --- 62 | 
					
						
							|  |  |  |   45 --- 71 | 
					
						
							|  |  |  |   45 --- 90 | 
					
						
							|  |  |  |   45 --- 109 | 
					
						
							|  |  |  |   47 --- 63 | 
					
						
							|  |  |  |   47 --- 64 | 
					
						
							|  |  |  |   47 --- 65 | 
					
						
							|  |  |  |   47 --- 66 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   47 --- 67 | 
					
						
							|  |  |  |   47 --- 72 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   47 --- 91 | 
					
						
							|  |  |  |   47 --- 92 | 
					
						
							|  |  |  |   47 --- 93 | 
					
						
							|  |  |  |   47 --- 94 | 
					
						
							|  |  |  |   47 --- 110 | 
					
						
							|  |  |  |   47 --- 111 | 
					
						
							|  |  |  |   47 --- 112 | 
					
						
							|  |  |  |   47 --- 113 | 
					
						
							|  |  |  |   48 --- 78 | 
					
						
							|  |  |  |   96 <--x 48 | 
					
						
							|  |  |  |   48 --- 97 | 
					
						
							|  |  |  |   49 --- 77 | 
					
						
							|  |  |  |   95 <--x 49 | 
					
						
							|  |  |  |   49 --- 96 | 
					
						
							|  |  |  |   50 --- 76 | 
					
						
							|  |  |  |   50 --- 95 | 
					
						
							|  |  |  |   99 <--x 50 | 
					
						
							|  |  |  |   51 --- 79 | 
					
						
							|  |  |  |   97 <--x 51 | 
					
						
							|  |  |  |   51 --- 98 | 
					
						
							|  |  |  |   52 --- 80 | 
					
						
							|  |  |  |   98 <--x 52 | 
					
						
							|  |  |  |   52 --- 99 | 
					
						
							|  |  |  |   53 --- 83 | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   101 <--x 53 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   53 --- 102 | 
					
						
							|  |  |  |   54 --- 85 | 
					
						
							| 
									
										
										
										
											2025-04-29 06:38:52 -07:00
										 |  |  |   103 <--x 54 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   54 --- 104 | 
					
						
							|  |  |  |   55 --- 81 | 
					
						
							|  |  |  |   55 --- 100 | 
					
						
							|  |  |  |   104 <--x 55 | 
					
						
							|  |  |  |   56 --- 82 | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   100 <--x 56 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   56 --- 101 | 
					
						
							|  |  |  |   57 --- 84 | 
					
						
							|  |  |  |   102 <--x 57 | 
					
						
							|  |  |  |   57 --- 103 | 
					
						
							|  |  |  |   58 --- 87 | 
					
						
							|  |  |  |   105 <--x 58 | 
					
						
							|  |  |  |   58 --- 106 | 
					
						
							|  |  |  |   59 --- 89 | 
					
						
							|  |  |  |   107 <--x 59 | 
					
						
							|  |  |  |   59 --- 108 | 
					
						
							|  |  |  |   60 --- 88 | 
					
						
							|  |  |  |   106 <--x 60 | 
					
						
							|  |  |  |   60 --- 107 | 
					
						
							|  |  |  |   61 --- 86 | 
					
						
							|  |  |  |   61 --- 105 | 
					
						
							|  |  |  |   108 <--x 61 | 
					
						
							|  |  |  |   62 --- 90 | 
					
						
							|  |  |  |   62 --- 109 | 
					
						
							|  |  |  |   63 --- 91 | 
					
						
							|  |  |  |   63 --- 110 | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   113 <--x 63 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   64 --- 94 | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   112 <--x 64 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   64 --- 113 | 
					
						
							|  |  |  |   65 --- 93 | 
					
						
							|  |  |  |   111 <--x 65 | 
					
						
							|  |  |  |   65 --- 112 | 
					
						
							|  |  |  |   66 --- 92 | 
					
						
							| 
									
										
										
										
											2025-04-29 19:11:02 -07:00
										 |  |  |   110 <--x 66 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   66 --- 111 | 
					
						
							| 
									
										
										
										
											2025-05-19 14:51:44 -07:00
										 |  |  |   81 <--x 70 | 
					
						
							|  |  |  |   82 <--x 70 | 
					
						
							|  |  |  |   83 <--x 70 | 
					
						
							|  |  |  |   84 <--x 70 | 
					
						
							|  |  |  |   85 <--x 70 | 
					
						
							| 
									
										
										
										
											2025-05-13 21:07:24 -07:00
										 |  |  |   90 <--x 71 | 
					
						
							|  |  |  |   91 <--x 72 | 
					
						
							|  |  |  |   92 <--x 72 | 
					
						
							|  |  |  |   93 <--x 72 | 
					
						
							|  |  |  |   94 <--x 72 | 
					
						
							|  |  |  |   86 <--x 73 | 
					
						
							|  |  |  |   87 <--x 73 | 
					
						
							|  |  |  |   88 <--x 73 | 
					
						
							|  |  |  |   89 <--x 73 | 
					
						
							|  |  |  |   76 <--x 74 | 
					
						
							|  |  |  |   77 <--x 74 | 
					
						
							|  |  |  |   78 <--x 74 | 
					
						
							|  |  |  |   79 <--x 74 | 
					
						
							| 
									
										
										
										
											2025-04-30 00:34:35 -04:00
										 |  |  |   80 <--x 74 | 
					
						
							| 
									
										
											  
											
												Do multiple chamfer/fillet in one API call (#6750)
KCL's `fillet` function takes an array of edges to fillet. Previously this would do `n` fillet API commands, one per edge. This PR combines them all into one call, which should improve performance. You can see the effect in the  artifact_commands snapshots, e.g. `rust/kcl-lib/tests/kcl_samples/axial-fan/artifact_commands.snap` 
Besides performance, this should fix a bug where some KCL fillets would fail, when they should have succeeded. Example from @max-mrgrsk:
```kcl
sketch001 = startSketchOn(XY)
  |> startProfile(at = [-12, -6])
  |> line(end = [0, 12], tag = $seg04)
  |> line(end = [24, 0], tag = $seg03)
  |> line(end = [0, -12], tag = $seg02)
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg01)
  |> close()
extrude001 = extrude(
       sketch001,
       length = 12,
       tagEnd = $capEnd001,
       tagStart = $capStart001,
     )
  |> fillet(
       radius = 5,
       tags = [
         getCommonEdge(faces = [seg02, capEnd001]),
         getCommonEdge(faces = [seg01, capEnd001]),
         getCommonEdge(faces = [seg03, capEnd001]),
         getCommonEdge(faces = [seg04, capEnd001])
       ],
     )
```
This program fails on main, but succeeds on this branch.
											
										 
											2025-05-22 16:25:55 -05:00
										 |  |  |   105 <--x 114 | 
					
						
							|  |  |  |   110 <--x 115 | 
					
						
							| 
									
										
										
										
											2025-03-06 18:01:24 -05:00
										 |  |  | ``` |