2017-10-25 3 views
0

슬리브 (특수 장비)와 그리드 선 사이의 치수를 그리려합니다.슬리브 (특수 장비)와 그리드 선 사이의 치수를 그리는 방법

하지만 우리가 오류 메시지를 던져 치수 REVIT를 적용 할 때 -

XYZ sleeve_xyz = null; 
        Element elm = doc.GetElement(Sleeve_id.Id); 
        FamilyInstance fi = elm as FamilyInstance; 
        Autodesk.Revit.DB.Location position = elm.Location; 
        Autodesk.Revit.DB.LocationPoint positionPoint = position as Autodesk.Revit.DB.LocationPoint; 
        sleeve_xyz = positionPoint.Point; 
        sleeve_xyz = new XYZ(sleeve_xyz.X, sleeve_xyz.Y, 0); 
        Reference sleeve_ref = GetSleeveReference(fi, SpecialReferenceType.CenterLR); 
        Grid first_grid2 = doc.GetElement(First_Grid_elemID) as Grid; 
        Reference gridRef = null; 
        Options opt = new Options(); 
        opt.ComputeReferences = true; 
        opt.IncludeNonVisibleObjects = true; 
        opt.View = doc.ActiveView; 
        foreach (GeometryObject obj in first_grid2.get_Geometry(opt)) 
        { 
         if (obj is Autodesk.Revit.DB.Line) 
         { 
          Autodesk.Revit.DB.Line line = obj as Autodesk.Revit.DB.Line; 
          gridRef = line.Reference; 
         } 
        } 
        XYZ gr_point2 = new XYZ(grid_intersection_point.X, sleeve_xyz.Y, 0.000000000); 
        Autodesk.Revit.DB.Line line5 = null; 
        line5 = Autodesk.Revit.DB.Line.CreateBound(gr_point2, sleeve_xyz); 
        ReferenceArray refArray = new ReferenceArray(); 
        refArray.Append(sleeve_ref); 
        refArray.Append(gridRef); 
        Dimension dim = doc.Create.NewDimension(doc.ActiveView, line5, refArray); 

Error

+0

필요한 경우 복사 할 수 있도록 여기에 코드를 붙여 넣으십시오. 사진을 제공하지 마십시오. – Ray

+0

Autodesk.Revit.DB.Line line = Autodesk.Revit.DB.Line.CreateBound (grid_XYZ_coordinate, sleeve_XYZ_coordinate); ReferenceArray refArray = new ReferenceArray(); refArray.Append (sleeve_Reference); refArray.Append (grid_Reference); Dimension dim = doc.Create.NewDimension (doc.ActiveView, line, refArray); –

+0

댓글에 댓글이 없습니다. 질문에 추가하십시오. – Ray

답변

0

사용자 인터페이스를 통해 수동으로 작동하는 차원 만들기 "참조 제거 강조 차원의 참조를 더 이상 병렬 없다" 먼저 RevitLookup을 사용하여 속성을 분석하고 정확한 참조가 무엇인지 확인하십시오. 일반적으로 사용자 인터페이스를 통해 Revit 제품에서 기능을 수동으로 사용할 수없는 경우 Revit API는이를 제공하지 않습니다.