Autodesk Navisworks API
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
How to save a Search to Selection set by Navisworks API
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
// New a Search
Navisworks.Search s = new Navisworks.Search();
// Add a search Condition
Navisworks.SearchCondition scName = Navisworks.SearchCondition.HasPropertyByDisplayNam
scName = scName.EqualValue(Navisworks.VariantData.FromDispl
s.SearchConditions.Add(scName);
// Get Search Result
Navisworks.ModelItemCollection searchRst = s.FindAll(Navisworks.Application.ActiveDocument, false);
if (searchRst.Count > 0)
{
// Save to current Search
Navisworks.Application.ActiveDocument.CurrentSearc
// Create Search Set
ComApi.InwOpSelectionSet2 ss = state.ObjectFactory
(ComApi.nwEObjectType.eObjectType_nwOpSelectionSet
ss.name = selCompName;
// Add Find Spec
ComApi.InwOpFindSpec nwFindSpec = state.ObjectFactory
(ComApi.nwEObjectType.eObjectType_nwOpFindSpec) as ComApi.InwOpFindSpec;
// Set Find spec with Current Search
nwFindSpec = state.CurrentFindSpec;
ss.ImplicitFindSpec = nwFindSpec;
// Add Search Set to Selection Sets
state.SelectionSets().Add(ss);
}
Re: How to save a Search to Selection set by Navisworks API
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
In this case, Search is a .NET object while InwXXX are COM objects. Although COM interop allows you communicate between COM API and .NET API, this does not mean the COM objects can be assigned to the .NET objects.
Please refer to the two blogs. I think they answered your question.
http://adndevblog.typepad.com/aec/2012/08/add-sear
http://adndevblog.typepad.com/aec/2012/08/add-sear
Xiaodong Liang
Developer Technical Services
Autodesk Developer Network
