跳转至

FiberArt插件开发教程

插件安装

  1. 打开FiberArt
  2. 在菜单栏选择插件,然后点击插件管理器
  3. 在弹出的界面中点击安装插件
  4. 在文件选择框中导航到插件所在的文件夹,点击选择
  5. 安装完成后,重启软件,在菜单栏插件的子菜单中可以找到安装的插件(和具体插件的功能有关系,一般都在这里)。如果插件没有出现,先检查插件目录、日志面板和依赖是否正确。

插件开发

开发具有GUI界面的插件,原理是用户自己使用PySide开发一个Widget,然后将这个Widget放入一个QDockWidget,再将QDockWidget嵌入到FiberArt的QMainWindow中。

在python脚本中,用户可以通过FiberArt Python SDK 接口来调用FiberArt的相关功能,比如创建节点、获取选择的节点、调用节点的方法、属性等。

自定义插件示例

参考这个简单的插件例子

Demo/__init__.py
import PyFiberArt
from FiberArtDefaultPlugins.utils import (
    QtWidgets,
    add_plugin_widget,
    decorator_factory_selected_node,
)


def create_demo():
    # create the widget
    w = QtWidgets.QWidget()
    layout = QtWidgets.QVBoxLayout()
    w.setLayout(layout)

    label = QtWidgets.QLabel("这是一个示例插件,试试选中一个节点,然后点击按钮")
    layout.addWidget(label)

    btn = QtWidgets.QPushButton("显示选中节点")
    layout.addWidget(btn)

    @decorator_factory_selected_node(PyFiberArt.Node)
    def btn_cb(node: PyFiberArt.Node):
        label.setText(f"你选择了{node.GetName()}")

    btn.clicked.connect(btn_cb)

    add_plugin_widget(w, win_title="自定义插件", visible=True)


create_demo()

Demo相当于一个普通的Python模块,在FiberArt软件启动过程中,会执行 import Demo 语句。

当前版本注意事项

  • 插件可以通过 Python SDK 读写场景节点、属性和选择集,也可以注册 Qt 面板;
  • 轨迹后处理脚本从 JSON 轨迹点和模板生成设备程序,适合使用独立模板验证输出;
  • 旧版 Python 位姿标定脚本已迁移到内置 C++ 面板,不应再通过旧插件入口自动注册;
  • 插件加载失败时,查看 日志面板中的模块名称和异常信息,不要重复安装同名插件。