본문으로 건너뛰기

GetAngleMeasureDimensionRadius

Overloads

NameDescription
GetAngleMeasureDimensionRadius(int nReviewID)각도 측정 객체의 치수선 반경 크기를 반환한다.

GetAngleMeasureDimensionRadius(int nReviewID)

public float GetAngleMeasureDimensionRadius(int nReviewID)

각도 측정 객체의 치수선 반경 크기를 반환한다.

Parameters

NameTypeDescription
nReviewIDint객체 ID

Returns

TypeDescription
float반경 크기

Examples

// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;

private void Example()
{
// 3점 각도 측정 추가
Node node = vizcore3d.Object3D.FromDepth(0)[0];

VIZCore3D.NET.Data.Vertex3D angle1_p1 = new VIZCore3D.NET.Data.Vertex3D(node.GetBoundBox().MinX, node.GetBoundBox().MinY, node.GetBoundBox().MinZ);
VIZCore3D.NET.Data.Vertex3D angle1_vertex = new VIZCore3D.NET.Data.Vertex3D(node.GetBoundBox().MaxX, node.GetBoundBox().MinY, node.GetBoundBox().MinZ);
VIZCore3D.NET.Data.Vertex3D angle1_p3 = new VIZCore3D.NET.Data.Vertex3D(node.GetBoundBox().MaxX, node.GetBoundBox().MaxY, node.GetBoundBox().MinZ);

int id = vizcore3d.Review.Measure.AddCustom3PointAngle(angle1_p1, angle1_vertex, angle1_p3);

// 2D 뷰 화면 개체 생성
vizcore3d.Drawing2D.Object2D.Create2DViewObjectWithModelAtCanvasOrigin(Drawing2D_ModelViewKind.CURRENT);

// 3D 뷰 측정 2D 뷰에 측정 추가
vizcore3d.Drawing2D.Measure.Add2DMeasureFrom3DMeasure(new int[] { id });

// 생성된 모든 개체 반환
List<Object2D> list = vizcore3d.Drawing2D.Object2D.GetObjectAllinfoBy2DView();
List<Object2D> angleList = new List<Object2D>();

if (list.Count == 0) return;

// 2D 개체 유형이 각도 인 경우만
foreach (Object2D obj in list)
{
if (obj.Kind == Object2D_Types.MEASURE_ANGLE)
{
angleList.Add(obj);
}
}

if (angleList.Count > 0)
{
int id1 = angleList[0].ID; // 첫 번째 각도 측정 오브젝트 ID

// ----------------------------------------------------------
// [현재 상태 조회] 라벨 정렬 방향 및 자동 정렬 여부 확인
// - GetLabelAlignmentOnDimension : 현재 설정된 가로/세로 앵커 반환
// - IsLabelAlignedOnDimension : true이면 치수호 위 자동 정렬 상태
// ----------------------------------------------------------
vizcore3d.Drawing2D.Measure.GetLabelAlignmentOnDimension(id1, out LabelHorizontalAnchor hAlign1, out LabelVerticalAnchor vAlign1);

bool isAligned1 = vizcore3d.Drawing2D.Measure.IsLabelAlignedOnDimension(id1);

// ----------------------------------------------------------
// [치수호 반지름 조회] GetAngleMeasureDimensionRadius
// 현재 반지름 값 반환
// ----------------------------------------------------------
float r1 = vizcore3d.Drawing2D.Measure.GetAngleMeasureDimensionRadius(id1);

// ----------------------------------------------------------
// [치수호 반지름 변경]
// - SetAngleMeasureDimensionRadius : 기존 반지름의 1.2배로 확대 (조금 더 크게)
// 배율은 목적에 따라 자유롭게 조정 가능
// ----------------------------------------------------------
vizcore3d.Drawing2D.Measure.SetAngleMeasureDimensionRadius(id1, 1.2f * r1);

// ----------------------------------------------------------
// [라벨 정렬 변경]
// - SetLabelAlignmentOnDimension : Right + Top → 치수호 오른쪽 위에 라벨 고정
// ----------------------------------------------------------
vizcore3d.Drawing2D.Measure.SetLabelAlignmentOnDimension(id1, LabelHorizontalAnchor.Right, LabelVerticalAnchor.Top);
}
}