Fix mixed units assemblies to work, regardless of project settings (#5818)
* Add mixed units test * Add incorrect output * Change to always set units since old units are not accurate * Update output after fix
This commit is contained in:
		@ -0,0 +1,836 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact commands assembly_mixed_units_cubes.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      0,
 | 
			
		||||
      0,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "edge_lines_visible",
 | 
			
		||||
      "hidden": false
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      0,
 | 
			
		||||
      0,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "set_scene_units",
 | 
			
		||||
      "unit": "mm"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      0,
 | 
			
		||||
      0,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "object_visible",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "hidden": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      0,
 | 
			
		||||
      0,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "object_visible",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "hidden": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      0,
 | 
			
		||||
      33,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "set_scene_units",
 | 
			
		||||
      "unit": "in"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      0,
 | 
			
		||||
      33,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "set_scene_units",
 | 
			
		||||
      "unit": "in"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      47,
 | 
			
		||||
      66,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "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": 1.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      },
 | 
			
		||||
      "size": 60.0,
 | 
			
		||||
      "clobber": false,
 | 
			
		||||
      "hide": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      76,
 | 
			
		||||
      113,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "enable_sketch_mode",
 | 
			
		||||
      "entity_id": "[uuid]",
 | 
			
		||||
      "ortho": false,
 | 
			
		||||
      "animated": false,
 | 
			
		||||
      "adjust_camera": false,
 | 
			
		||||
      "planar_normal": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 1.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      76,
 | 
			
		||||
      113,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "start_path"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      76,
 | 
			
		||||
      113,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "move_path_pen",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "to": {
 | 
			
		||||
        "x": -10.0,
 | 
			
		||||
        "y": -10.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      76,
 | 
			
		||||
      113,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "sketch_mode_disable"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      119,
 | 
			
		||||
      136,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": 5.0,
 | 
			
		||||
          "y": 0.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      142,
 | 
			
		||||
      160,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": 0.0,
 | 
			
		||||
          "y": -5.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      166,
 | 
			
		||||
      184,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": -5.0,
 | 
			
		||||
          "y": 0.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      190,
 | 
			
		||||
      246,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": -10.0,
 | 
			
		||||
          "y": -10.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      252,
 | 
			
		||||
      259,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "close_path",
 | 
			
		||||
      "path_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "enable_sketch_mode",
 | 
			
		||||
      "entity_id": "[uuid]",
 | 
			
		||||
      "ortho": false,
 | 
			
		||||
      "animated": false,
 | 
			
		||||
      "adjust_camera": false,
 | 
			
		||||
      "planar_normal": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 1.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extrude",
 | 
			
		||||
      "target": "[uuid]",
 | 
			
		||||
      "distance": 5.0,
 | 
			
		||||
      "faces": null
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "sketch_mode_disable"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "object_bring_to_front",
 | 
			
		||||
      "object_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_extrusion_face_info",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_opposite_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_next_adjacent_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_opposite_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_next_adjacent_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_opposite_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_next_adjacent_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_opposite_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_next_adjacent_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      0,
 | 
			
		||||
      33,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "set_scene_units",
 | 
			
		||||
      "unit": "mm"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      47,
 | 
			
		||||
      66,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "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": 1.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      },
 | 
			
		||||
      "size": 60.0,
 | 
			
		||||
      "clobber": false,
 | 
			
		||||
      "hide": true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      76,
 | 
			
		||||
      111,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "enable_sketch_mode",
 | 
			
		||||
      "entity_id": "[uuid]",
 | 
			
		||||
      "ortho": false,
 | 
			
		||||
      "animated": false,
 | 
			
		||||
      "adjust_camera": false,
 | 
			
		||||
      "planar_normal": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 1.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      76,
 | 
			
		||||
      111,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "start_path"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      76,
 | 
			
		||||
      111,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "move_path_pen",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "to": {
 | 
			
		||||
        "x": 10.0,
 | 
			
		||||
        "y": 10.0,
 | 
			
		||||
        "z": 0.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      76,
 | 
			
		||||
      111,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "sketch_mode_disable"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      117,
 | 
			
		||||
      134,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": 5.0,
 | 
			
		||||
          "y": 0.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      140,
 | 
			
		||||
      158,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": 0.0,
 | 
			
		||||
          "y": -5.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      164,
 | 
			
		||||
      182,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": -5.0,
 | 
			
		||||
          "y": 0.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      188,
 | 
			
		||||
      244,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extend_path",
 | 
			
		||||
      "path": "[uuid]",
 | 
			
		||||
      "segment": {
 | 
			
		||||
        "type": "line",
 | 
			
		||||
        "end": {
 | 
			
		||||
          "x": 10.0,
 | 
			
		||||
          "y": 10.0,
 | 
			
		||||
          "z": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "relative": false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      250,
 | 
			
		||||
      257,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "close_path",
 | 
			
		||||
      "path_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "enable_sketch_mode",
 | 
			
		||||
      "entity_id": "[uuid]",
 | 
			
		||||
      "ortho": false,
 | 
			
		||||
      "animated": false,
 | 
			
		||||
      "adjust_camera": false,
 | 
			
		||||
      "planar_normal": {
 | 
			
		||||
        "x": 0.0,
 | 
			
		||||
        "y": 0.0,
 | 
			
		||||
        "z": 1.0
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "extrude",
 | 
			
		||||
      "target": "[uuid]",
 | 
			
		||||
      "distance": 5.0,
 | 
			
		||||
      "faces": null
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "sketch_mode_disable"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "object_bring_to_front",
 | 
			
		||||
      "object_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_extrusion_face_info",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_opposite_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_next_adjacent_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_opposite_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_next_adjacent_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_opposite_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_next_adjacent_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_opposite_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "solid3d_get_next_adjacent_edge",
 | 
			
		||||
      "object_id": "[uuid]",
 | 
			
		||||
      "edge_id": "[uuid]",
 | 
			
		||||
      "face_id": "[uuid]"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      0,
 | 
			
		||||
      0,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
      "type": "set_scene_units",
 | 
			
		||||
      "unit": "in"
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
@ -0,0 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart assembly_mixed_units_cubes.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
---
 | 
			
		||||
@ -0,0 +1,121 @@
 | 
			
		||||
```mermaid
 | 
			
		||||
flowchart LR
 | 
			
		||||
  subgraph path2 [Path]
 | 
			
		||||
    2["Path<br>[76, 113, 3]"]
 | 
			
		||||
    3["Segment<br>[119, 136, 3]"]
 | 
			
		||||
    4["Segment<br>[142, 160, 3]"]
 | 
			
		||||
    5["Segment<br>[166, 184, 3]"]
 | 
			
		||||
    6["Segment<br>[190, 246, 3]"]
 | 
			
		||||
    7["Segment<br>[252, 259, 3]"]
 | 
			
		||||
    8[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path25 [Path]
 | 
			
		||||
    25["Path<br>[76, 111, 4]"]
 | 
			
		||||
    26["Segment<br>[117, 134, 4]"]
 | 
			
		||||
    27["Segment<br>[140, 158, 4]"]
 | 
			
		||||
    28["Segment<br>[164, 182, 4]"]
 | 
			
		||||
    29["Segment<br>[188, 244, 4]"]
 | 
			
		||||
    30["Segment<br>[250, 257, 4]"]
 | 
			
		||||
    31[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  1["Plane<br>[47, 66, 3]"]
 | 
			
		||||
  9["Sweep Extrusion<br>[265, 287, 3]"]
 | 
			
		||||
  10[Wall]
 | 
			
		||||
  11[Wall]
 | 
			
		||||
  12[Wall]
 | 
			
		||||
  13[Wall]
 | 
			
		||||
  14["Cap Start"]
 | 
			
		||||
  15["Cap End"]
 | 
			
		||||
  16["SweepEdge Opposite"]
 | 
			
		||||
  17["SweepEdge Adjacent"]
 | 
			
		||||
  18["SweepEdge Opposite"]
 | 
			
		||||
  19["SweepEdge Adjacent"]
 | 
			
		||||
  20["SweepEdge Opposite"]
 | 
			
		||||
  21["SweepEdge Adjacent"]
 | 
			
		||||
  22["SweepEdge Opposite"]
 | 
			
		||||
  23["SweepEdge Adjacent"]
 | 
			
		||||
  24["Plane<br>[47, 66, 4]"]
 | 
			
		||||
  32["Sweep Extrusion<br>[263, 285, 4]"]
 | 
			
		||||
  33[Wall]
 | 
			
		||||
  34[Wall]
 | 
			
		||||
  35[Wall]
 | 
			
		||||
  36[Wall]
 | 
			
		||||
  37["Cap Start"]
 | 
			
		||||
  38["Cap End"]
 | 
			
		||||
  39["SweepEdge Opposite"]
 | 
			
		||||
  40["SweepEdge Adjacent"]
 | 
			
		||||
  41["SweepEdge Opposite"]
 | 
			
		||||
  42["SweepEdge Adjacent"]
 | 
			
		||||
  43["SweepEdge Opposite"]
 | 
			
		||||
  44["SweepEdge Adjacent"]
 | 
			
		||||
  45["SweepEdge Opposite"]
 | 
			
		||||
  46["SweepEdge Adjacent"]
 | 
			
		||||
  1 --- 2
 | 
			
		||||
  2 --- 3
 | 
			
		||||
  2 --- 4
 | 
			
		||||
  2 --- 5
 | 
			
		||||
  2 --- 6
 | 
			
		||||
  2 --- 7
 | 
			
		||||
  2 ---- 9
 | 
			
		||||
  2 --- 8
 | 
			
		||||
  3 --- 13
 | 
			
		||||
  3 --- 22
 | 
			
		||||
  3 --- 23
 | 
			
		||||
  4 --- 12
 | 
			
		||||
  4 --- 20
 | 
			
		||||
  4 --- 21
 | 
			
		||||
  5 --- 11
 | 
			
		||||
  5 --- 18
 | 
			
		||||
  5 --- 19
 | 
			
		||||
  6 --- 10
 | 
			
		||||
  6 --- 16
 | 
			
		||||
  6 --- 17
 | 
			
		||||
  9 --- 10
 | 
			
		||||
  9 --- 11
 | 
			
		||||
  9 --- 12
 | 
			
		||||
  9 --- 13
 | 
			
		||||
  9 --- 14
 | 
			
		||||
  9 --- 15
 | 
			
		||||
  9 --- 16
 | 
			
		||||
  9 --- 17
 | 
			
		||||
  9 --- 18
 | 
			
		||||
  9 --- 19
 | 
			
		||||
  9 --- 20
 | 
			
		||||
  9 --- 21
 | 
			
		||||
  9 --- 22
 | 
			
		||||
  9 --- 23
 | 
			
		||||
  24 --- 25
 | 
			
		||||
  25 --- 26
 | 
			
		||||
  25 --- 27
 | 
			
		||||
  25 --- 28
 | 
			
		||||
  25 --- 29
 | 
			
		||||
  25 --- 30
 | 
			
		||||
  25 ---- 32
 | 
			
		||||
  25 --- 31
 | 
			
		||||
  26 --- 36
 | 
			
		||||
  26 --- 45
 | 
			
		||||
  26 --- 46
 | 
			
		||||
  27 --- 35
 | 
			
		||||
  27 --- 43
 | 
			
		||||
  27 --- 44
 | 
			
		||||
  28 --- 34
 | 
			
		||||
  28 --- 41
 | 
			
		||||
  28 --- 42
 | 
			
		||||
  29 --- 33
 | 
			
		||||
  29 --- 39
 | 
			
		||||
  29 --- 40
 | 
			
		||||
  32 --- 33
 | 
			
		||||
  32 --- 34
 | 
			
		||||
  32 --- 35
 | 
			
		||||
  32 --- 36
 | 
			
		||||
  32 --- 37
 | 
			
		||||
  32 --- 38
 | 
			
		||||
  32 --- 39
 | 
			
		||||
  32 --- 40
 | 
			
		||||
  32 --- 41
 | 
			
		||||
  32 --- 42
 | 
			
		||||
  32 --- 43
 | 
			
		||||
  32 --- 44
 | 
			
		||||
  32 --- 45
 | 
			
		||||
  32 --- 46
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										133
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/ast.snap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/ast.snap
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,133 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Result of parsing assembly_mixed_units_cubes.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "Ok": {
 | 
			
		||||
    "body": [
 | 
			
		||||
      {
 | 
			
		||||
        "end": 70,
 | 
			
		||||
        "path": {
 | 
			
		||||
          "type": "Kcl",
 | 
			
		||||
          "filename": "cube-inches.kcl"
 | 
			
		||||
        },
 | 
			
		||||
        "selector": {
 | 
			
		||||
          "type": "None",
 | 
			
		||||
          "alias": {
 | 
			
		||||
            "end": 70,
 | 
			
		||||
            "name": "cubeIn",
 | 
			
		||||
            "start": 64,
 | 
			
		||||
            "type": "Identifier"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "start": 36,
 | 
			
		||||
        "type": "ImportStatement",
 | 
			
		||||
        "type": "ImportStatement"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "end": 101,
 | 
			
		||||
        "path": {
 | 
			
		||||
          "type": "Kcl",
 | 
			
		||||
          "filename": "cube-mm.kcl"
 | 
			
		||||
        },
 | 
			
		||||
        "selector": {
 | 
			
		||||
          "type": "None",
 | 
			
		||||
          "alias": {
 | 
			
		||||
            "end": 101,
 | 
			
		||||
            "name": "cubeMm",
 | 
			
		||||
            "start": 95,
 | 
			
		||||
            "type": "Identifier"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "start": 71,
 | 
			
		||||
        "type": "ImportStatement",
 | 
			
		||||
        "type": "ImportStatement"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "end": 109,
 | 
			
		||||
        "expression": {
 | 
			
		||||
          "end": 109,
 | 
			
		||||
          "name": "cubeIn",
 | 
			
		||||
          "start": 103,
 | 
			
		||||
          "type": "Identifier",
 | 
			
		||||
          "type": "Identifier"
 | 
			
		||||
        },
 | 
			
		||||
        "start": 103,
 | 
			
		||||
        "type": "ExpressionStatement",
 | 
			
		||||
        "type": "ExpressionStatement"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "end": 116,
 | 
			
		||||
        "expression": {
 | 
			
		||||
          "end": 116,
 | 
			
		||||
          "name": "cubeMm",
 | 
			
		||||
          "start": 110,
 | 
			
		||||
          "type": "Identifier",
 | 
			
		||||
          "type": "Identifier"
 | 
			
		||||
        },
 | 
			
		||||
        "start": 110,
 | 
			
		||||
        "type": "ExpressionStatement",
 | 
			
		||||
        "type": "ExpressionStatement"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "end": 117,
 | 
			
		||||
    "innerAttrs": [
 | 
			
		||||
      {
 | 
			
		||||
        "end": 33,
 | 
			
		||||
        "name": {
 | 
			
		||||
          "end": 9,
 | 
			
		||||
          "name": "settings",
 | 
			
		||||
          "start": 1,
 | 
			
		||||
          "type": "Identifier"
 | 
			
		||||
        },
 | 
			
		||||
        "properties": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 32,
 | 
			
		||||
            "key": {
 | 
			
		||||
              "end": 27,
 | 
			
		||||
              "name": "defaultLengthUnit",
 | 
			
		||||
              "start": 10,
 | 
			
		||||
              "type": "Identifier"
 | 
			
		||||
            },
 | 
			
		||||
            "start": 10,
 | 
			
		||||
            "type": "ObjectProperty",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "end": 32,
 | 
			
		||||
              "name": "in",
 | 
			
		||||
              "start": 30,
 | 
			
		||||
              "type": "Identifier",
 | 
			
		||||
              "type": "Identifier"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "start": 0,
 | 
			
		||||
        "type": "Annotation"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "nonCodeMeta": {
 | 
			
		||||
      "nonCodeNodes": {
 | 
			
		||||
        "1": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 103,
 | 
			
		||||
            "start": 101,
 | 
			
		||||
            "type": "NonCodeNode",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "type": "newLine"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "startNodes": [
 | 
			
		||||
        {
 | 
			
		||||
          "end": 36,
 | 
			
		||||
          "start": 33,
 | 
			
		||||
          "type": "NonCodeNode",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "type": "newLine"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "start": 0
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,10 @@
 | 
			
		||||
@settings(defaultLengthUnit = in)
 | 
			
		||||
 | 
			
		||||
sketch001 = startSketchOn('XY')
 | 
			
		||||
cubeIn = startProfileAt([-10, -10], sketch001)
 | 
			
		||||
  |> xLine(length = 5)
 | 
			
		||||
  |> yLine(length = -5)
 | 
			
		||||
  |> xLine(length = -5)
 | 
			
		||||
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
 | 
			
		||||
  |> close()
 | 
			
		||||
  |> extrude(%, length = 5)
 | 
			
		||||
							
								
								
									
										10
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/cube-mm.kcl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/cube-mm.kcl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
@settings(defaultLengthUnit = mm)
 | 
			
		||||
 | 
			
		||||
sketch001 = startSketchOn('XY')
 | 
			
		||||
cubeMm = startProfileAt([10, 10], sketch001)
 | 
			
		||||
  |> xLine(length = 5)
 | 
			
		||||
  |> yLine(length = -5)
 | 
			
		||||
  |> xLine(length = -5)
 | 
			
		||||
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
 | 
			
		||||
  |> close()
 | 
			
		||||
  |> extrude(%, length = 5)
 | 
			
		||||
							
								
								
									
										8
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/input.kcl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/input.kcl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
@settings(defaultLengthUnit = in)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import "cube-inches.kcl" as cubeIn
 | 
			
		||||
import "cube-mm.kcl" as cubeMm
 | 
			
		||||
 | 
			
		||||
cubeIn
 | 
			
		||||
cubeMm
 | 
			
		||||
							
								
								
									
										140
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/ops.snap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/ops.snap
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,140 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed assembly_mixed_units_cubes.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "String",
 | 
			
		||||
          "value": "XY"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          61,
 | 
			
		||||
          65,
 | 
			
		||||
          3
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      47,
 | 
			
		||||
      66,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Number",
 | 
			
		||||
          "value": 5.0,
 | 
			
		||||
          "ty": {
 | 
			
		||||
            "type": "Default",
 | 
			
		||||
            "len": {
 | 
			
		||||
              "type": "Inches"
 | 
			
		||||
            },
 | 
			
		||||
            "angle": {
 | 
			
		||||
              "type": "Degrees"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          285,
 | 
			
		||||
          286,
 | 
			
		||||
          3
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      265,
 | 
			
		||||
      287,
 | 
			
		||||
      3
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": [
 | 
			
		||||
        273,
 | 
			
		||||
        274,
 | 
			
		||||
        3
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "String",
 | 
			
		||||
          "value": "XY"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          61,
 | 
			
		||||
          65,
 | 
			
		||||
          4
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      47,
 | 
			
		||||
      66,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Number",
 | 
			
		||||
          "value": 5.0,
 | 
			
		||||
          "ty": {
 | 
			
		||||
            "type": "Default",
 | 
			
		||||
            "len": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            },
 | 
			
		||||
            "angle": {
 | 
			
		||||
              "type": "Degrees"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          283,
 | 
			
		||||
          284,
 | 
			
		||||
          4
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      263,
 | 
			
		||||
      285,
 | 
			
		||||
      4
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": [
 | 
			
		||||
        271,
 | 
			
		||||
        272,
 | 
			
		||||
        4
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
@ -0,0 +1,14 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing assembly_mixed_units_cubes.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "cubeIn": {
 | 
			
		||||
    "type": "Module",
 | 
			
		||||
    "value": 3
 | 
			
		||||
  },
 | 
			
		||||
  "cubeMm": {
 | 
			
		||||
    "type": "Module",
 | 
			
		||||
    "value": 4
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/rendered_model.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								rust/kcl-lib/tests/assembly_mixed_units_cubes/rendered_model.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 35 KiB  | 
		Reference in New Issue
	
	Block a user