VIZZARD Document Help

측정점을 활용한 측정 정보 생성

측정점을 활용한 거리 및 각도 측정 예제

측정점을 활용한 거리 측정

// 조회중인 모델이 있는 경우에만 수행 if (Connector.IsOpenDocument() == false) return; // 측정점이 없으므로, 선택된 모델의 COG에서 가장 가까운 모델 표면 검색 List<NodeVO> items = Connector.GetSelectedObjects(false); if (items.Count < 2) return; // 스타일 설정 Connector.SetMeasurementArrowColor(Color.Red); Connector.SetMeasurementArrowSize(12); Connector.SetMeasurementLineColor(Color.Black); List<Vertex3D> Positions = new List<Vertex3D>(); List<Vertex3D> Directions = new List<Vertex3D>(); for (int i = 0; i < items.Count; i++) { float[] pt = Connector.GetPointOnModelNearByCOG(new int[] { items[i].Index }); Positions.Add(new Vertex3D(pt[0], pt[1], pt[2])); } // Direction 없는 경우 Parallel (First & Last) // Z방향 거리 //Directions.Add(new Vertex3D(0, 0, 1)); Vertex3D OffsetDirection = new Vertex3D(0, 0, 1); List<int> ReviewID = Connector.AddUserDimensionItem_MultiPointDistance( Positions /* 측정 포인트 */ , Directions /* 측정 방향 */ , OffsetDirection /* 측정 표시 방향 */ , 130.0f /* 측정 표시 Offset */ , 3 /* 글자 크기(0~5) */ , Color.Black /* 글자색 */ , Color.Yellow /* 배경색 */ , 2 /* 소수점 이하 표시 개수 */ ); // 화면 갱신 if (ReviewID.Count != 0) Connector.EnableRender(true);

Figure 1 : 측정점을 활용한 거리 측정 표시

VIZZARD_DEV_MEASURE_01.png

    Figure 2 : 측정 결과 화면 (예)

    VIZZARD_DEV_MEASURE_02.png
    VIZZARD_DEV_MEASURE_03.png

      측정점을 활용한 각도 측정

      // 원점 Vertex3D BasePosition = new Vertex3D(123951, 1256, 2018); // 측정포인트 1 Vertex3D Position1 = new Vertex3D(143951, 1056, 2018); // 측정포인트 2 Vertex3D Position2 = new Vertex3D(163951, 1256, 2018); int ID = Connector.AddUserDimensionItem_3PointAngle( BasePosition /* 원점 */ , Position1 /* 측정포인트 1 */ , Position2 /* 측정포인트 2 */ , 100f /* 측정 표시 Offset */ , 3 /* 글자 크기(0~5) */ , Color.Blue /* 글자색 */ , Color.Wheat /* 배경색 */ , 2 /* 소수점 이하 표시 개수 */ );
      Last modified: 04 3월 2024