首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按对象进行过滤-- RATIONAL DOORS 9.6

按对象进行过滤-- RATIONAL DOORS 9.6
EN

Stack Overflow用户
提问于 2021-05-12 17:44:17
回答 1查看 41关注 0票数 0

是否可以设置仅显示每个选定对象后代的筛选器,或者创建一个新视图来执行此操作?

EN

回答 1

Stack Overflow用户

发布于 2021-05-12 19:34:53

如果你所说的“选择”是指用户选择了一个或多个对象(例如,使用shift-click),然后后代将神奇地出现在每个选定对象的下方,而无需任何进一步的用户交互,答案是“否”。

但是“是”,你可以写一个DXL脚本,将它添加到“用户”菜单中,让用户选择对象并启动菜单项。该脚本可以创建一个包含所有选定对象的跳过列表,使用如下内容

代码语言:javascript
复制
Skip sk = create
Object o
Module m = current
for o in m do {
    if isSelected o then put (sk, o, o)
}

然后创建一个包含所需列的新视图,并使用acceptreject填充视图,如下所示

代码语言:javascript
复制
for o in entire m do {
    if (find (sk, o)) {
        accept o
    } else {
        reject o
    }
}

编辑:忘记了子代:-|所以,在将所有对象从跳过添加到视图后,您将需要一个递归函数来显示子对象。如下所示:

代码语言:javascript
复制
void recursive_show_objects(Object o) {
    Object o2
    for o2 in o do {
        accept o2
        recursive_show_objects (o2)
    }
}
for o in sk do {
    recursive_show_objects (o)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67501128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档