주 콘텐츠로 건너뛰기
JSON Manual 생성 편집

General Link

Input URI

{base url} + db/NLNK-M1



 

Active Methods

POST, GET, PUT, DELETE



 

JSON Schema

Details

{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "Assign"
  ],
  "properties": {
    "Assign": {
      "type": "object",
      "description": "인덱스 문자열 키별 General Link (Nonlinear Link) 입력 값",
      "minProperties": 1,
      "additionalProperties": {
        "type": "object",
        "unevaluatedProperties": false,
        "allOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "PROP_NAME",
              "NODE1",
              "NODE2",
              "REF_SYSTEM"
            ],
            "properties": {
              "PROP_NAME": {
                "type": "string",
                "description": "Name (UI는 PropKey(ItemData)로 관리하나 DTO는 이름(CString)으로 노출. 서버가 GetNllpKey로 역조회하여 존재 검증. 없으면 LV_WRONG_DATA/UNKNOWN)"
              },
              "NODE1": {
                "type": "integer",
                "description": "2 Nodes (UI 단일 입력란이 DTO 2개 필드로 분할됨. 노드 리스트의 첫째=NODE1, 둘째=NODE2)"
              },
              "NODE2": {
                "type": "integer",
                "description": "2 Nodes (UI 단일 입력란이 DTO 2개 필드로 분할됨. 노드 리스트의 첫째=NODE1, 둘째=NODE2)"
              },
              "REF_SYSTEM": {
                "type": "integer",
                "description": "Element / Global (M1은 enum 미노출 — int 코드로 전달. MEC DB에는 별도 저장 없으나 DTO에서는 필수)",
                "enum": [
                  0,
                  1
                ]
              },
              "BETA_ANGLE": {
                "type": "number",
                "default": 0,
                "description": "Beta Angle (단위 [deg]. Element/Angle 모드의 직접 입력값)"
              },
              "INPUT_METHOD": {
                "type": "integer",
                "description": "Angle / 3 points / Vector (M1은 enum 미노출 — int 코드로 전달)",
                "enum": [
                  0,
                  1,
                  2
                ]
              },
              "ANGLE_VALUES": {
                "type": "array",
                "description": "about X (MEC DB에는 미저장이지만 DTO에는 승격되어 노출. 단위 [deg])",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "VALUE"
                  ],
                  "properties": {
                    "VALUE": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "VALUE (좌표/각도 벡터. 용도에 따라 길이 3 요구 (ANGLE: x/y'/z\", POINT: X/Y/Z, VECTOR: X/Y/Z))"
                    }
                  }
                }
              },
              "POINT_VALUES": {
                "type": "array",
                "description": "P0 (좌표 (X, Y, Z). 3점이 유효 평면을 결정해야 함 (calcPlaneLocalVector))",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "VALUE"
                  ],
                  "properties": {
                    "VALUE": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "VALUE (좌표/각도 벡터. 용도에 따라 길이 3 요구 (ANGLE: x/y'/z\", POINT: X/Y/Z, VECTOR: X/Y/Z))"
                    }
                  }
                }
              },
              "VECTOR_VALUES": {
                "type": "array",
                "description": "V1 (벡터 성분 (Vx, Vy, Vz). 두 벡터가 유효 평면을 결정해야 함)",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "VALUE"
                  ],
                  "properties": {
                    "VALUE": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "VALUE (좌표/각도 벡터. 용도에 따라 길이 3 요구 (ANGLE: x/y'/z\", POINT: X/Y/Z, VECTOR: X/Y/Z))"
                    }
                  }
                }
              },
              "GROUP_NAME": {
                "type": "string",
                "default": "",
                "description": "Boundary Group Name (UI는 GroupKey(ItemData)로 관리하나 DTO는 이름(CString)으로 노출. 빈 문자열 허용 (= 그룹 미지정))"
              }
            },
            "allOf": [
              {
                "description": "REF_SYSTEM == 0이면 BETA_ANGLE이 필요합니다.",
                "if": {
                  "properties": {
                    "REF_SYSTEM": {
                      "const": 0
                    }
                  },
                  "required": [
                    "REF_SYSTEM"
                  ]
                },
                "then": {
                  "required": [
                    "BETA_ANGLE"
                  ]
                }
              },
              {
                "description": "REF_SYSTEM == 1이면 INPUT_METHOD가 필요합니다.",
                "if": {
                  "properties": {
                    "REF_SYSTEM": {
                      "const": 1
                    }
                  },
                  "required": [
                    "REF_SYSTEM"
                  ]
                },
                "then": {
                  "required": [
                    "INPUT_METHOD"
                  ]
                }
              },
              {
                "description": "REF_SYSTEM == 1 && INPUT_METHOD == 0이면 ANGLE_VALUES가 필요합니다.",
                "if": {
                  "properties": {
                    "REF_SYSTEM": {
                      "const": 1
                    },
                    "INPUT_METHOD": {
                      "const": 0
                    }
                  },
                  "required": [
                    "REF_SYSTEM",
                    "INPUT_METHOD"
                  ]
                },
                "then": {
                  "required": [
                    "ANGLE_VALUES"
                  ]
                }
              },
              {
                "description": "REF_SYSTEM == 1 && INPUT_METHOD == 1이면 POINT_VALUES가 필요합니다.",
                "if": {
                  "properties": {
                    "REF_SYSTEM": {
                      "const": 1
                    },
                    "INPUT_METHOD": {
                      "const": 1
                    }
                  },
                  "required": [
                    "REF_SYSTEM",
                    "INPUT_METHOD"
                  ]
                },
                "then": {
                  "required": [
                    "POINT_VALUES"
                  ]
                }
              },
              {
                "description": "REF_SYSTEM == 1 && INPUT_METHOD == 2이면 VECTOR_VALUES가 필요합니다.",
                "if": {
                  "properties": {
                    "REF_SYSTEM": {
                      "const": 1
                    },
                    "INPUT_METHOD": {
                      "const": 2
                    }
                  },
                  "required": [
                    "REF_SYSTEM",
                    "INPUT_METHOD"
                  ]
                },
                "then": {
                  "required": [
                    "VECTOR_VALUES"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}



 

Examples

Reference Coordinate System - Element

{
  "Assign": {
    "1": {
      "PROP_NAME": "NLL_PROP_1",
      "NODE1": 101,
      "NODE2": 102,
      "REF_SYSTEM": 0,
      "BETA_ANGLE": 0,
      "GROUP_NAME": "Boundary Group 1"
    }
  }
}

Reference Coordinate System - Global

{
  "Assign": {
    "1": {
      "PROP_NAME": "NLL_PROP_1",
      "NODE1": 101,
      "NODE2": 102,
      "REF_SYSTEM": 1,
      "INPUT_METHOD": 0,
      "ANGLE_VALUES": [
        {
          "VALUE": [
            0,
            0,
            0
          ]
        }
      ],
      "GROUP_NAME": "Boundary Group 1"
    }
  }
}



 

Specifications

No. Description Key Value Type Default Required

1

General Link Property Name

"PROP_NAME"

string

-

Required

2

Node Number 1

"NODE1"

integer

-

Required

3

Node Number 1

"NODE2"

integer

-

Required

4

Reference Coordinate System

• Element: 0

• Global: 1

"REF_SYSTEM"

integer (enum)

-

Required

When REF_SYSTEM = 0

5

Beta Angle

"BETA_ANGLE"

number

0

Required

When REF_SYSTEM = 1

6

Input Method

• Angle: 0

• 3 Points: 1

• Vector: 2

"INPUT_METHOD"

integer (enum)

-

Required

When INPUT_METHOD = 0

7

Angle Value

"ANGLE_VALUES"

array [object]

-

Required

(1)

VALUE

[X, Y, Z]

"VALUE"

array

-

Required

When INPUT_METHOD = 1

8

Points Value

"POINT_VALUES"

array [object]

-

Required

(1)

VALUE

[P0, P1, P2]

"VALUE"

array

-

Required

When INPUT_METHOD = 2

9

Vector Value

"VECTOR_VALUES"

array [object]

-

Required

(1)

VALUE

[V1, V2]

"VALUE"

array

-

Required

10

Boundary Group Name

"GROUP_NAME"

string

Optional

0
컨텐츠가 도움이 되셨나요?