快速入门
10 分钟快速掌握智绘的基本使用
准备工作
在开始使用智绘之前,请确保:
- 已成功安装并启动智绘应用
- 已完成用户注册和登录
- 浏览器支持 HTML5 和 Canvas(推荐使用 Chrome 或 Firefox)
首次使用?
建议先浏览界面介绍章节,
熟悉智绘的界面布局。
第一步:创建新项目
启动 智绘 后,您可以创建新项目:
创建新项目
- 点击左侧边栏工程面板的 "新建工程" 按钮
- 输入项目名称和描述
- 点击 "创建" 按钮
创建新项目界面
第二步:构建 OPM 模型
创建项目后,您将看到空白的画布。让我们创建一个简单的 OPM 模型:
添加对象:侦察机
- 点击工具栏中的 "对象" 图标(矩形)
- 从工具栏拖拽到画布以创建对象,并将其命名为 "侦察机"
添加过程:执行侦察任务
- 点击工具栏中的 "过程" 图标(椭圆)
- 从工具栏拖拽到画布以创建过程,并将其命名为 "执行侦察任务"
添加对象:侦察数据
- 再次点击工具栏中的 "对象" 图标
- 从工具栏拖拽到画布以创建另一个对象,并将其命名为 "侦察数据"
创建连线
- 点击工具栏中的 "连线" 图标
- 从 "侦察机" 对象拖动到 "执行侦察任务" 过程,选择 "主控" 连线类型
- 从 "执行侦察任务" 过程拖动到 "侦察数据" 对象,选择 "生成" 连线类型
OPM 建模界面示例
提示:
您可以拖动节点来调整布局,也可以使用自动布局功能(工具栏中的 "自动排列" 按钮)。
第三步:编写仿真脚本
OPM 模型需要配合 JavaScript或者C++语言 脚本来定义仿真行为:
- 选中 "加工" 过程节点
- 在右侧属性面板中,找到 "脚本" 标签
- 点击 "编辑脚本" 按钮,打开统一脚本编辑器
- 输入以下示例代码(C++语言为例):
#include <script-runtime/api/cwopm_script_api.h>
#include <iostream>
#include <string>
#include <random>
#include <map>
#include <any>
extern "C" void action_func(cwopm::ScriptContext* ctx) {
// 记录任务开始
std::cout << "[INFO] 过程 '" << ctx->elementName
<< "' (ID: " << ctx->elementId
<< ") 开始执行侦察任务。" << std::endl;
// 模拟侦察任务时间(这里只是生成一个随机时间,实际仿真时间由引擎控制)
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_real_distribution<> dis(5.0, 15.0); // 5到15秒
double missionTime = dis(gen);
// 假设侦察机是主控对象,其状态可能影响任务执行
std::string aircraftState = ctx->getObjectState("侦察机");
std::cout << "[INFO] 侦察机当前状态: " << aircraftState << std::endl;
// 记录任务完成
std::cout << "[INFO] 过程 '" << ctx->elementName
<< "' (ID: " << ctx->elementId
<< ") 完成侦察任务,模拟耗时:" << missionTime
<< " 秒。" << std::endl;
// 准备侦察数据载荷
std::map<std::string, std::any> reconnaissancePayload;
reconnaissancePayload["source"] = ctx->elementName;
reconnaissancePayload["mission_duration"] = missionTime;
reconnaissancePayload["data_quality"] = "high"; // Example data
reconnaissancePayload["timestamp"] = ctx->simulationTime; // Use simulation time
// 通过消息总线发送侦察数据
if (ctx->message) {
cwopm::Message sentMessage = ctx->message->send("reconnaissance_data_channel", reconnaissancePayload);
std::cout << "[INFO] 侦察数据已通过消息通道 'reconnaissance_data_channel' 发送。消息ID: "
<< sentMessage.id << std::endl;
} else {
std::cerr << "[ERROR] 消息总线不可用,未能发送侦察数据。" << std::endl;
}
}
第四步:运行仿真
完成建模和脚本编写后,就可以运行仿真了:
- 点击 "开始仿真" 按钮
- 观察仿真运行过程,查看实时日志
仿真运行界面
查看仿真结果
- 日志面板:查看仿真过程中的所有日志输出
- 黑板视图::查看仿真运行时的全局状态变量
- 消息数据::查看仿真消息通道信息
第五步:保存项目
完成建模和仿真后,别忘了保存您的项目:
- 点击工具栏中的 "保存项目" 按钮(磁盘图标)
- 或者使用快捷键 Ctrl + S(Mac: Cmd + S)
- 项目将保存到服务器(多用户环境下)或本地存储
下一步
恭喜!您已经完成了 智绘 的快速入门。接下来可以: