打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何用Naviswork二次开发读取模型的实体句柄值?

  实体句柄值作为模型的“身份证”,在许多场合都有重要作用。例如,在按条件搜索模型时,便可通过实体句柄的值来进行搜索。实体句柄往往扮演着“桥梁”的角色,将模型与施工信息一一对应起来。模型的实体句柄值可以在“特性”或者“选择树”中显示,然而,在Navisworks二次开发中,如何通过程序来读取实体句柄值呢?

  思路:遍历模型的特性,找到实体句柄,读取值。

       string handlevalue;
       string[] HandleValue;

       string EntityHandle;
       public void 获取实体句柄()//一个获取实体句柄的函数
       {
         if(Autodesk.Navisworks.Api.Application.ActiveDocument!= null &&
            !Autodesk.Navisworks.Api.Application.ActiveDocument.IsClear)
           {
               documentControl1.Document.Tool.Value =Autodesk.Navisworks.Api.Tool.Select;    
               foreach (ModelItem item inAutodesk.Navisworks.Api.Application.ActiveDocument.CurrentSelection.SelectedItems)
               {
                   //iterate the item's PropertyCategory entries
                   foreach (PropertyCategory category initem.PropertyCategories)
                   {
                       //iterate over the DataPropertys
                       foreach (DataProperty dataProperty in category.Properties)
                       {
                           if (dataProperty.CombinedName.Name.ToString() =="LcOaNat64AttributeValue")//"LcOaNat64AttributeValue"我个人理解是在系统中的名称,我认为此步也可以读取dataProperty.DisplayName.Name.ToString(),只是需要调试一下,可以尝试                         

  {
                               
                 handlevalue =dataProperty.Value.ToString();//得到是字符串类似“displaystring:EB4”
                   HandleValue= handlevalue.Split(':');//按“:”分割
                  EntityHandle = dataProperty.Value.ToString();
                   MessageBox.Show(EntityHandle);
                           }

                       }
                   }
                   
                EntityHandle = HandleValue[1];//读取实体句柄
                MessageBox.Show(EntityHandle);//弹出对话框显示EntityHandle
               }
       }
       }

这样就可以在调用此函数,获取模型的实体句柄了。希望对大家有帮助!


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何把revit模型和navisworks模型进行同步?
【BIM工程师
基于BIM的水利工程施工现场安全管理
(Tekla Structures二次开发)初始化Tekla和二次开发程序之间的连接
TITAN GIS 地理信息系统 CIO俱乐部
数字孪生产品方案规划
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服