2016-08-02 4 views
0

Revit에서 스위프 요소가 패밀리 안에 있으며 프로그래밍 방식으로 작업 기준면을 설정하고 싶습니다.프로그래밍 방식으로 요소의 작업 기준면을 설정 하시겠습니까?

Revit에서 내 가족을 두 번 클릭 한 다음 스윕을 선택하고 Edit Work Plane을 클릭하면됩니다. 여기서는 작업 평면이되도록 명명 된 참조 평면을 선택할 수 있습니다.

Revit API를 사용하면 어떻게됩니까? 내가 찾을 수있는 작업면과 관련된 유일한 항목은 인 GetOrderedParameters() 메서드입니다.

var parameter = sweep.get_Parameter(BuiltInParameter.SKETCH_PLANE_PARAM); 
parameter.Set("new parameter value"); 

그러나 SKETCH_PLANE_PARAM 매개 변수는 읽기 전용입니다 :

내가 지금까지 발견 어떤 업데이트 것은

이있다. 다른 방법으로 설정하는 방법이 있습니까?

답변

0

그래서 저는 작업 영역을 명명 된 작업 영역으로 설정하는 방법을 알고 있지 않습니다. (확실한 방법이 있습니다. 지금은 생각할 수 없습니다.) 그러나 지금까지 무엇을 할 수 있는지에 관해서는 언급하고있는 작업 평면의 높이를 알아보고 아래 코드를 사용하십시오.

 using (Transaction trans = new Transaction(CurrentDocument, "Setting the workplane...")) 
     { 
      Parameter sketchPlane = sweep.get_Parameter(BuiltInParameter.SKETCH_PLANE_PARAM); 

      // do whatever modifications you need to do to the parameter 

      sweep.ParametersMap.set_Item("SKETCH_PLANE_PARAM", sketchPlane); 

      trans.Commit(); 
     } 
+0

이렇게 접근하려고했던 것과 같은 방법입니다. 문제가 있지만'SKETCH_PLANE_PARAM'이 읽기 전용이기 때문에 작동하지 않습니다 –

+0

@MikeDelta - 당신은 sweep.ParametersMaps.set_item() 메소드를 시도 했습니까? 어느 경우이든, 오늘 밤 집에 올 때 다시 한 번 시도해보고 – prestonsmith

+0

예. 나는 그것을 시도하고 "읽기 전용"예외가 발생합니다. –