天天看点

NW中Geometry的使用技巧

  • 设置SelectionBehavior
  • 利用Search去查找
// 查找所有
        public ModelItemCollection GetGeometrys()
        {
            Search s = new Search();
            s.Selection.SelectAll();
            s.SearchConditions.Add(SearchCondition.HasCategoryByName(PropertyCategoryNames.Geometry));
            Document doc = Autodesk.Navisworks.Api.Application.ActiveDocument;
            ModelItemCollection itemColl = s.FindAll(doc, true);
            return itemColl;
        }
           
// 查找指定
        public ModelItemCollection GetGeometrys(ModelItemCollection modelItemCollection)
        {
            Search s = new Search();
            s.Selection.CopyFrom(modelItemCollection);
            s.SearchConditions.Add(SearchCondition.HasCategoryByName(PropertyCategoryNames.Geometry));
            Document doc = Autodesk.Navisworks.Api.Application.ActiveDocument;
            ModelItemCollection itemColl = s.FindAll(doc, true);
            return itemColl;
        }
           

我们可以把多有的Geometry记录在缓存中,这样会很方便的进行一些常规性操作。

比如:隐藏、显示、隔离、凸显等。

继续阅读