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

Rhapsody Java API是否提供查询特征间父子关联关系的函数?

Rhapsody Java API特征从属关系查询方案

Rhapsody 官方Java API提供了原生方法可直接实现组合结构中特征的直接/间接父子从属关系判断,无需手动实现递归遍历逻辑。

可用API说明

  • 直接父子关系判断:调用IRPModelElement.getOwner()方法,返回当前特征的直接父元素,将返回值与目标特征对比即可确认是否为直接从属。
  • 直接+间接从属关系判断:调用IRPModelElement.isDescendantOf(IRPModelElement targetParent)方法,方法会自动递归遍历当前特征的所有上层所属元素,匹配目标父特征,匹配成功返回true,否则返回false,完全匹配需求场景。

代码示例

import com.telelogic.rhapsody.core.*;

public class FeatureRelationCheck {
    public static void main(String[] args) {
        // 初始化Rhapsody应用、打开项目等前置逻辑省略
        IRPApplication rhapsodyApp = RhapsodyAppServer.getActiveRhapsodyApplication();
        IRPProject project = rhapsodyApp.activeProject();
        
        // 假设已获取到待校验的两个特征对象
        IRPFeature checkFeature = (IRPFeature) project.findElementByGUID("待校验特征的GUID");
        IRPFeature targetParentFeature = (IRPFeature) project.findElementByGUID("目标父特征的GUID");
        
        // 校验是否存在直接或间接从属关系
        boolean hasSubordinateRelation = checkFeature.isDescendantOf(targetParentFeature);
        
        // 校验是否为直接父子关系
        boolean isDirectChild = checkFeature.getOwner().equals(targetParentFeature);
    }
}

注意事项

  • 上述方法对组合结构中的嵌套特征、引用型特征均生效,会自动识别组合结构的包含关联,无需额外处理特征的引用属性。
  • 调用前需确认两个特征对象均属于同一模型分支,跨项目、跨分支调用会固定返回false。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:21:02