2014-06-30 4 views
0

저는 여러 가지 다양한 Revit 범주의 요소를 사용하여 가상 "다듬기/연장"평면으로 사용할 두 개의 끝점을 찾는 코드 작업을하고 있습니다. 내가 그리드 및 참조 평면에 대한 유사한 방법을 사용할 때이, 그러나 ...... 상세 선 & 구조 프레임에 대한Revit 참조 평면 또는 격자에 대한 형상 정보를 얻는 데 대한 비밀이 있습니까?

switch (Ref_Plane_Category){ 
    case "Lines": { 
       LocationCurve xloc = Ref_Plane.Location as LocationCurve; 
       End3 = xloc.Curve.GetEndPoint(0); 
       End4 = xloc.Curve.GetEndPoint(1); break; 
    } 
    case "Structural Framing": { 
       Options options = new Options(); 
       AnalyticalModel xmodel = Ref_Plane.GetAnalyticalModel(); 
       Curve xcurve = xmodel.GetCurve(); 
       End3 = xcurve.GetEndPoint(0); End4 = xcurve.GetEndPoint(1); break; 
    } 

작업 한 Revit에서 일반적으로 "개체 참조가 인스턴스로 설정되지 않았습니다 (오류로 응답 개체의 "). 나는 "Snoop"을 탐험했지만, "Plane"과 같은 탭 안에있는 나열된 값을 얻는 방법은 분명하지 않습니다. 누구든지 비슷한 정보 (예 : 그리드 또는 참조 평면의 두 지점)에 액세스하는 방법을 알고 있습니까? 현재, 추출한 포인트를 우회하고 사용하고 있습니다 ....

case "Grids": { 

       ObjectSnapTypes Snapper = ObjectSnapTypes.Nearest | ObjectSnapTypes.Endpoints; 
       End3 = m_doc.Selection.PickPoint(Snapper, "Pick One Point On Grid"); 
       ObjectSnapTypes Snappur = ObjectSnapTypes.Endpoints | ObjectSnapTypes.Nearest; 
       End4 = m_doc.Selection.PickPoint(Snappur, "Pick Another Point On Grid"); break; 
} 

.....하지만 사용 가능한 포인트를 직접 찾는 것이 더 낫습니다.

답변

0

참조 평면에는 종점이 없습니다. 캔버스를 만들 때 그들은 할 수 있습니다. 그러나 이론적으로는 객체가 무한합니다 ... 아마 프로그래밍 방식으로 끝점을 얻을 수없는 이유 일 것입니다. 그리드에도 똑같이 적용됩니다. 여기에 언급 된 추가 기능에는 3D 그리드를 만드는 도구가 있기 때문에 어디에서 끝점을 잡아야합니다.

그리드 및 참조 평면에는 모두 2D 및 3D 구성 요소가 있습니다. 그 정맥을 수색하는 것이 뭔가를 일으킬 수도 있습니다. 바탕 화면에 액세스 할 수있게되면 주변을 살펴볼 것입니다.