Grid System
Import & Create Grid System
Import Grid System
Frame(SHIPGRID) 파일을 아래와 같이 로드할 수 있습니다.
// 모델이 로딩된 상태에서만 동작함.
if (Connector.IsOpenDocument() == false) return;
int status = Connector.ImportGridSystem(
"C:\\MODEL\\H0000.dmp" /* File */
, true /* 로드 후, 조회 : True(로딩 후, 조회), Fals(로딩만 수행) */
);
/* Result (ImportGridSystem)
0 : ShipGrid file not found
1 : OK
2 : Already open
3 : Error (Unknown)*/
Figure 1 : 로딩 전/후

원격 저장소의 Frame(SHIPGRID) Stream 데이터 형식으로 로드가 가능합니다.
// 모델이 로딩된 상태에서만 동작함.
if (Connector.IsOpenDocument() == false) return;
// 로드되지 않은 경우에만 수행
if (Connector.HasGridSystem() == true) return;
string uri = "http://www.softhills.net/H0000.dmp";
byte[] buffer = SHConnector.Utility.Net.NetworkClient.DownloadData(uri);
int status = Connector.ImportGridSystemStream(buffer, true);
/* Result (ImportGridSystem)
0 : ShipGrid file not found
1 : OK
2 : Already open
3 : Error (Unknown)*/
Create Grid System
Grid 파일이 없는 경우, API를 통해 Grid 정보를 생성할 수 있습니다.
// 모델이 로딩된 상태에서만 동작함.
if (Connector.IsOpenDocument() == false) return;
// 로드되지 않은 경우에만 수행
if (Connector.HasGridSystem() == true) return;
// GridSystem 생성 시작
Connector.CreateGridSystem();
// X 축명 변경
Connector.UpdateGridAxis(Axis.X, "FR");
Connector.AddGridLine(Axis.X, 0, 0);
Connector.AddGridLine(Axis.X, 1, 77800);
Connector.AddGridLine(Axis.X, 2, 92495);
Connector.AddGridLine(Axis.X, 3, 119800);
Connector.AddGridLine(Axis.X, 4, 134500);
Connector.AddGridLine(Axis.X, 5, 142500);
Connector.AddGridLine(Axis.X, 6, 157200);
Connector.AddGridLine(Axis.X, 7, 161800);
Connector.AddGridLine(Axis.X, 8, 164500);
Connector.AddGridLine(Axis.X, 9, 170500);
Connector.AddGridLine(Axis.X, 10, 176500);
// Y축명 변경
Connector.UpdateGridAxis(Axis.Y, "LP");
Connector.AddGridLine(Axis.Y, -10, -64000);
Connector.AddGridLine(Axis.Y, -9, -60000);
Connector.AddGridLine(Axis.Y, -8, -54200);
Connector.AddGridLine(Axis.Y, -7, -52000);
Connector.AddGridLine(Axis.Y, -6, -48200);
Connector.AddGridLine(Axis.Y, -5, -42200);
Connector.AddGridLine(Axis.Y, -4, -36200);
Connector.AddGridLine(Axis.Y, -3, -30200);
Connector.AddGridLine(Axis.Y, -2, -24200);
Connector.AddGridLine(Axis.Y, -1, -18200);
Connector.AddGridLine(Axis.Y, 0, 0);
Connector.AddGridLine(Axis.Y, 1, 18200);
Connector.AddGridLine(Axis.Y, 2, 24200);
Connector.AddGridLine(Axis.Y, 3, 30200);
Connector.AddGridLine(Axis.Y, 4, 36200);
Connector.AddGridLine(Axis.Y, 5, 42200);
Connector.AddGridLine(Axis.Y, 6, 48200);
Connector.AddGridLine(Axis.Y, 7, 52000);
Connector.AddGridLine(Axis.Y, 8, 54200);
Connector.AddGridLine(Axis.Y, 9, 60000);
Connector.AddGridLine(Axis.Y, 10, 64000);
//Z 축명 변경
Connector.UpdateGridAxis(Axis.Z, "LP");
Connector.AddGridLine(Axis.Z, 0, 0);
Connector.AddGridLine(Axis.Z, 1, 103500);
Connector.AddGridLine(Axis.Z, 2, 109200);
Connector.AddGridLine(Axis.Z, 3, 112875);
Connector.AddGridLine(Axis.Z, 4, 114750);
Connector.AddGridLine(Axis.Z, 5, 119850);
Connector.AddGridLine(Axis.Z, 6, 123115);
Connector.AddGridLine(Axis.Z, 7, 125500);
Connector.AddGridLine(Axis.Z, 8, 131740);
Connector.AddGridLine(Axis.Z, 9, 137500);
// GridSystem 생성 종료
Connector.FinishGridSystem(true);
Last modified: 04 3월 2024