2016-09-07 2 views
0

Idle 이벤트 핸들러에서 Revit API 2014를 사용하여 Revit 문서를 열었습니다. 그 후에는 3D보기를 활성화하려고하는데 몇 가지 예외가 발생합니다 (활성보기 설정이 일시적으로 비활성화 됨). 이 예외를 피할 수있는 방법이 있습니까? 아래의 코드와 저널 출력을 참조하십시오. 감사.Revit Revit API 2014를 사용하여 3D 뷰 활성화

참고 : 모델 없음 대화 상자는 아무 문제없이 3D보기를 활성화합니다.

코드 조각은 3D 뷰를 활성화하려면 저널 파일의

Document doc = uiApp.ActiveUIDocument.Document; 
FilteredElementCollector viewCollector = new FilteredElementCollector(doc); 
ElementClassFilter viewFilter = new ElementClassFilter(typeof(Autodesk.Revit.DB.View3D)); 
viewCollector.WherePasses(viewFilter); 

try 
{ 
    foreach (Autodesk.Revit.DB.View3D vw in viewCollector) 
    { 
     if (vw.IsValidObject && !vw.IsTemplate) 
     { 
      uiApp.ActiveUIDocument.ActiveView = vw; 
      break; 
     } 
    } 
} 

catch (Exception e) 
{ 
     throw e; 
} 
finally 
{ 
     viewCollector.Dispose(); 
     viewFilter.Dispose(); 
} 

지난 몇 라인 : 나는 공회전 이벤트 핸들러 중보기를 변경하려면 전화를받을 것

' 1:< ::10:: Delta VM: Avail -27 -> 8384734 MB, Used +4 -> 437 MB; RAM: Avail -13 -> 3329 MB, Used +5 -> 528 MB 
' C 07-Sep-2016 12:17:22.868; 1:< Exception in exportToObj() method :: Setting active view is temporarily disabled. 
' at RevitCommandListener.RevitCommandListenerService.OpenAndActivate3DView(UIApplication uiApp) 
' at RevitCommandListener.RevitCommandListenerService.exportToObj(UIApplication uiApp) 
+0

특정 Autodesk.Revit.Exceptions를 찾아 문제를 좁힐 수 있습니다. Revit API SDK는 UIDocument.ActiveView : ArgumentNullException, ArgumentException 및 InvalidOperation Exception을 사용하여 3 가지 잠재적 예외를 설명합니다. 활성보기를 설정할 때 예외가 발생할 수있는 조건을 설명합니다. – mtumminello

+0

이외에도 mtumiminello의 제안에 따라 모든 예외를 잡아서는 안된다는 점을 지적하고자합니다. http://thebuildingcoder.typepad.com/blog/2016/04/how-to-distinguish-redundant-rooms. html # 3 –

+0

위의 메모에서 "메모 : 모 델 대화 상자가 아무런 문제없이 ** 2D ***보기를 활성화합니다."라고 말하고 싶습니까? –

답변

1

합니다. 다른 곳에 넣을 수 있습니까? 나중에 호출되는 일부 메소드에는 유휴 이벤트 핸들러가 아닙니다. 생각할 수있는 한 가지 가능성은 뷰를 설정하고 Idling 이벤트 핸들러에서 PostCommand를 호출하여 나중에 X를 시작하는 외부 명령 X를 구현하는 것입니다. 그게 효과가 있는지 알려주세요. 고맙습니다.

+0

다음 스레드 (http://stackoverflow.com/questions/39720839/revit-to-pdf-conversion/) – amit

+0

귀하의 의견을 전혀이 질문에 할 수있는 것은 전혀없고 제자리에 있습니다 이리. 앞으로는 제발 그만둬주세요. –

+0

사과. 문제를 찾기 위해 필사적이었습니다. 그것을 명심하십시오. :) – amit

관련 문제