2017-03-06 4 views
0

모든 일반 모델, 즉 패널 및 부품의 치수를 지정하고 싶습니다. 나는 이것을 성취 할 길을 선택했다. 그러나 내가 볼 수있는 유일한 문제는 벽을 재 패터닝 할 때 치수를 무시할 수 없다는 것입니다.부품 또는 일반 모델에 부착 된 치수 Revit

개인 정적 무효 CreateDimension이 가 { 이 { (! start.IsEqual (끝)) { 사용하는 경우 (거래 시도 (XYZ 시작은, XYZ의 끝,보기보기, 더블 문자열 텍스트, XYZ의 디렉토리는, 오프셋) t = 새 거래 (AppMain.Settings.ActiveDoc, "차원 추가")) { t.Start();

    Curve c = Line.CreateBound(start, end); 

        XYZ normal = dir.Multiply(offset); 

        Line tranformed = c.CreateTransformed(Transform.CreateTranslation(normal)) as Line; 

        if (null != tranformed) 
        { 
         XYZ ai = start; 
         XYZ ao = tranformed.GetEndPoint(0); 
         Line lineA = Line.CreateBound(ai, ao); 
         DetailCurve modelcurveA = AppMain.Settings.ActiveDoc.Create.NewDetailCurve(view, lineA); 

         XYZ bi = end; 
         XYZ bo = tranformed.GetEndPoint(1); 
         Line lineB = Autodesk.Revit.DB.Line.CreateBound(bi, bo); 
         DetailCurve modelcurveB = AppMain.Settings.ActiveDoc.Create.NewDetailCurve(view, lineB); 

         ReferenceArray ra = new ReferenceArray(); 
         ra.Append(modelcurveA.GeometryCurve.Reference); 
         ra.Append(modelcurveB.GeometryCurve.Reference); 

         Line lineAB = Line.CreateBound(ao, bo); 
         Dimension dimension = AppMain.Settings.ActiveDoc.Create.NewDimension(view, lineAB, ra); 
         dimension.Below = text; 
        } 


        t.Commit(); 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      AppMain.Settings.LogErrorMessage(ex.Message); 
     } 
    } 

다른 방법이 있습니까?

덕분에, 롭

답변

0

는 사용자 인터페이스를 통해 수동으로이 문제를 해결하는 방법을 발견 했습니까? 이는 주로 Revit API 작업을 시작할 때 가장 좋은 장소입니다. 당신이 UI를 통해 그것을 해결할 수 있다면, 그것은 또한 자동화 될 수있는 좋은 기회입니다. UI 솔루션이 발견되지 않으면 자동화도 거의 불가능합니다.

수동 수정을 실행하여 관련된 요소와 해당 매개 변수의 Revit 데이터베이스에서 발생하는 정확한 차이점을 분석했습니다. 수동 UI 상호 작용에 의해 변경된 사항을 정확히 발견하면 API를 통해 프로그래밍 방식으로 동일한 변경 사항을 복제 할 수 있습니다. 다음은 Revit API 프로그래밍 작업을 처리하는 방법에 대한 자세한 설명입니다.

http://thebuildingcoder.typepad.com/blog/2017/01/virtues-of-reproduction-research-mep-settings-ontology.html#3