2401_84674419 2025-04-28 18:26 采纳率: 0%
浏览 9

Tekla 19.0版本中的API中 哪个是控制视图显示过滤的

19.0版本里面 View中没有过滤这一项 我要根据构件号在视图中显示出来 谁能帮忙解惑一下

  • 写回答

3条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-04-28 18:27
    关注

    让【宝码香车】来帮你解答,本回答参考DeepSeek编写,并整理提供。
    如果还有疑问可以点击头像关注私信或评论。如果答案让您满意,请采纳、点赞、关注,非常感谢!

    Tekla 19.0 API 视图显示过滤控制

    在 Tekla Structures 19.0 版本中,视图过滤功能主要通过 ViewFilter 类和相关 API 实现,而不是直接在 View 类中。

    解决方案

    要通过构件号控制视图显示,可以使用以下方法:

    using Tekla.Structures.Model;
    using Tekla.Structures.Model.UI;
    
    public void FilterViewByPartMark(string partMark)
    {
        Model model = new Model();
        View view = ViewHandler.GetSelectedViews().FirstOrDefault();
        
        if (view != null)
        {
            // 创建视图过滤器
            ViewFilter filter = new ViewFilter();
            
            // 设置过滤条件 - 按构件号
            filter.PartMark = partMark;
            
            // 应用过滤器到视图
            view.ViewFilter = filter;
            
            // 更新视图显示
            view.Modify();
            model.CommitChanges();
        }
    }
    

    关键API说明

    1. ViewFilter 类 - 用于定义视图过滤条件
    2. View.ViewFilter 属性 - 将过滤器应用到视图
    3. View.Modify() - 应用修改后的视图设置

    其他过滤选项

    你也可以组合多个过滤条件:

    ViewFilter filter = new ViewFilter();
    filter.PartMark = "B1";  // 构件号
    filter.Phase = 1;        // 阶段
    filter.Class = "Steel";  // 类别
    

    注意:确保在修改视图后调用 model.CommitChanges() 来保存更改。

    希望这能解决你在 Tekla 19.0 中控制视图显示过滤的问题!

    评论

报告相同问题?

问题事件

  • 创建了问题 4月28日