{
  "Version": 5,
  "ProjectGuid": "78564483-913d-4394-ad1f-4af6ae1048db-5fa5f6e7-a7f5-460c-a765-eb72a6207803",
  "IsGlobalProjectSettings": false,
  "IsVerticalLayout": true,
  "IsFirstInit": false,
  "Root": {
    "Name": "General",
    "Caption": "General",
    "Fields": [],
    "SubGroups": [
      {
        "Name": "ProgrammingSettings",
        "Caption": "ProgrammingSettings",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "MotionPlannerRequestTimeoutMs",
            "Caption": "MotionPlannerRequestTimeoutMs",
            "Value": 20000,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[Assets.Application.Backend.Model.Project.Settings.ProjectSettings_v2+StackTraysStrategyBy, MachineTendingModel]], MachineTendingModel",
            "Name": "SelectedInteractionStackTraysStrategyEnum",
            "Caption": "SelectedInteractionStackTraysStrategyEnum",
            "Value": 0,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "PlacePartToSamePlacementOnProcessTrayMode",
            "Caption": "PlacePartToSamePlacementOnProcessTrayMode",
            "Value": false,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
            "Name": "AvoidCollisionsCalculationTimeOutMs",
            "Caption": "AvoidCollisionsCalculationTimeOutMs",
            "Value": 15000.0,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
            "Name": "AvoidCollisionsSafeDistance",
            "Caption": "AvoidCollisionsSafeDistance",
            "Value": 0.0,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "ProgrammInterpretationTimeOutMs",
            "Caption": "ProgrammInterpretationTimeOutMs",
            "Value": 1500,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "ProgrammCalculationTimeOutMs",
            "Caption": "ProgrammCalculationTimeOutMs",
            "Value": 15000,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "InverseKinematicsSolutionValidation",
            "Caption": "InverseKinematicsSolutionValidation",
            "Value": true,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[MachineCore.Solver.InverseKinematics.IKFlipSelectionMode, MachineCore]], MachineTendingModel",
            "Name": "SelectedFlipSelectionMode",
            "Caption": "SelectedFlipSelectionMode",
            "Value": 0,
            "IsOverridden": true,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "CacheCalculatedIKSolutions",
            "Caption": "CacheCalculatedIKSolutions",
            "Value": true,
            "IsOverridden": false,
            "IsReadOnly": false
          }
        ],
        "SubGroups": []
      },
      {
        "Name": "RobotControllerSettings",
        "Caption": "RobotControllerSettings",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Collections.Generic.List`1[[Assets.Application.Backend.Model.Project.Settings.RobotControllerSettingsData, MachineTendingModel]], mscorlib]], MachineTendingModel",
            "Name": "RobotsSettings",
            "Caption": "RobotsSettings",
            "Value": [
              {
                "Caption": "UR12e",
                "MechanismGuid": "dbf56b30-22ee-474c-9967-04d3b6fc5d65",
                "IsConnectionEnabled": true,
                "SelectedRobotDriver": 10,
                "RobotIPAddress": "172.17.15.43",
                "IsRobotControllerExtendedLog": false,
                "LegacyAPI": false,
                "KUKA_BATCH_SIZE": 999,
                "UR_DashboardPort": 29999,
                "UR_SecondaryPort": 30002,
                "Kawasaki_Port": 23,
                "Kawasaki_RobotModel": "",
                "ABB_MechUnit": "ROB_1",
                "ABB_RapidTask": "T_ROB1",
                "ABB_RapidModule": "RobCtrl",
                "ABB_Username": "Default User",
                "ABB_Password": "robotics",
                "MAIN_PROGRAM_NAME": "DAEMON_PROC",
                "CONTROL_REGISTER_1": 410,
                "CONTROL_REGISTER_2": 420,
                "CONTROL_REGISTER_1_VALUE": 1,
                "CONTROL_REGISTER_1_LINEARMODE_VALUE": 2,
                "CONTROL_REGISTER_2_VALUE": 1,
                "MOVE_J_POSITION_REG": 289,
                "MOVE_J_LINEAR_POSITION_REG": 289,
                "MOVE_J_BATCH_START_POSITIONREGISTER": 281,
                "MAX_MOVE_J_BATCH_REGISTERS_COUNT": 9,
                "PR_REGISTERS_START": 281,
                "PR_REGISTERS_END": 290,
                "SET_NUM_START": 200,
                "SET_NUM_END": 499,
                "SET_NUM_REAL_START": 300,
                "SET_NUM_REAL_END": 399,
                "DIGITAL_OUT_START": 317,
                "PR_START_ADDRESS": 291,
                "AXES_MOVE_SPEED_REGISTER": 450,
                "AXES_MOVE_SPEED_VALUE": 100,
                "MOVE_ACCURACY_REGISTER": 255,
                "MOVE_ACCURACY_VALUE": 100,
                "YaskawaHSES_Port": 10040,
                "YaskawaHSES_PulsePerDegreeJoint1": 1435.352,
                "YaskawaHSES_PulsePerDegreeJoint2": 1300.322,
                "YaskawaHSES_PulsePerDegreeJoint3": 1422.225,
                "YaskawaHSES_PulsePerDegreeJoint4": 969.96,
                "YaskawaHSES_PulsePerDegreeJoint5": 980.24,
                "YaskawaHSES_PulsePerDegreeJoint6": 454.756,
                "YaskawaHSES_PulsePerDegreeJoint7": 0.0,
                "YaskawaHSES_PulsePerDegreeJoint8": 0.0,
                "UserParameters": [],
                "WaypointCountBatchTrajectoryExecution": 10,
                "TimeoutConnectToRobotMs": 10000,
                "BatchTrajectorySendTimeOut": 10000,
                "RobotClientAppFileName": {
                  "FileName": "..\\RobotController\\RobotController.exe",
                  "Extension": "exe"
                },
                "RunRobotControllerAsExternalProcess": true,
                "IsAutoStartRobotController": true,
                "CloseRobotControllerOnDisconnect": true,
                "ReconnectIfConnectionLostOnMoveRobot": false,
                "OptimizedPositionTracking": true,
                "ControllerLinearInterpolation": true
              }
            ],
            "IsOverridden": true,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "multipleMode_migrated",
            "Caption": "multipleMode_migrated",
            "Value": true,
            "IsOverridden": true,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[RobotControllerLib.RobotDriver, RobotControllerLib]], MachineTendingModel",
            "Name": "SelectedRobotDriver_v3",
            "Caption": "SelectedRobotDriver_v3",
            "Value": 4,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "RobotIPAddress",
            "Caption": "RobotIPAddress",
            "Value": "127.0.0.1",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "IsRobotControllerExtendedLog",
            "Caption": "IsRobotControllerExtendedLog",
            "Value": false,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "LegacyAPI",
            "Caption": "LegacyAPI",
            "Value": false,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "KukaBatchSize",
            "Caption": "KukaBatchSize",
            "Value": 999,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "UR_DashboardPort",
            "Caption": "UR_DashboardPort",
            "Value": 29999,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "UR_SecondaryPort",
            "Caption": "UR_SecondaryPort",
            "Value": 30002,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "Kawasaki_Port",
            "Caption": "Kawasaki_Port",
            "Value": 23,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "Kawasaki_RobotModel",
            "Caption": "Kawasaki_RobotModel",
            "Value": "",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "ABB_MechUnit",
            "Caption": "ABB_MechUnit",
            "Value": "ROB_1",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "ABB_RapidTask",
            "Caption": "ABB_RapidTask",
            "Value": "T_ROB1",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "ABB_RapidModule",
            "Caption": "ABB_RapidModule",
            "Value": "RobCtrl",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "ABB_Username",
            "Caption": "ABB_Username",
            "Value": "Default User",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "ABB_Password",
            "Caption": "ABB_Password",
            "Value": "robotics",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "WaypointCountBatchTrajectoryExecution",
            "Caption": "WaypointCountBatchTrajectoryExecution",
            "Value": 10,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "TimeoutConnectToRobotMs",
            "Caption": "TimeoutConnectToRobotMs",
            "Value": 10000,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "BatchTrajectorySendTimeOut",
            "Caption": "BatchTrajectorySendTimeOut",
            "Value": 10000,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[Assets.Application.Backend.Model.Project.Settings.FileNameData, MachineTendingModel]], MachineTendingModel",
            "Name": "RobotClientAppPath",
            "Caption": "RobotClientAppPath",
            "Value": {
              "FileName": "..\\RobotController\\RobotController.exe",
              "Extension": "exe"
            },
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "RunRobotControllerAsExternalProcess",
            "Caption": "RunRobotControllerAsExternalProcess",
            "Value": true,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "IsAutoStartRobotController",
            "Caption": "IsAutoStartRobotController",
            "Value": true,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "CloseRobotControllerOnDisconnect",
            "Caption": "CloseRobotControllerOnDisconnect",
            "Value": true,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "ReconnectIfConnectionLostOnMoveRobot",
            "Caption": "ReconnectIfConnectionLostOnMoveRobot",
            "Value": false,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "OptimizedPositionTracking",
            "Caption": "OptimizedPositionTracking",
            "Value": true,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "ControllerLinearInterpolation",
            "Caption": "ControllerLinearInterpolation",
            "Value": true,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "MAIN_PROGRAM_NAME",
            "Caption": "MAIN_PROGRAM_NAME",
            "Value": "DAEMON_PROC",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "CONTROL_REGISTER_1",
            "Caption": "CONTROL_REGISTER_1",
            "Value": 410,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "CONTROL_REGISTER_2",
            "Caption": "CONTROL_REGISTER_2",
            "Value": 420,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "CONTROL_REGISTER_1_VALUE",
            "Caption": "CONTROL_REGISTER_1_VALUE",
            "Value": 1,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "CONTROL_REGISTER_1_LINEARMODE_VALUE",
            "Caption": "CONTROL_REGISTER_1_LINEARMODE_VALUE",
            "Value": 2,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "CONTROL_REGISTER_2_VALUE",
            "Caption": "CONTROL_REGISTER_2_VALUE",
            "Value": 1,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "MOVE_J_POSITION_REG",
            "Caption": "MOVE_J_POSITION_REG",
            "Value": 289,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "MOVE_J_LINEAR_POSITION_REG",
            "Caption": "MOVE_J_LINEAR_POSITION_REG",
            "Value": 289,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "MOVE_J_BATCH_START_POSITIONREGISTER",
            "Caption": "MOVE_J_BATCH_START_POSITIONREGISTER",
            "Value": 281,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "MAX_MOVE_J_BATCH_REGISTERS_COUNT",
            "Caption": "MAX_MOVE_J_BATCH_REGISTERS_COUNT",
            "Value": 9,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "PR_REGISTERS_START",
            "Caption": "PR_REGISTERS_START",
            "Value": 281,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "PR_REGISTERS_END",
            "Caption": "PR_REGISTERS_END",
            "Value": 290,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "SET_NUM_START",
            "Caption": "SET_NUM_START",
            "Value": 200,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "SET_NUM_END",
            "Caption": "SET_NUM_END",
            "Value": 499,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "SET_NUM_REAL_START",
            "Caption": "SET_NUM_REAL_START",
            "Value": 300,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "SET_NUM_REAL_LENGTH",
            "Caption": "SET_NUM_REAL_LENGTH",
            "Value": 399,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "DIGITAL_OUT_START",
            "Caption": "DIGITAL_OUT_START",
            "Value": 317,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "PR_START_ADDRESS",
            "Caption": "PR_START_ADDRESS",
            "Value": 291,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "AXES_MOVE_SPEED_REGISTER",
            "Caption": "AXES_MOVE_SPEED_REGISTER",
            "Value": 450,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "AXES_MOVE_SPEED_VALUE",
            "Caption": "AXES_MOVE_SPEED_VALUE",
            "Value": 100,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "MOVE_ACCURACY_REGISTER",
            "Caption": "MOVE_ACCURACY_REGISTER",
            "Value": 255,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "MOVE_ACCURACY_VALUE",
            "Caption": "MOVE_ACCURACY_VALUE",
            "Value": 100,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Collections.Generic.List`1[[RobotControllerLib.DTO.UserParameterDTO, RobotControllerLib]], mscorlib]], MachineTendingModel",
            "Name": "UserParameters",
            "Caption": "UserParameters",
            "Value": [],
            "IsOverridden": false,
            "IsReadOnly": false
          }
        ],
        "SubGroups": []
      },
      {
        "Name": "ExtensionsSettings",
        "Caption": "ExtensionsSettings",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[Assets.Application.Backend.Model.Project.Settings.FileNameData, MachineTendingModel]], MachineTendingModel",
            "Name": "ScannerUtilityFileName",
            "Caption": "ScannerUtilityFileName",
            "Value": {
              "FileName": "3DScanner\\Intel\\RealSenseScanner.UI.exe",
              "Extension": "exe"
            },
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "UseScanner",
            "Caption": "UseScanner",
            "Value": false,
            "IsOverridden": true,
            "IsReadOnly": false
          }
        ],
        "SubGroups": []
      },
      {
        "Name": "MotionPathConfiguration",
        "Caption": "MotionPathConfiguration",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
            "Name": "GeneralSpeedMultiplierValue",
            "Caption": "GeneralSpeedMultiplierValue",
            "Value": 1.0,
            "IsOverridden": true,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
            "Name": "AccuracyInRobotLinearMovement",
            "Caption": "AccuracyInRobotLinearMovement",
            "Value": 10.0,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
            "Name": "AccuracyInRobotArcMovement",
            "Caption": "AccuracyInRobotArcMovement",
            "Value": 10.0,
            "IsOverridden": false,
            "IsReadOnly": false
          }
        ],
        "SubGroups": [
          {
            "Name": "ProgramSpeedSettings",
            "Caption": "ProgramSpeedSettings",
            "Fields": [
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "DefaultNormalSpeedMultiplierValue",
                "Caption": "DefaultNormalSpeedMultiplierValue",
                "Value": 1.0,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "DefaultLinearSpeedMultiplierValue",
                "Caption": "DefaultLinearSpeedMultiplierValue",
                "Value": 1.0,
                "IsOverridden": true,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "DefaultDangerousSpeedMultiplierValue",
                "Caption": "DefaultDangerousSpeedMultiplierValue",
                "Value": 1.0,
                "IsOverridden": true,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "DefaultWorkingSpeedMultiplierValue",
                "Caption": "DefaultWorkingSpeedMultiplierValue",
                "Value": 1.0,
                "IsOverridden": true,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "DefaultPnPClearanceSpeedMultiplierValue",
                "Caption": "DefaultPnPClearanceSpeedMultiplierValue",
                "Value": 1.0,
                "IsOverridden": true,
                "IsReadOnly": false
              }
            ],
            "SubGroups": []
          }
        ]
      },
      {
        "Name": "SimulationSettings",
        "Caption": "SimulationSettings",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
            "Name": "SimulationSpeedMultiplier",
            "Caption": "SimulationSpeedMultiplier",
            "Value": 1.0,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "IsCollisionDetectionEnabled",
            "Caption": "IsCollisionDetectionEnabled",
            "Value": false,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[Assets.Application.Backend.Model.Project.Settings.ProjectSettings_v2+PathVisualizationLevels, MachineTendingModel]], MachineTendingModel",
            "Name": "PathVisualizationLevel",
            "Caption": "PathVisualizationLevel",
            "Value": 2,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "MaximumOfRenderedPathElements",
            "Caption": "MaximumOfRenderedPathElements",
            "Value": 32767,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "WorkspacePointsDrawStep",
            "Caption": "WorkspacePointsDrawStep",
            "Value": 250,
            "IsOverridden": false,
            "IsReadOnly": false
          }
        ],
        "SubGroups": [
          {
            "Name": "SimulationRobotJointsSpeed",
            "Caption": "SimulationRobotJointsSpeed",
            "Fields": [
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "Joint1",
                "Caption": "Joint1",
                "Value": 200.0,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "Joint2",
                "Caption": "Joint2",
                "Value": 200.0,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "Joint3",
                "Caption": "Joint3",
                "Value": 210.0,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "Joint4",
                "Caption": "Joint4",
                "Value": 430.0,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "Joint5",
                "Caption": "Joint5",
                "Value": 430.0,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "Joint6",
                "Caption": "Joint6",
                "Value": 630.0,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
                "Name": "Joint7",
                "Caption": "Joint7",
                "Value": 200.0,
                "IsOverridden": false,
                "IsReadOnly": false
              }
            ],
            "SubGroups": []
          }
        ]
      },
      {
        "Name": "PickCommandOptimalRobotPose",
        "Caption": "PickCommandOptimalRobotPose",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
            "Name": "MaximumZAxisRotation",
            "Caption": "MaximumZAxisRotation",
            "Value": 10.0,
            "IsOverridden": false,
            "IsReadOnly": false
          }
        ],
        "SubGroups": [
          {
            "Name": "CreaseAvoidanceJoints",
            "Caption": "CreaseAvoidanceJoints",
            "Fields": [
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint1",
                "Caption": "Joint1",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint2",
                "Caption": "Joint2",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint3",
                "Caption": "Joint3",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint4",
                "Caption": "Joint4",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint5",
                "Caption": "Joint5",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint6",
                "Caption": "Joint6",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint7",
                "Caption": "Joint7",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              }
            ],
            "SubGroups": []
          }
        ]
      },
      {
        "Name": "PlaceCommandOptimalRobotPose",
        "Caption": "PlaceCommandOptimalRobotPose",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Double, mscorlib]], MachineTendingModel",
            "Name": "MaximumZAxisRotation",
            "Caption": "MaximumZAxisRotation",
            "Value": 10.0,
            "IsOverridden": false,
            "IsReadOnly": false
          }
        ],
        "SubGroups": [
          {
            "Name": "CreaseAvoidanceJoints",
            "Caption": "CreaseAvoidanceJoints",
            "Fields": [
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint1",
                "Caption": "Joint1",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint2",
                "Caption": "Joint2",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint3",
                "Caption": "Joint3",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint4",
                "Caption": "Joint4",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint5",
                "Caption": "Joint5",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint6",
                "Caption": "Joint6",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              },
              {
                "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Nullable`1[[System.Double, mscorlib]], mscorlib]], MachineTendingModel",
                "Name": "Joint7",
                "Caption": "Joint7",
                "Value": null,
                "IsOverridden": false,
                "IsReadOnly": false
              }
            ],
            "SubGroups": []
          }
        ]
      },
      {
        "Name": "AI",
        "Caption": "AI",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "PartDetectorEnabled",
            "Caption": "PartDetectorEnabled",
            "Value": false,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "SelectedWebCamDeviceIndex",
            "Caption": "SelectedWebCamDeviceIndex",
            "Value": 0,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "DelayBeforeCapturePhotoFromWebCam",
            "Caption": "DelayBeforeCapturePhotoFromWebCam",
            "Value": 1000,
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Boolean, mscorlib]], MachineTendingModel",
            "Name": "ManualSelectPictureForRecognition",
            "Caption": "ManualSelectPictureForRecognition",
            "Value": false,
            "IsOverridden": false,
            "IsReadOnly": false
          }
        ],
        "SubGroups": []
      },
      {
        "Name": "CAMIntegrationSettings",
        "Caption": "CAMIntegrationSettings",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[Assets.Application.Backend.Model.Project.Settings.FileNameData, MachineTendingModel]], MachineTendingModel",
            "Name": "CAMApplicationFileName",
            "Caption": "CAMApplicationFileName",
            "Value": {
              "FileName": "C:\\Program Files\\ENCY Software\\ENCY 2\\Bin64\\ency_prime.exe",
              "Extension": "exe"
            },
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[Assets.Application.Backend.Model.Project.Settings.FileNameData, MachineTendingModel]], MachineTendingModel",
            "Name": "CAMConnectorApplicationFileName",
            "Caption": "CAMConnectorApplicationFileName",
            "Value": {
              "FileName": "..\\CAMConnectors\\CAMConnectorDotNet\\CAMConnectorDotNetApp.exe",
              "Extension": "exe"
            },
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[Assets.Application.Backend.Model.Project.Settings.FileNameData, MachineTendingModel]], MachineTendingModel",
            "Name": "TrajectoryPostprocessorFileName",
            "Caption": "TrajectoryPostprocessorFileName",
            "Value": {
              "FileName": "..\\CAMConnectors\\Postprocessor\\ToolpathConverter.sppx",
              "Extension": "sppx"
            },
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[Assets.Application.Backend.Model.Project.Settings.FileNameData, MachineTendingModel]], MachineTendingModel",
            "Name": "SubProgramPostprocessorFileName",
            "Caption": "SubProgramPostprocessorFileName",
            "Value": {
              "FileName": null,
              "Extension": null
            },
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "CAMLaunchTimeoutSec",
            "Caption": "CAMLaunchTimeoutSec",
            "Value": 10,
            "IsOverridden": true,
            "IsReadOnly": false
          }
        ],
        "SubGroups": []
      },
      {
        "Name": "ServerSettings",
        "Caption": "ServerSettings",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.String, mscorlib]], MachineTendingModel",
            "Name": "ServerIpAddress",
            "Caption": "ServerIpAddress",
            "Value": "127.0.0.1",
            "IsOverridden": false,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "ServerSystemPort",
            "Caption": "ServerSystemPort",
            "Value": 9777,
            "IsOverridden": true,
            "IsReadOnly": false
          },
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Int32, mscorlib]], MachineTendingModel",
            "Name": "ServerInfoPort",
            "Caption": "ServerInfoPort",
            "Value": 9778,
            "IsOverridden": true,
            "IsReadOnly": false
          }
        ],
        "SubGroups": []
      },
      {
        "Name": "GrippersSettings",
        "Caption": "GrippersSettings",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Collections.Generic.List`1[[Assets.Application.Backend.Model.Project.Settings.GripperParameters, MachineTendingModel]], mscorlib]], MachineTendingModel",
            "Name": "Grippers",
            "Caption": "Grippers",
            "Value": [
              {
                "Caption": "",
                "SignalNumber": -1,
                "OpenValue": -1,
                "CloseValue": -1,
                "LinkedMechanismAddressValue": {
                  "Address": "E1",
                  "OpenValue": 25.0,
                  "CloseValue": 15.0
                }
              }
            ],
            "IsOverridden": true,
            "IsReadOnly": false
          }
        ],
        "SubGroups": []
      },
      {
        "Name": "IOSettings",
        "Caption": "IOSettings",
        "Fields": [
          {
            "$type": "Assets.Application.Backend.Model.Project.Settings.Field`1[[System.Collections.Generic.List`1[[Assets.Application.Backend.Model.Project.Settings.IOGroup, MachineTendingModel]], mscorlib]], MachineTendingModel",
            "Name": "IOGroups",
            "Caption": "IOGroups",
            "Value": [
              {
                "Type": 3,
                "Caption": "OpenGripper",
                "OutputValidation": {
                  "Type": 3,
                  "Enabled": false,
                  "CheckFrequencyMs": 5000,
                  "MaxCheckTime": 15000,
                  "ShowAlarmIfNotPerformed": false,
                  "Input": [],
                  "Caption": "ValidationCondition"
                },
                "Input": [],
                "Output": [
                  {
                    "OutputNumber": -1,
                    "Value": -1,
                    "LinkedMechanismAddressValue": {
                      "Address": "E2",
                      "Value": 25.0
                    },
                    "Caption": "Output"
                  }
                ]
              },
              {
                "Type": 3,
                "Caption": "CloseGripper",
                "OutputValidation": {
                  "Type": 3,
                  "Enabled": false,
                  "CheckFrequencyMs": 5000,
                  "MaxCheckTime": 15000,
                  "ShowAlarmIfNotPerformed": false,
                  "Input": [],
                  "Caption": "ValidationCondition"
                },
                "Input": [],
                "Output": [
                  {
                    "OutputNumber": -1,
                    "Value": -1,
                    "LinkedMechanismAddressValue": {
                      "Address": "E2",
                      "Value": 5.0
                    },
                    "Caption": "Output"
                  }
                ]
              }
            ],
            "IsOverridden": true,
            "IsReadOnly": false
          }
        ],
        "SubGroups": []
      }
    ]
  }
}