1

我正在尝试使用工作表上的Jeremy's Keys激活视口,并且我可以在执行 Debug Step-Through 时执行此操作,但由于某种原因,它在实时时不起作用。

我尝试了以下方法:

1)使用while循环等待活动视图成为视口的视图,但它似乎没有触发。

2)将其放在单独的事务中

3)尝试使用System.Threading.Thread.Sleep(2000);

4)开始研究异步,等待但是我还没有那么熟练。

有没有其他人遇到过这个问题并找到了解决方案?

我当前的 Sudo 代码类似于问题的标题。

draw a temporary line across viewport

doc.showElements(temporaryline)

delete temporary line

Select viewport

Press.Keys("AV")(AV是我选择视口时激活视图的快捷方式)

如果需要,我可以上传实际代码

/////////////////////puts///////////////////// 这是Culprit

//change views to sheet
uidoc.ShowElements(viewportElement); 


//select viewport
uidoc.Selection.SetElementIds(elementIdsViewPort);

//activate viewport
Press.Keys("AV");


4

1 回答 1

0

我可以想象,只要您的加载项处于活动状态,Revit 可能根本不会激活视图。您需要将控制权交还给 Revit,以便它能够执行任何操作。Revit 是单线程的,加载项占用单线程。我相信。

于 2020-06-14T14:05:33.737 回答