Updating the rail to modern practice (#7180)
* Updating the rail to modern practice * rename 8020 to generic T-slot
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,365 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed 80-20-rail.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Plane",
 | 
			
		||||
        "artifact_id": "[uuid]"
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "name": "subtract2d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tool": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Sketch",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Number",
 | 
			
		||||
          "value": 48.0,
 | 
			
		||||
          "ty": {
 | 
			
		||||
            "type": "Default",
 | 
			
		||||
            "len": {
 | 
			
		||||
              "type": "Inches"
 | 
			
		||||
            },
 | 
			
		||||
            "angle": {
 | 
			
		||||
              "type": "Degrees"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "name": "fillet",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "radius": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Number",
 | 
			
		||||
          "value": 0.06,
 | 
			
		||||
          "ty": {
 | 
			
		||||
            "type": "Default",
 | 
			
		||||
            "len": {
 | 
			
		||||
              "type": "Inches"
 | 
			
		||||
            },
 | 
			
		||||
            "angle": {
 | 
			
		||||
              "type": "Degrees"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      },
 | 
			
		||||
      "tags": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "name": "fillet",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "radius": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Number",
 | 
			
		||||
          "value": 0.03,
 | 
			
		||||
          "ty": {
 | 
			
		||||
            "type": "Default",
 | 
			
		||||
            "len": {
 | 
			
		||||
              "type": "Inches"
 | 
			
		||||
            },
 | 
			
		||||
            "angle": {
 | 
			
		||||
              "type": "Degrees"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      },
 | 
			
		||||
      "tags": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Uuid",
 | 
			
		||||
              "value": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "GroupBegin",
 | 
			
		||||
    "group": {
 | 
			
		||||
      "type": "FunctionCall",
 | 
			
		||||
      "name": "rail8020",
 | 
			
		||||
      "functionSourceRange": [],
 | 
			
		||||
      "unlabeledArg": null,
 | 
			
		||||
      "labeledArgs": {
 | 
			
		||||
        "originStart": {
 | 
			
		||||
          "value": {
 | 
			
		||||
            "type": "Array",
 | 
			
		||||
            "value": [
 | 
			
		||||
              {
 | 
			
		||||
                "type": "Number",
 | 
			
		||||
                "value": 0.0,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Inches"
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "type": "Number",
 | 
			
		||||
                "value": 0.0,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Inches"
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
          "sourceRange": []
 | 
			
		||||
        },
 | 
			
		||||
        "railHeight": {
 | 
			
		||||
          "value": {
 | 
			
		||||
            "type": "Number",
 | 
			
		||||
            "value": 1.5,
 | 
			
		||||
            "ty": {
 | 
			
		||||
              "type": "Default",
 | 
			
		||||
              "len": {
 | 
			
		||||
                "type": "Inches"
 | 
			
		||||
              },
 | 
			
		||||
              "angle": {
 | 
			
		||||
                "type": "Degrees"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "sourceRange": []
 | 
			
		||||
        },
 | 
			
		||||
        "railLength": {
 | 
			
		||||
          "value": {
 | 
			
		||||
            "type": "Number",
 | 
			
		||||
            "value": 48.0,
 | 
			
		||||
            "ty": {
 | 
			
		||||
              "type": "Default",
 | 
			
		||||
              "len": {
 | 
			
		||||
                "type": "Inches"
 | 
			
		||||
              },
 | 
			
		||||
              "angle": {
 | 
			
		||||
                "type": "Degrees"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "sourceRange": []
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "GroupEnd"
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
@ -1,10 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing 80-20-rail.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "rail8020": {
 | 
			
		||||
    "type": "Function",
 | 
			
		||||
    "value": null
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 25 KiB  | 
@ -366,114 +366,114 @@ flowchart LR
 | 
			
		||||
  11 ---- 74
 | 
			
		||||
  26 --- 75
 | 
			
		||||
  26 x--> 108
 | 
			
		||||
  26 --- 138
 | 
			
		||||
  26 --- 170
 | 
			
		||||
  26 --- 131
 | 
			
		||||
  26 --- 163
 | 
			
		||||
  27 --- 76
 | 
			
		||||
  27 x--> 108
 | 
			
		||||
  27 --- 124
 | 
			
		||||
  27 --- 156
 | 
			
		||||
  27 --- 132
 | 
			
		||||
  27 --- 164
 | 
			
		||||
  28 --- 77
 | 
			
		||||
  28 x--> 108
 | 
			
		||||
  28 --- 137
 | 
			
		||||
  28 --- 169
 | 
			
		||||
  28 --- 116
 | 
			
		||||
  28 --- 148
 | 
			
		||||
  29 --- 78
 | 
			
		||||
  29 x--> 108
 | 
			
		||||
  29 --- 133
 | 
			
		||||
  29 --- 165
 | 
			
		||||
  29 --- 134
 | 
			
		||||
  29 --- 166
 | 
			
		||||
  30 --- 79
 | 
			
		||||
  30 x--> 108
 | 
			
		||||
  30 --- 116
 | 
			
		||||
  30 --- 148
 | 
			
		||||
  30 --- 120
 | 
			
		||||
  30 --- 152
 | 
			
		||||
  31 --- 80
 | 
			
		||||
  31 x--> 108
 | 
			
		||||
  31 --- 115
 | 
			
		||||
  31 --- 147
 | 
			
		||||
  31 --- 136
 | 
			
		||||
  31 --- 168
 | 
			
		||||
  32 --- 81
 | 
			
		||||
  32 x--> 108
 | 
			
		||||
  32 --- 118
 | 
			
		||||
  32 --- 150
 | 
			
		||||
  32 --- 123
 | 
			
		||||
  32 --- 155
 | 
			
		||||
  33 --- 82
 | 
			
		||||
  33 x--> 108
 | 
			
		||||
  33 --- 134
 | 
			
		||||
  33 --- 166
 | 
			
		||||
  33 --- 129
 | 
			
		||||
  33 --- 161
 | 
			
		||||
  34 --- 83
 | 
			
		||||
  34 x--> 108
 | 
			
		||||
  34 --- 129
 | 
			
		||||
  34 --- 161
 | 
			
		||||
  34 --- 114
 | 
			
		||||
  34 --- 146
 | 
			
		||||
  35 --- 84
 | 
			
		||||
  35 x--> 108
 | 
			
		||||
  35 --- 127
 | 
			
		||||
  35 --- 159
 | 
			
		||||
  35 --- 117
 | 
			
		||||
  35 --- 149
 | 
			
		||||
  36 --- 85
 | 
			
		||||
  36 x--> 108
 | 
			
		||||
  36 --- 132
 | 
			
		||||
  36 --- 164
 | 
			
		||||
  36 --- 115
 | 
			
		||||
  36 --- 147
 | 
			
		||||
  37 --- 86
 | 
			
		||||
  37 x--> 108
 | 
			
		||||
  37 --- 122
 | 
			
		||||
  37 --- 154
 | 
			
		||||
  37 --- 126
 | 
			
		||||
  37 --- 158
 | 
			
		||||
  38 --- 87
 | 
			
		||||
  38 x--> 108
 | 
			
		||||
  38 --- 123
 | 
			
		||||
  38 --- 155
 | 
			
		||||
  38 --- 130
 | 
			
		||||
  38 --- 162
 | 
			
		||||
  39 --- 88
 | 
			
		||||
  39 x--> 108
 | 
			
		||||
  39 --- 131
 | 
			
		||||
  39 --- 163
 | 
			
		||||
  39 --- 122
 | 
			
		||||
  39 --- 154
 | 
			
		||||
  40 --- 89
 | 
			
		||||
  40 x--> 108
 | 
			
		||||
  40 --- 119
 | 
			
		||||
  40 --- 151
 | 
			
		||||
  40 --- 127
 | 
			
		||||
  40 --- 159
 | 
			
		||||
  41 --- 90
 | 
			
		||||
  41 x--> 108
 | 
			
		||||
  41 --- 130
 | 
			
		||||
  41 --- 162
 | 
			
		||||
  41 --- 125
 | 
			
		||||
  41 --- 157
 | 
			
		||||
  42 --- 91
 | 
			
		||||
  42 x--> 108
 | 
			
		||||
  42 --- 114
 | 
			
		||||
  42 --- 146
 | 
			
		||||
  42 --- 135
 | 
			
		||||
  42 --- 167
 | 
			
		||||
  43 --- 92
 | 
			
		||||
  43 x--> 108
 | 
			
		||||
  43 --- 125
 | 
			
		||||
  43 --- 157
 | 
			
		||||
  43 --- 119
 | 
			
		||||
  43 --- 151
 | 
			
		||||
  44 --- 93
 | 
			
		||||
  44 x--> 108
 | 
			
		||||
  44 --- 121
 | 
			
		||||
  44 --- 153
 | 
			
		||||
  44 --- 118
 | 
			
		||||
  44 --- 150
 | 
			
		||||
  45 --- 94
 | 
			
		||||
  45 x--> 108
 | 
			
		||||
  45 --- 135
 | 
			
		||||
  45 --- 167
 | 
			
		||||
  45 --- 121
 | 
			
		||||
  45 --- 153
 | 
			
		||||
  46 --- 95
 | 
			
		||||
  46 x--> 108
 | 
			
		||||
  46 --- 120
 | 
			
		||||
  46 --- 152
 | 
			
		||||
  46 --- 138
 | 
			
		||||
  46 --- 170
 | 
			
		||||
  47 --- 96
 | 
			
		||||
  47 x--> 108
 | 
			
		||||
  47 --- 126
 | 
			
		||||
  47 --- 158
 | 
			
		||||
  47 --- 128
 | 
			
		||||
  47 --- 160
 | 
			
		||||
  48 --- 97
 | 
			
		||||
  48 x--> 108
 | 
			
		||||
  48 --- 117
 | 
			
		||||
  48 --- 149
 | 
			
		||||
  48 --- 133
 | 
			
		||||
  48 --- 165
 | 
			
		||||
  49 --- 98
 | 
			
		||||
  49 x--> 108
 | 
			
		||||
  49 --- 113
 | 
			
		||||
  49 --- 145
 | 
			
		||||
  49 --- 137
 | 
			
		||||
  49 --- 169
 | 
			
		||||
  50 --- 99
 | 
			
		||||
  50 x--> 108
 | 
			
		||||
  50 --- 136
 | 
			
		||||
  50 --- 168
 | 
			
		||||
  50 --- 139
 | 
			
		||||
  50 --- 171
 | 
			
		||||
  51 --- 100
 | 
			
		||||
  51 x--> 108
 | 
			
		||||
  51 --- 128
 | 
			
		||||
  51 --- 160
 | 
			
		||||
  51 --- 124
 | 
			
		||||
  51 --- 156
 | 
			
		||||
  52 --- 101
 | 
			
		||||
  52 x--> 108
 | 
			
		||||
  52 --- 139
 | 
			
		||||
  52 --- 171
 | 
			
		||||
  52 --- 113
 | 
			
		||||
  52 --- 145
 | 
			
		||||
  61 --- 102
 | 
			
		||||
  61 x--> 109
 | 
			
		||||
  61 x--> 110
 | 
			
		||||
  61 --- 140
 | 
			
		||||
  61 --- 172
 | 
			
		||||
  63 --- 103
 | 
			
		||||
@ -594,87 +594,87 @@ flowchart LR
 | 
			
		||||
  74 --- 174
 | 
			
		||||
  74 --- 175
 | 
			
		||||
  74 --- 176
 | 
			
		||||
  75 --- 138
 | 
			
		||||
  75 --- 170
 | 
			
		||||
  171 <--x 75
 | 
			
		||||
  76 --- 124
 | 
			
		||||
  76 --- 156
 | 
			
		||||
  157 <--x 76
 | 
			
		||||
  77 --- 137
 | 
			
		||||
  77 --- 169
 | 
			
		||||
  170 <--x 77
 | 
			
		||||
  78 --- 133
 | 
			
		||||
  78 --- 165
 | 
			
		||||
  166 <--x 78
 | 
			
		||||
  79 --- 116
 | 
			
		||||
  79 --- 148
 | 
			
		||||
  149 <--x 79
 | 
			
		||||
  80 --- 115
 | 
			
		||||
  80 --- 147
 | 
			
		||||
  148 <--x 80
 | 
			
		||||
  81 --- 118
 | 
			
		||||
  81 --- 150
 | 
			
		||||
  151 <--x 81
 | 
			
		||||
  82 --- 134
 | 
			
		||||
  82 --- 166
 | 
			
		||||
  167 <--x 82
 | 
			
		||||
  83 --- 129
 | 
			
		||||
  83 --- 161
 | 
			
		||||
  162 <--x 83
 | 
			
		||||
  84 --- 127
 | 
			
		||||
  84 --- 159
 | 
			
		||||
  160 <--x 84
 | 
			
		||||
  85 --- 132
 | 
			
		||||
  85 --- 164
 | 
			
		||||
  165 <--x 85
 | 
			
		||||
  86 --- 122
 | 
			
		||||
  86 --- 154
 | 
			
		||||
  155 <--x 86
 | 
			
		||||
  87 --- 123
 | 
			
		||||
  87 --- 155
 | 
			
		||||
  156 <--x 87
 | 
			
		||||
  88 --- 131
 | 
			
		||||
  88 --- 163
 | 
			
		||||
  164 <--x 88
 | 
			
		||||
  89 --- 119
 | 
			
		||||
  89 --- 151
 | 
			
		||||
  152 <--x 89
 | 
			
		||||
  90 --- 130
 | 
			
		||||
  90 --- 162
 | 
			
		||||
  163 <--x 90
 | 
			
		||||
  91 --- 114
 | 
			
		||||
  91 --- 146
 | 
			
		||||
  147 <--x 91
 | 
			
		||||
  92 --- 125
 | 
			
		||||
  92 --- 157
 | 
			
		||||
  158 <--x 92
 | 
			
		||||
  93 --- 121
 | 
			
		||||
  93 --- 153
 | 
			
		||||
  154 <--x 93
 | 
			
		||||
  94 --- 135
 | 
			
		||||
  94 --- 167
 | 
			
		||||
  168 <--x 94
 | 
			
		||||
  95 --- 120
 | 
			
		||||
  95 --- 152
 | 
			
		||||
  153 <--x 95
 | 
			
		||||
  96 --- 126
 | 
			
		||||
  96 --- 158
 | 
			
		||||
  159 <--x 96
 | 
			
		||||
  97 --- 117
 | 
			
		||||
  97 --- 149
 | 
			
		||||
  150 <--x 97
 | 
			
		||||
  98 --- 113
 | 
			
		||||
  98 --- 145
 | 
			
		||||
  146 <--x 98
 | 
			
		||||
  99 --- 136
 | 
			
		||||
  99 --- 168
 | 
			
		||||
  169 <--x 99
 | 
			
		||||
  100 --- 128
 | 
			
		||||
  100 --- 160
 | 
			
		||||
  161 <--x 100
 | 
			
		||||
  101 --- 139
 | 
			
		||||
  145 <--x 101
 | 
			
		||||
  101 --- 171
 | 
			
		||||
  75 --- 131
 | 
			
		||||
  75 --- 163
 | 
			
		||||
  164 <--x 75
 | 
			
		||||
  76 --- 132
 | 
			
		||||
  76 --- 164
 | 
			
		||||
  165 <--x 76
 | 
			
		||||
  77 --- 116
 | 
			
		||||
  77 --- 148
 | 
			
		||||
  149 <--x 77
 | 
			
		||||
  78 --- 134
 | 
			
		||||
  78 --- 166
 | 
			
		||||
  167 <--x 78
 | 
			
		||||
  79 --- 120
 | 
			
		||||
  79 --- 152
 | 
			
		||||
  153 <--x 79
 | 
			
		||||
  80 --- 136
 | 
			
		||||
  80 --- 168
 | 
			
		||||
  169 <--x 80
 | 
			
		||||
  81 --- 123
 | 
			
		||||
  81 --- 155
 | 
			
		||||
  156 <--x 81
 | 
			
		||||
  82 --- 129
 | 
			
		||||
  82 --- 161
 | 
			
		||||
  162 <--x 82
 | 
			
		||||
  83 --- 114
 | 
			
		||||
  83 --- 146
 | 
			
		||||
  147 <--x 83
 | 
			
		||||
  84 --- 117
 | 
			
		||||
  84 --- 149
 | 
			
		||||
  150 <--x 84
 | 
			
		||||
  85 --- 115
 | 
			
		||||
  85 --- 147
 | 
			
		||||
  148 <--x 85
 | 
			
		||||
  86 --- 126
 | 
			
		||||
  86 --- 158
 | 
			
		||||
  159 <--x 86
 | 
			
		||||
  87 --- 130
 | 
			
		||||
  87 --- 162
 | 
			
		||||
  163 <--x 87
 | 
			
		||||
  88 --- 122
 | 
			
		||||
  88 --- 154
 | 
			
		||||
  155 <--x 88
 | 
			
		||||
  89 --- 127
 | 
			
		||||
  89 --- 159
 | 
			
		||||
  160 <--x 89
 | 
			
		||||
  90 --- 125
 | 
			
		||||
  90 --- 157
 | 
			
		||||
  158 <--x 90
 | 
			
		||||
  91 --- 135
 | 
			
		||||
  91 --- 167
 | 
			
		||||
  168 <--x 91
 | 
			
		||||
  92 --- 119
 | 
			
		||||
  92 --- 151
 | 
			
		||||
  152 <--x 92
 | 
			
		||||
  93 --- 118
 | 
			
		||||
  93 --- 150
 | 
			
		||||
  151 <--x 93
 | 
			
		||||
  94 --- 121
 | 
			
		||||
  94 --- 153
 | 
			
		||||
  154 <--x 94
 | 
			
		||||
  95 --- 138
 | 
			
		||||
  95 --- 170
 | 
			
		||||
  171 <--x 95
 | 
			
		||||
  96 --- 128
 | 
			
		||||
  96 --- 160
 | 
			
		||||
  161 <--x 96
 | 
			
		||||
  97 --- 133
 | 
			
		||||
  97 --- 165
 | 
			
		||||
  166 <--x 97
 | 
			
		||||
  98 --- 137
 | 
			
		||||
  98 --- 169
 | 
			
		||||
  170 <--x 98
 | 
			
		||||
  99 --- 139
 | 
			
		||||
  145 <--x 99
 | 
			
		||||
  99 --- 171
 | 
			
		||||
  100 --- 124
 | 
			
		||||
  100 --- 156
 | 
			
		||||
  157 <--x 100
 | 
			
		||||
  101 --- 113
 | 
			
		||||
  101 --- 145
 | 
			
		||||
  146 <--x 101
 | 
			
		||||
  102 --- 140
 | 
			
		||||
  102 --- 172
 | 
			
		||||
  103 --- 144
 | 
			
		||||
@ -689,7 +689,7 @@ flowchart LR
 | 
			
		||||
  106 --- 141
 | 
			
		||||
  106 --- 173
 | 
			
		||||
  174 <--x 106
 | 
			
		||||
  140 <--x 110
 | 
			
		||||
  140 <--x 109
 | 
			
		||||
  141 <--x 111
 | 
			
		||||
  142 <--x 111
 | 
			
		||||
  143 <--x 111
 | 
			
		||||
 | 
			
		||||
@ -111,9 +111,9 @@ flowchart LR
 | 
			
		||||
  8 --- 19
 | 
			
		||||
  8 --- 20
 | 
			
		||||
  8 ---- 25
 | 
			
		||||
  12 --- 32
 | 
			
		||||
  12 <--x 32
 | 
			
		||||
  12 <--x 33
 | 
			
		||||
  12 <--x 34
 | 
			
		||||
  12 --- 34
 | 
			
		||||
  13 --- 31
 | 
			
		||||
  13 x--> 35
 | 
			
		||||
  13 --- 39
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,620 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact commands t-slot-rail.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "edge_lines_visible",
 | 
			
		||||
      "hidden": false
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "object_visible",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "hidden": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "object_visible",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "hidden": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "make_plane",
 | 
			
		||||
      "origin": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      },
 | 
			
		||||
      "x_axis": {
 | 
			
		||||
        "x": 1.0,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      },
 | 
			
		||||
      "y_axis": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 1.0
 | 
			
		||||
      },
 | 
			
		||||
      "size": 60.0,
 | 
			
		||||
      "clobber": false,
 | 
			
		||||
      "hide": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "enable_sketch_mode",
 | 
			
		||||
      "entity_id": "[uuid]",
 | 
			
		||||
      "ortho": false,
 | 
			
		||||
      "animated": false,
 | 
			
		||||
      "adjust_camera": false,
 | 
			
		||||
      "planar_normal": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": -1.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "move_path_pen",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "to": {
 | 
			
		||||
        "x": 12.7,
 | 
			
		||||
        "y": 8.1788,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "sketch_mode_disable"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "start_path"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": -2.032,
 | 
			
		||||
          "y": 0.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "tangential_arc",
 | 
			
		||||
        "radius": 2.2859999999999996,
 | 
			
		||||
        "offset": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": 45.0
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": 4.4125,
 | 
			
		||||
          "y": 2.8702,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "tangential_arc",
 | 
			
		||||
        "radius": 0.254,
 | 
			
		||||
        "offset": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": 135.0
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": 8.382,
 | 
			
		||||
          "y": 2.4366,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "tangential_arc",
 | 
			
		||||
        "radius": 0.254,
 | 
			
		||||
        "offset": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": -90.0
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": 8.636,
 | 
			
		||||
          "y": 0.254,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "tangential_arc",
 | 
			
		||||
        "radius": 0.254,
 | 
			
		||||
        "offset": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": -90.0
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": -0.762,
 | 
			
		||||
          "y": 0.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "arc",
 | 
			
		||||
        "center": {
 | 
			
		||||
          "x": 7.1628,
 | 
			
		||||
          "y": -0.0
 | 
			
		||||
        },
 | 
			
		||||
        "radius": 0.45719999999999994,
 | 
			
		||||
        "start": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "end": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": 180.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": -2.54,
 | 
			
		||||
          "y": 0.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "arc",
 | 
			
		||||
        "center": {
 | 
			
		||||
          "x": 3.7084,
 | 
			
		||||
          "y": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "radius": 0.45719999999999994,
 | 
			
		||||
        "start": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "end": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": 180.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": -0.762,
 | 
			
		||||
          "y": 0.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "tangential_arc_to",
 | 
			
		||||
        "to": {
 | 
			
		||||
          "x": -1.7907,
 | 
			
		||||
          "y": 0.6985,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "angle_snap_increment": null
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "entity_get_all_child_uuids",
 | 
			
		||||
      "entity_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "entity_mirror",
 | 
			
		||||
      "ids": [
 | 
			
		||||
        "[uuid]"
 | 
			
		||||
      ],
 | 
			
		||||
      "axis": {
 | 
			
		||||
        "x": 25.4,
 | 
			
		||||
        "y": 25.4,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      },
 | 
			
		||||
      "point": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "entity_get_all_child_uuids",
 | 
			
		||||
      "entity_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "entity_mirror",
 | 
			
		||||
      "ids": [
 | 
			
		||||
        "[uuid]"
 | 
			
		||||
      ],
 | 
			
		||||
      "axis": {
 | 
			
		||||
        "x": 25.4,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      },
 | 
			
		||||
      "point": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 12.7,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "entity_get_all_child_uuids",
 | 
			
		||||
      "entity_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "entity_mirror",
 | 
			
		||||
      "ids": [
 | 
			
		||||
        "[uuid]"
 | 
			
		||||
      ],
 | 
			
		||||
      "axis": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 25.4,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      },
 | 
			
		||||
      "point": {
 | 
			
		||||
        "x": 12.7,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "close_path",
 | 
			
		||||
      "path_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "object_visible",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "hidden": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid2d_add_hole",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "hole_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "close_path",
 | 
			
		||||
      "path_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "enable_sketch_mode",
 | 
			
		||||
      "entity_id": "[uuid]",
 | 
			
		||||
      "ortho": false,
 | 
			
		||||
      "animated": false,
 | 
			
		||||
      "adjust_camera": false,
 | 
			
		||||
      "planar_normal": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": -1.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "arc",
 | 
			
		||||
        "center": {
 | 
			
		||||
          "x": 19.05,
 | 
			
		||||
          "y": 19.05
 | 
			
		||||
        },
 | 
			
		||||
        "radius": 3.3274,
 | 
			
		||||
        "start": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "end": {
 | 
			
		||||
          "unit": "degrees",
 | 
			
		||||
          "value": 360.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "move_path_pen",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "to": {
 | 
			
		||||
        "x": 22.3774,
 | 
			
		||||
        "y": 19.05,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "sketch_mode_disable"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "start_path"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "set_object_transform",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "transforms": [
 | 
			
		||||
        {
 | 
			
		||||
          "translate": null,
 | 
			
		||||
          "rotate_rpy": null,
 | 
			
		||||
          "rotate_angle_axis": null,
 | 
			
		||||
          "scale": {
 | 
			
		||||
            "property": {
 | 
			
		||||
              "x": 1.5,
 | 
			
		||||
              "y": 1.0,
 | 
			
		||||
              "z": 1.5
 | 
			
		||||
            },
 | 
			
		||||
            "set": false,
 | 
			
		||||
            "is_local": true
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "enable_sketch_mode",
 | 
			
		||||
      "entity_id": "[uuid]",
 | 
			
		||||
      "ortho": false,
 | 
			
		||||
      "animated": false,
 | 
			
		||||
      "adjust_camera": false,
 | 
			
		||||
      "planar_normal": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": -1.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extrude",
 | 
			
		||||
      "target": "[uuid]",
 | 
			
		||||
      "distance": -609.5999999999999,
 | 
			
		||||
      "faces": null,
 | 
			
		||||
      "opposite": "None"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "object_bring_to_front",
 | 
			
		||||
      "object_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "sketch_mode_disable"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_adjacency_info",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_extrusion_face_info",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart 80-20-rail.kcl
 | 
			
		||||
description: Artifact graph flowchart t-slot-rail.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
---
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2437
									
								
								rust/kcl-lib/tests/kcl_samples/t-slot-rail/ast.snap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2437
									
								
								rust/kcl-lib/tests/kcl_samples/t-slot-rail/ast.snap
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										115
									
								
								rust/kcl-lib/tests/kcl_samples/t-slot-rail/ops.snap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								rust/kcl-lib/tests/kcl_samples/t-slot-rail/ops.snap
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,115 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed t-slot-rail.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Plane",
 | 
			
		||||
        "artifact_id": "[uuid]"
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "name": "subtract2d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tool": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Sketch",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Number",
 | 
			
		||||
          "value": -2.0,
 | 
			
		||||
          "ty": {
 | 
			
		||||
            "type": "Known",
 | 
			
		||||
            "type": "Length",
 | 
			
		||||
            "type": "Feet"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "GroupBegin",
 | 
			
		||||
    "group": {
 | 
			
		||||
      "type": "FunctionCall",
 | 
			
		||||
      "name": "railTslot",
 | 
			
		||||
      "functionSourceRange": [],
 | 
			
		||||
      "unlabeledArg": null,
 | 
			
		||||
      "labeledArgs": {
 | 
			
		||||
        "railHeight": {
 | 
			
		||||
          "value": {
 | 
			
		||||
            "type": "Number",
 | 
			
		||||
            "value": 1.5,
 | 
			
		||||
            "ty": {
 | 
			
		||||
              "type": "Default",
 | 
			
		||||
              "len": {
 | 
			
		||||
                "type": "Inches"
 | 
			
		||||
              },
 | 
			
		||||
              "angle": {
 | 
			
		||||
                "type": "Degrees"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "sourceRange": []
 | 
			
		||||
        },
 | 
			
		||||
        "railLength": {
 | 
			
		||||
          "value": {
 | 
			
		||||
            "type": "Number",
 | 
			
		||||
            "value": 2.0,
 | 
			
		||||
            "ty": {
 | 
			
		||||
              "type": "Known",
 | 
			
		||||
              "type": "Length",
 | 
			
		||||
              "type": "Feet"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "sourceRange": []
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": []
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "type": "GroupEnd"
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
@ -0,0 +1,62 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing t-slot-rail.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "arcEnd": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
    "value": 0.0275,
 | 
			
		||||
    "ty": {
 | 
			
		||||
      "type": "Default",
 | 
			
		||||
      "len": {
 | 
			
		||||
        "type": "Inches"
 | 
			
		||||
      },
 | 
			
		||||
      "angle": {
 | 
			
		||||
        "type": "Degrees"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "holeDiameter": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
    "value": 0.262,
 | 
			
		||||
    "ty": {
 | 
			
		||||
      "type": "Default",
 | 
			
		||||
      "len": {
 | 
			
		||||
        "type": "Inches"
 | 
			
		||||
      },
 | 
			
		||||
      "angle": {
 | 
			
		||||
        "type": "Degrees"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "interiorRadius": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
    "value": 0.01,
 | 
			
		||||
    "ty": {
 | 
			
		||||
      "type": "Default",
 | 
			
		||||
      "len": {
 | 
			
		||||
        "type": "Inches"
 | 
			
		||||
      },
 | 
			
		||||
      "angle": {
 | 
			
		||||
        "type": "Degrees"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "railTslot": {
 | 
			
		||||
    "type": "Function",
 | 
			
		||||
    "value": null
 | 
			
		||||
  },
 | 
			
		||||
  "scoreDepth": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
    "value": 0.018,
 | 
			
		||||
    "ty": {
 | 
			
		||||
      "type": "Default",
 | 
			
		||||
      "len": {
 | 
			
		||||
        "type": "Inches"
 | 
			
		||||
      },
 | 
			
		||||
      "angle": {
 | 
			
		||||
        "type": "Degrees"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								rust/kcl-lib/tests/kcl_samples/t-slot-rail/rendered_model.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								rust/kcl-lib/tests/kcl_samples/t-slot-rail/rendered_model.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 33 KiB  | 
		Reference in New Issue
	
	Block a user