• Navisworks二次开发——根据属性值筛选出图元


    try
                {
                    IList list = new List();
                    foreach (var item in Autodesk.Navisworks.Api.Application.ActiveDocument.CurrentSelection.SelectedItems)
                    {
                        var cat = item.DescendantsAndSelf.Where(i => i.PropertyCategories.FindCategoryByDisplayName("元素") != null);
                        var pro = cat.Where(m => m.PropertyCategories.FindCategoryByDisplayName("元素").Properties.FindPropertyByDisplayName("族") != null);
                        foreach (ModelItem m in pro)
                        {
                            if (GetPropertyValue(m.PropertyCategories.FindCategoryByDisplayName("元素").Properties.FindPropertyByDisplayName("族")) == "条形窗")
                            {
                                list.Add(m);
                            }
                        }          
                    }
                    MessageBox.Show(list.Count.ToString());
                    Autodesk.Navisworks.Api.Application.ActiveDocument.CurrentSelection.Clear();
                    Autodesk.Navisworks.Api.Application.ActiveDocument.CurrentSelection.AddRange(list);
                    return 0;
                }
                catch (Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.Message);//输出显示异常信息
                    return 0;
                }

     

  • 相关阅读:
    【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-ChapterB-sed 和 gawk 快速指南
    LeetCode 0263. 丑数
    HarmonyOS ArkUI实战开发-NAPI数据类型
    护士人文修养题目
    C51 - 定时器
    ES6 Object.assign()的用法
    Linux ARM平台开发系列讲解(调试篇) 1.3.2 RK3399移植Ubuntu文件系统步骤
    需求管理手册-需求管理者类型(9)
    Linux系统之编译安装python3
    【Manim CE】常用Mobject与使用
  • 原文地址:https://blog.csdn.net/qq_43451782/article/details/127138145