How to Pick a Edge using ISelectionFilter in a linked model

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi,
I need to enable user to select edge from a Revit linked model, how can I do to implement ISelectionFilter interface to select edge in revit linked model?
Cheers
Max
faceRef = uidoc.Selection.PickObject(ObjectType.LinkedElement,
new EdgeFilter(uidoc.Document),"Please pick a edge on a linked model to get it. ESC for terminate.");
public class EdgeFilter : ISelectionFilter
{
Document m_doc = null;
public EdgeFilter(Document doc)
{
m_doc = doc;
}
public bool AllowElement(Element element)
{
return false;
}
public bool AllowReference(Reference refer, XYZ point)
{
//Debugger.Break();
GeometryObject geoObject =
m_doc.GetElement(refer)
.GetGeometryObjectFromReference(refer);
return geoObject != null && geoObject is Edge;
}
}