【发布时间】:2019-10-17 15:40:47
【问题描述】:
在调用 UIView.ZoomAndCenterRectangle() 方法时,我在 Revit 2018.2 中遇到了一些奇怪的行为。场景是我刚刚使用 3DView.CreateIsometric() 创建了一个新的 3D 视图,并且还将该 3DView 设置为 UIDocument 的 ActiveView。按照这些操作,只调用一次 UIView.ZoomAndCenterRectangle() 似乎根本不起作用。但是,如果在第一次之后立即调用它,则视图会正确缩放!
我最初的想法是,第一次 ZoomAndCenter 调用可能只占用了 3DView 完全生成和开始接收调用的足够时间,尽管这似乎不太可能,因为我的印象是 Revit 外部命令完全同步运行。无论如何,我尝试了以下代码,这会导致 500 毫秒的实际延迟:
int val = 0;
for(int i = 0; i < 500000000; i++)
{
val += i;
}
uiView.ZoomAndCenterRectangle(max, min);
//uiView.ZoomAndCenterRectangle(max, min);
但这仍然不起作用......所以似乎出于某种奇怪的原因,您确实必须运行两次调用才能执行它:
uiView.ZoomAndCenterRectangle(max, min);
uiView.ZoomAndCenterRectangle(max, min);
我错过了什么!!??
【问题讨论】: