AddNoteSurfaceByPosition
public int AddNoteSurfaceByPosition(Vertex3D surface, Vertex3D position)
지시점의 좌표를 텍스트 박스에 표기하는 표면 노트 추가.
Remarks
사용자 텍스트가 아니라 지시점 좌표가 표기되는 노트를 만듦. 표기는 항상 좌표에서 생성되므로 제목을 따로 주지 않음.
표기 대상(사용자 텍스트 / 좌표)은 생성 시점에 정해지며 이후 서로 전환하는 수단은 제공되지 않음 —
일반 텍스트 노트가 필요하면 AddNoteSurface 를 사용.
보정 성분을 지정하면 반영 ON 상태에서 지시 좌표 + 보정 벡터 가 표기되고, OFF 면 지시 좌표가 표기됨.
좌표 표시 형식(좌표계·단위·소수 자릿수·표시 축)은 제품의 좌표 표시 설정을 따름.
전제조건 — 모델이 열려 있어야 함.
Parameters
| Name | Type | Description |
|---|---|---|
| surface | Vertex3D | 지시할 표면점(설계점). 이 좌표가 표기 대상 |
| position | Vertex3D | 텍스트 박스(라벨) 위치 |
Returns
| Type | Description |
|---|---|
| int | 생성된 노트 아이디(ID). 실패 시 -1 |
Examples
// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;
private void Example()
{
// 전제조건 — 모델이 열려 있어야 노트를 모델 좌표계 위에 만들 수 있음.
if (vizcore3d.Model.IsOpen() == false) return;
VIZCore3D.NET.Data.Vertex3D surface = new VIZCore3D.NET.Data.Vertex3D(1000.0f, 0.0f, 500.0f);
VIZCore3D.NET.Data.Vertex3D label = new VIZCore3D.NET.Data.Vertex3D(1500.0f, 0.0f, 900.0f);
// 좌표를 표기하는 노트 생성. 이 시점 표기는 지시점 좌표.
int id = vizcore3d.Review.Note.AddNoteSurfaceByPosition(surface, label);
if (id <= 0) return;
// 보정 성분 목록. Root Gap 과 건조 마진을 같은 방향의 성분 두 개로 지정.
// 방향은 크기가 무시되고 방향만 쓰이므로 이동량은 각 성분의 크기 합(= 12) 이 됨.
List<VIZCore3D.NET.Data.CorrectionTerm> terms = new List<VIZCore3D.NET.Data.CorrectionTerm>();
terms.Add(new VIZCore3D.NET.Data.CorrectionTerm(8.0f, new VIZCore3D.NET.Data.Vector3D(0.0f, 0.0f, 1.0f))); // Root Gap
terms.Add(new VIZCore3D.NET.Data.CorrectionTerm(4.0f, new VIZCore3D.NET.Data.Vector3D(0.0f, 0.0f, 1.0f))); // 건조 마진
vizcore3d.Review.Note.SetCorrectionTerms(id, terms);
// 반영 ON — 표기가 (지시 좌표 + 보정) 으로 바뀜.
vizcore3d.Review.Note.SetCorrectionApplied(id, true);
// 표기 문자열을 해석하지 않고 좌표를 직접 조회.
VIZCore3D.NET.Data.Vertex3D basePos = vizcore3d.Review.Note.GetCorrectionBasePosition(id);
VIZCore3D.NET.Data.Vertex3D applied = vizcore3d.Review.Note.GetCorrectionAppliedPosition(id);
// 반영 OFF — 표기가 지시 좌표로 돌아감.
vizcore3d.Review.Note.SetCorrectionApplied(id, false);
}