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

求助:通过DOORS Layout DXL显示模块基线中的对象文本

实现DOORS Layout DXL:特定基线与当前对象文本并排对比

以下是直接可用的Layout DXL代码,实现当前对象文本和指定基线版本文本的并排显示,还包含差异高亮功能:

// 替换为你需要对比的基线名称
string targetBaseline = "V1.0 发布基线"

// 获取当前模块的目标基线
Baseline targetBL = baseline(targetBaseline, module(current))
if (null targetBL) {
    print "错误:模块中未找到基线 '" targetBaseline "'\n"
    stop
}

// 获取当前对象在基线中的版本
ObjectVersion baselineObjVer = objectVersion(current, targetBL)

// 定义并排布局列
column("当前文本", width: 45) {
    display richText(current."Object Text")
}
column(targetBaseline + " 文本", width: 45) {
    if (null baselineObjVer) {
        display "该对象在基线中不存在"
    } else {
        display richText(baselineObjVer."Object Text")
    }
}

// 高亮文本差异行
if (!null baselineObjVer) {
    string currTxt = plainText(current."Object Text")
    string baseTxt = plainText(baselineObjVer."Object Text")
    if (currTxt != baseTxt) {
        set background color to yellow
    }
}

使用说明

  1. 配置基线:将代码第一行的targetBaseline值替换为你的目标基线名称,也可以用基线ID(比如baseline(1001, module(current)),ID可通过基线属性查看)
  2. 加载基线:确保当前模块已经加载了目标基线(DOORS菜单 -> 基线 -> 加载基线)
  3. 应用布局:将代码粘贴到Layout DXL编辑器,保存后应用到模块视图

关键细节

  • 支持富文本格式保留:包括字体样式、颜色、列表等格式都会在两个列中正确显示
  • 边界处理:如果当前对象是基线创建后新增的,会在基线列显示提示文本
  • 性能优化:在大模块中使用时,可提前缓存基线对象,避免重复查询

内容的提问来源于stack exchange,提问作者Bob Loblaw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:52:49