You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM Rhapsody是否支持批量导入多个枚举项?如何实现?

IBM Rhapsody 批量导入枚举项实现方案

IBM Rhapsody 原生支持批量导入枚举项,无需手动逐个录入,以下是两种可直接落地的操作方法:

方案1:内置表格视图导入(零代码,适合常规场景)

这是操作成本最低的方式,不需要写脚本,全程可视化操作:

  • 提前整理好所有枚举项,存为标准CSV格式:第一列为枚举项名称,第二列可按需填写枚举对应的整型值、备注说明,不要带合并单元格、特殊转义字符
  • 打开目标Rhapsody工程,在需要存放枚举的包/命名空间下,手动新建一个空白的Enumeration类型,设置好枚举的名称
  • 右键点击这个空白枚举,在右键菜单中选择Table View切换到表格编辑模式
  • 点击表格视图顶部工具栏的导入按钮,选中提前准备好的CSV文件,在弹出的字段映射弹窗中,将CSV的列分别对应到枚举的Name(枚举项名称)、Value(枚举值)、Description(备注)属性,确认映射关系后点击完成
  • 导入结束后切回常规模型视图,校验枚举项数量、名称、值是否正确即可,导入的条目会直接写入模型,后续代码生成会自动识别所有条目。

方案2:官方API脚本批量写入(适合带自定义属性的复杂场景)

如果你的枚举项需要同步多个自定义构造型属性,表格导入无法满足映射需求,可以直接调用Rhapsody内置API写脚本批量创建:

  • 打开Rhapsody内置脚本编辑器,菜单路径为Tools > Development > Script Editor,支持运行Java、Python两类脚本
  • 核心实现逻辑参考如下代码,替换成你自己的枚举项读取逻辑即可:
# 关联当前打开的Rhapsody活动工程
rhapsody_app = RhapsodyAppServer.getActiveRhapsodyApplication()
active_project = rhapsody_app.activeProject()
# 定位到枚举要存放的目标包,替换成你自己的包路径
target_package = active_project.findNestedPackageRecursive("Model::DefaultPackage")
# 创建空白枚举对象
target_enum = target_package.addNewAggr("Enumeration", "CustomStatusEnum")
# 替换为你从本地文件读取到的枚举项列表,格式为(枚举项名称, 枚举整型值)
enum_item_source = [
    ("STATUS_INIT", 0),
    ("STATUS_RUNNING", 1),
    ("STATUS_FINISHED", 2)
]
# 循环写入所有枚举项
for literal_name, literal_value in enum_item_source:
    enum_literal = target_enum.addNewAggr("EnumerationLiteral", literal_name)
    enum_literal.setValue("Value", str(literal_value))
    # 如果有自定义属性,可在此处继续给属性赋值
  • 脚本编写完成后直接在编辑器内点击运行,执行完成后刷新模型即可看到所有枚举项,只要提前校验好枚举项的命名符合Rhapsody模型规范,基本不会出现录入错误。

注意:不要尝试通过修改Rhapsody自动生成的代码反向同步枚举,Rhapsody默认的代码同步链路是模型单向生成代码,直接修改生成的代码不会回写到模型中,反而会导致模型和代码内容不一致。

内容的提问来源于stack exchange,提问作者David Boshton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 23:27:32