FiberArt插件开发教程
插件安装
- 打开FiberArt
- 在菜单栏选择插件,然后点击插件管理器
- 在弹出的界面中点击安装插件
- 在文件选择框中导航到插件所在的文件夹,点击选择
- 安装完成后,重启软件,在菜单栏插件的子菜单中可以找到安装的插件(和具体插件的功能有关系,一般都在这里)。如果插件没有出现,先检查插件目录、日志面板和依赖是否正确。
插件开发
开发具有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++ 面板,不应再通过旧插件入口自动注册;
- 插件加载失败时,查看 日志面板中的模块名称和异常信息,不要重复安装同名插件。