java - MagicDraw 是否有 Python 接口或 API 包装器?
问题描述
我将 MagicDraw 用于使用 UML 和 SysML 的基于模型的系统工程 (MBSE)。我知道有一个基于 Java 的 API,该工具主要是用它编写的,但我想使用 Python 与我的模型交互。
是否有使用 Python 访问 MagicDraw 的 API 包装器或其他方法?
解决方案
MagicDraw 开发人员指南(当前适用于 v19.0-SP2)提供有关其 OpenAPI 的信息,该 API 支持Jython ,这是 Python 的 Java 实现。
OpenAPI 实现允许编写可从任何 MagicDraw 查询调用的 MagicDraw 脚本(例如,表范围内的表达式、表自定义列定义和 Legend Adornments 中的查询)。
OpenAPI 文档中有关于 Jython 脚本的信息。
关于 Jython 的注意事项:
Python 开发的核心是 CPython,它主要使用 C 语言并编译为给定的目标,如 C。Jython 端口与 Java 兼容,并以 Java JVM 为目标,而不是为特定平台编译。
这允许直接在 Java 中将 Python 的 Jython 解释器作为类对象运行,并编写直接在 JVM 上运行的 Jython 脚本。
Jython 目前仅支持 Python 2.7。过去一直在开发用于 Python 3.5 的 Jython,尽管它目前正在“休息”,如本 SO 回答中所述
推荐阅读
- python - (错误代码:10011):discord.py 1.7.3 版中的未知角色
- javascript - Datalabels 插件 chartjs 显示 '[object]' 而不是 value
- python - 如何在不使用 time.sleep 方法的情况下在 python 中进行倒计时?
- r - 来自 Reactive Function 的 RShiny DT 函数(参数长度为零错误)
- angular - Abp.io Angular UI - 使用 ListService 过滤
- android - MPAndroidCharts 圆角 Kotlin
- meteor - 在 Meteor js 中使用包 slava:redis-livedata 时出现内存泄漏
- mybatis - mybatis cursor "A Cursor is already closed." 错误消息虽然定义了事务性
- python - 在 Python 中,用户定义的对象如何在内存中查找?
- git - Github 个人访问令牌