SetCorrectionTerms
Overloads
| Name | Description |
|---|---|
| SetCorrectionTerms(int id, List<CorrectionTerm> terms) | 노트의 보정 성분 지정. |
| SetCorrectionTerms(NoteItem note, List<CorrectionTerm> terms) | 노트의 보정 성분 지정. |
SetCorrectionTerms(int id, List<CorrectionTerm> terms)
public void SetCorrectionTerms(int id, List<CorrectionTerm> terms)
노트의 보정 성분 지정.
Remarks
빈 목록이나 null 을 넘기면 보정이 해제됨. 반영 중이면 지정 즉시 표기가 새 값으로 갱신됨.
Parameters
| Name | Type | Description |
|---|---|---|
| id | int | 대상 노트 아이디(ID) |
| terms | List<CorrectionTerm> | 보정 성분 목록 |
Examples
// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;
private void Example(int id)
{
// 전제조건 — 좌표 표기 노트여야 함. 좌표 표기를 지원하지 않는 노트는 지시점 조회가 null 이 됨.
if (vizcore3d.Review.Note.GetCorrectionBasePosition(id) == null) return;
// 성분 = 크기 × 방향. 방향 벡터의 크기는 무시되고 방향만 쓰이므로,
// 같은 방향의 성분 두 개를 주면 이동량은 크기의 합(= 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);
vizcore3d.Review.Note.SetCorrectionApplied(id, true);
// 반영 중에 값을 수정하는 경우 — 다시 켤 필요 없이 표기가 즉시 갱신됨.
terms[0].Value = 20.0f;
vizcore3d.Review.Note.SetCorrectionTerms(id, terms);
// 성분만 비우려면 빈 목록 — 반영 상태는 그대로이며 표기는 지시 좌표가 됨.
vizcore3d.Review.Note.SetCorrectionTerms(id, new List<VIZCore3D.NET.Data.CorrectionTerm>());
}
SetCorrectionTerms(NoteItem note, List<CorrectionTerm> terms)
public void SetCorrectionTerms(NoteItem note, List<CorrectionTerm> terms)
노트의 보정 성분 지정.
Remarks
빈 목록이나 null 을 넘기면 보정이 해제됨. 반영 중이면 지정 즉시 표기가 새 값으로 갱신됨.
Parameters
| Name | Type | Description |
|---|---|---|
| note | NoteItem | 대상 노트 |
| terms | List<CorrectionTerm> | 보정 성분 목록 |
Examples
// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;
private void Example()
{
// 전제조건 — 화면에서 노트를 선택해 두어야 함. 선택이 없으면 대상이 없어 중단.
List<VIZCore3D.NET.Data.NoteItem> notes = vizcore3d.Review.Note.GetSelectedItems();
if (notes.Count == 0) return;
// 선택된 용접선 노트에 용접 수축량을 일괄 지정.
List<VIZCore3D.NET.Data.CorrectionTerm> terms = new List<VIZCore3D.NET.Data.CorrectionTerm>();
terms.Add(new VIZCore3D.NET.Data.CorrectionTerm(3.0f, new VIZCore3D.NET.Data.Vector3D(0.0f, 0.0f, -1.0f)));
foreach (VIZCore3D.NET.Data.NoteItem note in notes)
{
// 좌표 표기 노트가 아니면 건너뜀(일반 텍스트 노트는 보정 대상이 아님).
if (vizcore3d.Review.Note.GetCorrectionBasePosition(note) == null) continue;
vizcore3d.Review.Note.SetCorrectionTerms(note, terms);
vizcore3d.Review.Note.SetCorrectionApplied(note, true);
}
}