Add operations for variable declarations (#7451)
* Add operations for variable declarations * Update output * Change to use OpKclValue * Update output after merge
This commit is contained in:
		@ -3,7 +3,318 @@ source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed multi-axis-robot.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "public/kcl-samples/multi-axis-robot/globals.kcl": [],
 | 
			
		||||
  "public/kcl-samples/multi-axis-robot/globals.kcl": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ4",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 25.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Known",
 | 
			
		||||
          "type": "Angle",
 | 
			
		||||
          "type": "Degrees"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ3",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 60.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Known",
 | 
			
		||||
          "type": "Angle",
 | 
			
		||||
          "type": "Degrees"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ2",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 110.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Known",
 | 
			
		||||
          "type": "Angle",
 | 
			
		||||
          "type": "Degrees"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ1",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 80.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Known",
 | 
			
		||||
          "type": "Angle",
 | 
			
		||||
          "type": "Degrees"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "basePlateRadius",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 5.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "basePlateThickness",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 0.5,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "baseChamfer",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 2.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "baseHeight",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 5.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ2ArmLength",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 31.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ2ArmWidth",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 4.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ2ArmThickness",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 2.5,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ3C",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": -10.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Known",
 | 
			
		||||
          "type": "Angle",
 | 
			
		||||
          "type": "Degrees"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ3CArmLength",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 20.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ3CArmWidth",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 3.75,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "axisJ3CArmThickness",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 2.5,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "public/kcl-samples/multi-axis-robot/main.kcl": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "GroupBegin",
 | 
			
		||||
@ -1447,6 +1758,28 @@ description: Operations executed multi-axis-robot.kcl
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "grabberLength",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 7.0,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Default",
 | 
			
		||||
          "len": {
 | 
			
		||||
            "type": "Inches"
 | 
			
		||||
          },
 | 
			
		||||
          "angle": {
 | 
			
		||||
            "type": "Degrees"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "default",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "StdLibCall",
 | 
			
		||||
      "name": "startSketchOn",
 | 
			
		||||
@ -2135,8 +2468,86 @@ description: Operations executed multi-axis-robot.kcl
 | 
			
		||||
  ],
 | 
			
		||||
  "std::appearance": [],
 | 
			
		||||
  "std::array": [],
 | 
			
		||||
  "std::math": [],
 | 
			
		||||
  "std::prelude": [],
 | 
			
		||||
  "std::math": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "PI",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 3.142,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Unknown"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "E",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 2.718,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Known",
 | 
			
		||||
          "type": "Count"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "TAU",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Number",
 | 
			
		||||
        "value": 6.283,
 | 
			
		||||
        "ty": {
 | 
			
		||||
          "type": "Known",
 | 
			
		||||
          "type": "Count"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "std::prelude": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "START",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "String",
 | 
			
		||||
        "value": "start"
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "type": "VariableDeclaration",
 | 
			
		||||
      "name": "END",
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "String",
 | 
			
		||||
        "value": "end"
 | 
			
		||||
      },
 | 
			
		||||
      "visibility": "export",
 | 
			
		||||
      "nodePath": {
 | 
			
		||||
        "steps": []
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "std::sketch": [],
 | 
			
		||||
  "std::solid": [],
 | 
			
		||||
  "std::sweep": [],
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user