# Sysplorer.SDK 概述
本文详细介绍 Sysplorer.SDK 的使用。
# MWORKS.SDK 简介
Sysplorer 是新一代多领域工程系统建模、仿真、分析与优化通用 CAE 平台,基于多领域统一建模规范 Modelica ,提供了从可视化建模、仿真计算到结果分析的完整功能,支持多学科多目标优化、硬件在环(Hardware-In-the-Loop, HIL)仿真以及与其他工具的联合仿真。 利用现有大量可重用的 Modelica 领域库,Sysplorer 可以广泛地满足机械、电子、控制、液压、气压、热力学、电磁等专业,以及航空、航天、车辆、船舶、能源等行业的知识积累、建模仿真与设计优化需求。Sysplorer 作为多领域工程系统研发平台,能够使不同的领域专家与企业工程师在统一的开发环境中对复杂工程系统进行多领域协同开发、试验和分析。
MWORKS.SDK 是基于 Qt 和 C++ 开发的,具备 Sysplorer 全部功能模块的 API,支持用户对 Sysplorer 进行功能扩展或专业 APP 开发。
Sysplorer 作为 Modelica IDE,本身即采用 MWORKS.SDK 开发的,它既是 MWORKS.SDK 的生成环境,也是其自身的第一用户。
同时,MWORKS.SDK 已在航空、航天、汽车、核能等多个领域的专业设计仿真 APP 中得以应用和验证。
# 什么是 APP
APP 是带交互界面的应用程序,提供面向特定场景的专业应用,APP 依赖 Sysplorer 的 API 集成 Sysplorer 的建模、编译、仿真等能力,并将软件打包为一个独立可运行的软件,可脱离 Sysplorer 进行使用也可嵌入 Sysplorer 作为插件在 Sysplorer 软件中直接打开,以达到扩展 Sysplorer 功能的目的。
# APP 的开发运行模式
MWORKS.SDK 提供了多种模型相关操作 API,并提供相关 Qt 图形界面供用户使用,用户利用 C++/Qt 图形应用开发平台来开发 APP,可实现一个带界面交互操作的、专业设计的仿真类型 APP。
APP 层:负责开发 GUI 图形用户界面和 APP 的业务逻辑。用户可以使用主流的图形应用开发平台(PyQt、C++/Qt、JavaScript 等)来开发 APP,并通过使用 APP SDK 来实现与 Sysplorer 平台集成和通信;
APP SDK 层:负责提供模型模型文件、参数操作、属性获取、元素及属性判定、属性查找、编译仿真、结果数据查询、图形组件类和系统配置共 9 类 API 供用户完成仿真操作等一系列专业仿真 APP;
Sysplorer 层:若将 APP 编译成 exe 类型,则可直接独立运行,若将 APP 编译成 dll 类型,并在插件中增加该工具,可依赖 Sysplorer 环境进行使用和打开。
# 开发流程
APP 的全生命周期流程如下图所示:
# APP 开发环境部署
SDK 安装
获取 SDK 安装包,如下:
双击安装包,即可弹出以下界面,一直单击下一步即可安装完成:

SDK 目录介绍
MWORKS SDK 安装完成后,在安装目录下存在以下目录:
- bin:SDK 二进制库,包含静态库、动态库、cmake 配置、Sysplorer 运行所需的运行文件;
- docs:SDK 帮助文档,基于 Qt 帮助文档框架开发的帮助文档工具,双击文件夹中的应用程序或 mw_help 快捷方式即可打开;
- examples:SDK 开发示例,提供了各个组件的定制化开发 demo,包括了 SDK 所有的常用开发场景。包括但不限于 HelloWorld 入门程序、Ribbon 界面定制化开发、图形建模定制化开发、曲线窗口定制化开发、模型浏览器拖拽、静默模式编译仿真、仿真数据实时通信、插件配置等;
- include:SDK 依赖的第三方库头文件;
- interface:SDK 同元库的头文件。

SDK 开发环境
对外发布的 Sysplorer 软件为基于 VS2017 编译出的软件,推荐使用 VS2017 版本 SDK,便于和发布版软件进行集成。
- VS2017 版本
类型 环境 操作系统 Win7 SP1 及以上版本 Qt Qt5.14.2 x86 或 x64 版本 IDE Microsoft Visual Studio 2017(简称 VS2017) IDE插件 VS2017 的 Qt 开发插件 新建工程
基于 VS2017 新建一个 Qt Application 工程:

输出目录配置
- 将输出目录配置到安装的 SDK 路径的 bin 目录:
$(MWBin)$(Configuration) - 将
MWBin换为实际 SDK 对应路径:SDK安装路径\bin\win_msvc2017x64

- 将输出目录配置到安装的 SDK 路径的 bin 目录:
附加包含目录配置
- 包含目录添加 SDK 的
include与interface目录:
.\GeneratedFiles . $(QTDIR)\include .\GeneratedFiles\$(ConfigurationName) $(QTDIR)\include\QtCore $(QTDIR)\include\QtGui $(QTDIR)\include\QtWidgets $(MWInclude) $(MWInclude)\boost161 $(MoKeyerface) $(MoKeyerface)\modelica_services $(MoKeyerface)\common_kits- MWInclude——
SDK安装路径/include - MoKeyerface——
SDK安装路径/interface

- 包含目录添加 SDK 的
链接库依赖项配置
- 依赖库目录添加 SDK 的 bin\lib 与文件输出目录
$(OutDir) $(QTDIR)\lib $(MWBin)\lib

附加依赖项配置
Debug 下的附加依赖项设置为:
qtmaind.lib Qt5Cored.lib Qt5Guid.lib Qt5Widgetsd.lib mw_develop_d.lib mw_graphics_view_d.lib mw_class_manager_d.lib mw_global_d.lib mw_help_d.lib mw_sim_inst_d.lib mw_sim_plot_d.lib mw_develop_d.libRelease 下的附件依赖项设置为:
qtmain.lib Qt5Core.lib Qt5Gui.lib Qt5Widgets.lib mw_develop.lib mw_graphics_view.lib mw_class_manager.lib mw_global.lib mw_help.lib mw_sim_inst.lib mw_sim_plot.lib mw_develop.lib

# APP 开发
用户可以使用多种语言结合 Qt 进行界面图形开发 APP,用户开发时首先将开发环境搭建好并集成 SDK 相关依赖库,然后使用 Qt 进行图形界面开发,结合本身的业务需求调用相关模型接口,SDK 也提供了图形组件供用户直接显示数据,APP 开发过程如下:
# APP 测试
APP 测试可在开发过程中依赖编译器进行调试,开发完成后可进行系统整体软件测试,最后也可集成到 Sysplorer 软件中进行集成测试。测试流程如下:
# APP 打包
APP 打包即遵循具体 APP开发环境的要求,打包好的 APP 程序需独立可运行,不需再另外安装软件或执行其他的操作。APP 打包也分为仅打包 APP、整个软件打包、插件打包。
仅打包 APP(不带运行环境)
将 APP 生成的 exe 和自行编译所依赖的 dll 集中放在一个文件夹下,即可完成 APP 打包,将该文件夹下的内容复制到任意版本对应的 SDK 的 Release 路径下能够正常运行该 exe。
整个软件打包
将生成的 exe 及依赖的 dll 放入
SDK安装目录/bin/win_msvc2017x64/Release目录下:
双击开发的 *.exe 即可启动软件。放入 exe 后可对软件实现打包,打包步骤如下:
(1) 将 Release 改为 bin 名称;
(2) 保存
bin\win_msvc2017x64目录下的以下目录:- external
- initial_files
- Library
- bin(原 Release 文件)
- setting
- simulator
- tools
(3) 最终打包目录如下所示:

插件打包
若开发的是 dll 类型插件,打包方法如下:将嵌入式生成的 dll 库,放入
SDK安装目录/bin/win_msvc2017x64/Release/Addins目录下的新建文件夹(文件夹名称任意)并放入 dll 所依赖动态库,即可运行 Sysplorer。
进入
/bin/win_msvc2017x64/Release/mworks.exe运行 Sysplorer 软件,可查看到放入的插件。
将 dll 和文件夹打包,放入任意 Sysplorer 的
bin目录下的Addins文件夹下,然后运行 Sysplorer 可查看到开发的插件功能。
# APP 安装
生成独立 exe 的 APP 无需进行软件安装,直接双击 exe 即可运行成功。
若是生成 dll 的 APP 软件需依赖 Sysplorer 进行启动,将打包好的安装包放在任意 Sysplorer 安装下 Bin/Addins 目录下即可。
# APP 使用
APP 开发完成后,用户可独立运行 exe 类型 APP;对于开发的 dll 动态库需依赖 Sysplorer 进行使用,将该动态库放入 Sysplorer 安装下Bin/Addins目录下即可,启动 Sysplorer,按照 dll 开发的入口方式打开即可。