Python 例程使用指南

您正在查看预发布版本(V2.2.0)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持

本节介绍如何配置和运行 Mech-Vision SDK 的 Python 例程。

使用前提

例程简介

Python 例程位于 development/python/examples/ 目录,单文件形式,包含以下例程:

例程文件 说明

solution_basic.py

打开/关闭/保存/重命名方案,获取方案信息和工程信息列表。

project_basic.py

运行工程,获取输出数据(抓取点位姿)。

project_data_storage.py

操作工程数据存储,读写存储数据。

project_param_recipe.py

获取参数配方列表,切换当前参数配方。

solution_comm_config.py

获取和修改方案的通信配置(TCP/IP、Modbus 等)。

solution_device_status.py

获取方案中相机的连接状态、温度、传输速度等设备状态信息。

solution_global_variable.py

读取和写入方案中的全局变量(整型、浮点型、字符串、队列等)。

step_basic.py

获取步骤信息,固定步骤输出端口,运行工程后获取步骤输出数据(如点位姿)。

step_props.py

通过 JSON 格式读取和设置步骤参数。

运行例程

  1. 确保 Mech-Vision 已启动。

  2. 修改例程文件中的方案路径,将默认路径替换为实际方案路径:

    path = "D:/path/to/your/solution"
  3. 在命令行中运行例程:

    python solution_basic.py

代码示例

打开方案并获取工程信息(solution_basic.py)

import mmind_vision
from mmind_vision import *

def main():
    # 打开方案
    solution = Solution()
    solution.open("D:/data/vision_sdk_example", "", "")

    # 获取方案信息
    solution_info = solution.get_info()
    print(f"Solution: {solution_info.name}")
    print(f"Path:     {solution_info.path}")

    # 获取工程信息列表
    project_infos = solution.get_all_project_infos()
    for info in project_infos:
        print(f"  Project: {info.name}, Running: {info.is_running}")

    # 保存并关闭方案
    solution.save()
    solution.close()

if __name__ == '__main__':
    mmind_vision.initialize()
    main()
    mmind_vision.uninitialize()

运行工程并获取输出数据(project_basic.py)

import mmind_vision
from mmind_vision import *
import json

def main():
    solution = Solution()
    solution.open("D:/data/vision_sdk_example", "", "")

    # 获取第一个工程名称
    project_infos = solution.get_all_project_infos()
    project = Project(project_infos[0].name)

    # 运行工程(等待工程执行完成)
    project_result = project.run(
        ProjectRunWaitState.Finished, "request_1")

    # 解析输出数据(抓取点位姿)
    output = json.loads(project_result.output_json)
    pick_points = output.get("workobject_data", {}).get("pick_points", [])
    print(f"Pick points count: {len(pick_points)}")

if __name__ == '__main__':
    mmind_vision.initialize()
    main()
    mmind_vision.uninitialize()

读取和设置步骤参数(step_props.py)

import mmind_vision
from mmind_vision import *
import json

def main():
    solution = Solution()
    solution.open("D:/data/vision_sdk_example", "", "")

    step = Step("3D Matching_1", "Matching")

    # 读取步骤参数
    names_json = json.dumps(["confidenceThreshold"])
    props_json = step.get_properties_json(names_json)
    props = json.loads(props_json)
    print(f"Confidence threshold: {props['confidenceThreshold']}")

    # 设置步骤参数
    new_props = json.dumps({"confidenceThreshold": 0.8})
    step.set_properties_json(new_props)

if __name__ == '__main__':
    mmind_vision.initialize()
    main()
    mmind_vision.uninitialize()

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。