我试图从链接文档中进行选择,但没有结果:
Document linkedDoc = testLinkedElement.GetLinkDocument();
UIDocument linkedUIDoc = new UIDocument(linkedDoc);
// Get the selection object from the UIDocument
Selection selection = linkedUIDoc.Selection;
// Get the selected elements
ICollection<ElementId> selectedElementIds = selection.GetElementIds();
当我尝试从链接的文档对象实例化 UIDocument 时收到错误 如果我使用活动 UIDocument,我将无法访问链接文档中的元素。
有什么建议吗?
我正在尝试从链接文档中进行选择,但没有结果 我假设 selectedElementIds 将填充选定的元素
这里是从链接元素获取元素id的示例,您可以尝试根据您的需要修改它并从元素中获取您想要的数据。
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
try
{
Reference selectedObj;
UIDocument uidoc = commandData.Application.ActiveUIDocument;
Document doc = uidoc.Document;
Selection sel = uidoc.Selection;
selectedObj = sel.PickObject(ObjectType.LinkedElement, "Select Linked Element");
RevitLinkInstance linkInstance = doc.GetElement(selectedObj) as RevitLinkInstance;
Document linkedDoc = linkInstance.GetLinkDocument();
ElementId xx = linkedDoc.GetElement(selectedObj.LinkedElementId).Id;
}
catch (Exception)
{
return Result.Failed;
}
return Result.Succeeded;
}
如果我希望用户在运行命令之前进行选择怎么办?仅使用选择而不是拾取对象