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

Material Properties

Input URI

{base url} + db/MATL-M1



 

Active Methods

POST, GET, PUT, DELETE



 

JSON Schema

Details

{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "Assign"
  ],
  "properties": {
    "Assign": {
      "type": "object",
      "description": "Assign",
      "minProperties": 1,
      "additionalProperties": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "MATL_NAME",
          "MATL_TYPE",
          "PARAM"
        ],
        "properties": {
          "MATL_NAME": {
            "type": "string",
            "description": "Name (공백 불가 (UI 제약과 동일))"
          },
          "MATL_TYPE": {
            "type": "string",
            "enum": [
              "STEEL",
              "CONC",
              "SRC",
              "USER"
            ],
            "description": "Type of Design (Aluminium / Timber 는 M1 API 미지원 — API 로는 해당 재료 생성/수정 불가)"
          },
          "PARAM": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "P_TYPE"
              ],
              "properties": {
                "P_TYPE": {
                  "type": "integer",
                  "enum": [
                    0,
                    1,
                    2
                  ],
                  "description": "Isotropic / Orthotropic (SRC 타입은 P_TYPE=2 (Orthotropic) 불가. RC 실제 Y=163 (Concrete 프레임 바로 아래))"
                },
                "STANDARD": {
                  "type": "string",
                  "description": "Standard (SRC 에서 Steel (PARAM[0]) 과 독립적으로 지정)"
                },
                "CODE": {
                  "type": "string",
                  "default": "",
                  "description": "Code (기본값 빈 문자열)"
                },
                "DB": {
                  "type": "string",
                  "description": "DB"
                },
                "PLASTIC_MATL_NAME": {
                  "type": "string",
                  "description": "Plastic Material Name"
                },
                "USER_DEFINED": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "bELAST": {
                      "type": "number",
                      "description": "Modulus of Elasticity (UI 의 '사용자 정의 탄성계수(JTG3362-18)' 체크는 API 에서 Analysis.bUserElast 필드에 반영되지만 DTO 에 직접 노출되지 않음 (서버 내부 복원 로직))"
                    },
                    "POISN": {
                      "type": "number",
                      "description": "Poisson's Ratio"
                    },
                    "THERMAL": {
                      "type": "number",
                      "description": "Thermal Coefficient (UI 의 Thermal Unit 라디오 (Celsius/Fahrenheit) 는 API 에 노출되지 않음 — 서버는 항상 내부 기본 단위)"
                    },
                    "DEN": {
                      "type": "number",
                      "description": "Weight Density (Iso/Ort 공용 필드 (USER_DEFINED.DEN))"
                    },
                    "ELAST_M": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 3,
                      "maxItems": 3,
                      "description": "Modulus of Elasticity (Local-x)"
                    },
                    "THERMAL_M": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 3,
                      "maxItems": 3,
                      "description": "Thermal Coefficient (Local-x)"
                    },
                    "SHEAR_M": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 3,
                      "maxItems": 3,
                      "description": "Shear Modulus (Local-xy)"
                    },
                    "POISN_M": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 3,
                      "maxItems": 3,
                      "description": "Poisson's Ratio (Local-xy)"
                    },
                    "bMASS_DENS": {
                      "type": "boolean",
                      "default": false,
                      "description": "Use Mass Density (UI 3개 체크 동기화는 API 레벨에서는 무의미 — 각 PARAM 별로 개별 bMASS_DENS 설정)"
                    },
                    "MASS": {
                      "type": "number",
                      "description": "Mass Density"
                    }
                  },
                  "allOf": [
                    {
                      "description": "bMASS_DENS = true 이면 MASS 가 필요합니다.",
                      "if": {
                        "properties": {
                          "bMASS_DENS": {
                            "const": true
                          }
                        },
                        "required": [
                          "bMASS_DENS"
                        ]
                      },
                      "then": {
                        "required": [
                          "MASS"
                        ]
                      }
                    },
                    {
                      "description": "bMASS_DENS = false 이면 MASS 를 전달하지 않습니다.",
                      "if": {
                        "properties": {
                          "bMASS_DENS": {
                            "const": false
                          }
                        },
                        "required": [
                          "bMASS_DENS"
                        ]
                      },
                      "then": {
                        "not": {
                          "required": [
                            "MASS"
                          ]
                        }
                      }
                    }
                  ]
                },
                "THERMAL_TRANS": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "HE_SPEC": {
                      "type": "number",
                      "default": 0,
                      "description": "Specific Heat (UI 에서 MEC 숨김. API 에는 PARAM[].THERMAL_TRANS.HE_SPEC 으로 노출 — 기본 0)"
                    },
                    "HE_COND": {
                      "type": "number",
                      "default": 0,
                      "description": "Heat Conduction (UI 에서 MEC 숨김. API 에는 PARAM[].THERMAL_TRANS.HE_COND 으로 노출 — 기본 0)"
                    }
                  }
                }
              },
              "allOf": [
                {
                  "description": "P_TYPE = 0(Standard)이면 STANDARD 와 DB 가 필요합니다.",
                  "if": {
                    "properties": {
                      "P_TYPE": {
                        "const": 0
                      }
                    },
                    "required": [
                      "P_TYPE"
                    ]
                  },
                  "then": {
                    "properties": {
                      "STANDARD": {
                        "type": "string",
                        "description": "Standard (P_TYPE = 0(Standard) branch)"
                      },
                      "CODE": {
                        "type": "string",
                        "default": "",
                        "description": "Code (branch-visible under P_TYPE = 0)"
                      },
                      "DB": {
                        "type": "string",
                        "description": "DB (P_TYPE = 0(Standard) branch)"
                      }
                    },
                    "required": [
                      "STANDARD",
                      "DB"
                    ]
                  }
                },
                {
                  "description": "P_TYPE = 1(Isotropic User) 이면 USER_DEFINED 의 등방성 속성이 필요합니다.",
                  "if": {
                    "properties": {
                      "P_TYPE": {
                        "const": 1
                      }
                    },
                    "required": [
                      "P_TYPE"
                    ]
                  },
                  "then": {
                    "required": [
                      "USER_DEFINED"
                    ],
                    "properties": {
                      "USER_DEFINED": {
                        "type": "object",
                        "properties": {
                          "bELAST": {
                            "type": "number",
                            "description": "Modulus of Elasticity (P_TYPE = 1)"
                          },
                          "POISN": {
                            "type": "number",
                            "description": "Poisson's Ratio (P_TYPE = 1)"
                          },
                          "THERMAL": {
                            "type": "number",
                            "description": "Thermal Coefficient (P_TYPE = 1)"
                          },
                          "DEN": {
                            "type": "number",
                            "description": "Weight Density (P_TYPE = 1)"
                          },
                          "bMASS_DENS": {
                            "type": "boolean",
                            "default": false,
                            "description": "Use Mass Density (common USER_DEFINED field)"
                          },
                          "MASS": {
                            "type": "number",
                            "description": "Mass Density (required if bMASS_DENS = true)"
                          }
                        },
                        "required": [
                          "bELAST",
                          "POISN",
                          "THERMAL",
                          "DEN"
                        ],
                        "not": {
                          "anyOf": [
                            {
                              "required": [
                                "ELAST_M"
                              ]
                            },
                            {
                              "required": [
                                "THERMAL_M"
                              ]
                            },
                            {
                              "required": [
                                "SHEAR_M"
                              ]
                            },
                            {
                              "required": [
                                "POISN_M"
                              ]
                            }
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "description": "P_TYPE = 2(Orthotropic User) 이면 USER_DEFINED 의 이방성 배열 속성이 필요합니다.",
                  "if": {
                    "properties": {
                      "P_TYPE": {
                        "const": 2
                      }
                    },
                    "required": [
                      "P_TYPE"
                    ]
                  },
                  "then": {
                    "required": [
                      "USER_DEFINED"
                    ],
                    "properties": {
                      "USER_DEFINED": {
                        "type": "object",
                        "properties": {
                          "DEN": {
                            "type": "number",
                            "description": "Weight Density (Iso/Ort common field)"
                          },
                          "ELAST_M": {
                            "type": "array",
                            "description": "Modulus of Elasticity (P_TYPE = 2)"
                          },
                          "THERMAL_M": {
                            "type": "array",
                            "description": "Thermal Coefficient (P_TYPE = 2)"
                          },
                          "SHEAR_M": {
                            "type": "array",
                            "description": "Shear Modulus (P_TYPE = 2)"
                          },
                          "POISN_M": {
                            "type": "array",
                            "description": "Poisson's Ratio (P_TYPE = 2)"
                          },
                          "bMASS_DENS": {
                            "type": "boolean",
                            "default": false,
                            "description": "Use Mass Density (common USER_DEFINED field)"
                          },
                          "MASS": {
                            "type": "number",
                            "description": "Mass Density (required if bMASS_DENS = true)"
                          }
                        },
                        "required": [
                          "DEN",
                          "ELAST_M",
                          "THERMAL_M",
                          "SHEAR_M",
                          "POISN_M"
                        ],
                        "not": {
                          "anyOf": [
                            {
                              "required": [
                                "bELAST"
                              ]
                            },
                            {
                              "required": [
                                "POISN"
                              ]
                            },
                            {
                              "required": [
                                "THERMAL"
                              ]
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              ]
            },
            "description": "PARAM"
          },
          "DAMP_RAT": {
            "type": "number",
            "default": 0,
            "description": "Damping Ratio (UI 에서 Type 변경 시 자동 채워지는 기본값 (Steel=0.02 등) 은 API 에서는 적용되지 않음 — 클라이언트가 명시적으로 전달해야 함)"
          }
        },
        "allOf": [
          {
            "description": "MATL_TYPE 이 SRC 가 아니면 PARAM 길이는 1이어야 합니다.",
            "if": {
              "properties": {
                "MATL_TYPE": {
                  "enum": [
                    "CONC",
                    "STEEL",
                    "USER"
                  ]
                }
              },
              "required": [
                "MATL_TYPE"
              ]
            },
            "then": {
              "properties": {
                "PARAM": {
                  "minItems": 1,
                  "maxItems": 1
                }
              }
            }
          },
          {
            "description": "MATL_TYPE 이 SRC 이면 PARAM 길이는 2(0=Steel, 1=Concrete)여야 합니다.",
            "if": {
              "properties": {
                "MATL_TYPE": {
                  "const": "SRC"
                }
              },
              "required": [
                "MATL_TYPE"
              ]
            },
            "then": {
              "properties": {
                "PARAM": {
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "allOf": [
                      {
                        "description": "SRC 타입에서 PARAM[].P_TYPE 은 0 또는 1만 허용됩니다.",
                        "if": {
                          "required": [
                            "P_TYPE"
                          ]
                        },
                        "then": {
                          "properties": {
                            "P_TYPE": {
                              "enum": [
                                0,
                                1
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  }
}



 

Examples

Steel

{
  "Assign": {
    "1": {
      "MATL_NAME": "Steel_User_01",
      "MATL_TYPE": "STEEL",
      "DAMP_RAT": 0.02,
      "PARAM": [
        {
          "P_TYPE": 1,
          "USER_DEFINED": {
            "bELAST": 200000000,
            "POISN": 0.3,
            "THERMAL": 0.000012,
            "DEN": 76.98,
            "bMASS_DENS": false
          }
        }
      ]
    }
  }
}

Concrete

{
  "Assign": {
    "1": {
      "MATL_NAME": "Concrete_Ortho_01",
      "MATL_TYPE": "CONC",
      "DAMP_RAT": 0.05,
      "PARAM": [
        {
          "P_TYPE": 2,
          "USER_DEFINED": {
            "DEN": 24.5,
            "ELAST_M": [
              30000000,
              30000000,
              30000000
            ],
            "THERMAL_M": [
              0.00001,
              0.00001,
              0.00001
            ],
            "SHEAR_M": [
              12500000,
              12500000,
              12500000
            ],
            "POISN_M": [
              0.2,
              0.2,
              0.2
            ],
            "bMASS_DENS": false
          }
        }
      ]
    }
  }
}

SRC

{
  "Assign": {
    "1": {
      "MATL_NAME": "SRC_User_01",
      "MATL_TYPE": "SRC",
      "DAMP_RAT": 0.05,
      "PARAM": [
        {
          "P_TYPE": 1,
          "USER_DEFINED": {
            "bELAST": 200000000,
            "POISN": 0.3,
            "THERMAL": 0.000012,
            "DEN": 76.98,
            "bMASS_DENS": false
          }
        },
        {
          "P_TYPE": 1,
          "USER_DEFINED": {
            "bELAST": 30000000,
            "POISN": 0.2,
            "THERMAL": 0.00001,
            "DEN": 24.5,
            "bMASS_DENS": false
          }
        }
      ]
    }
  }
}



 

Specifications

No. Description Key Value Type Default Required

1

Name

"MATL_NAME"

string

-

Required

2

Type of Design

• Steel: STEEL

• Concrete: CONC

• SRC: SRC

• User: USER

"MATL_TYPE"

string (enum)

-

Required

3

PARAM

When MATL_TYPE is "SRC", enter both Concrete and Steel inputs.

"PARAM"

array [object]

-

Required

(1)

Isotropic / Orthotropic

• Standard: 0

• Isotropic User Defined: 1

• Orthotropic User Defined: 2

When MATL_TYPE is "SRC", "2" is not available.

"P_TYPE"

integer (enum)

-

Required

When P_TYPE = 0

(2)

Standard

"STANDARD"

string

-

Required

(3)

Code

"CODE"

string

Optional

(4)

DB

"DB"

string

-

Required

When P_TYPE = 1

(5)

USER_DEFINED

"USER_DEFINED"

object

-

Required

a

Modulus of Elasticity

"bELAST"

number

-

Optional

b

Poisson's Ratio

"POISN"

number

-

Optional

c

Thermal Coefficient

"THERMAL"

number

-

Optional

d

Weight Density

"DEN"

number

-

Optional

e

Use Mass Density

"bMASS_DENS"

boolean

false

Optional

When bMASS_DENS = true

f

Mass Density

"MASS"

number

-

Required

When P_TYPE = 2

(6)

USER_DEFINED

"USER_DEFINED"

object

-

Required

a

Weight Density

"DEN"

number

-

Optional

b

Modulus of Elasticity

"ELAST_M"

array

-

Optional

c

Thermal Coefficient

"THERMAL_M"

array

-

Optional

d

Shear Modulus

"SHEAR_M"

array

-

Optional

e

Poisson's Ratio

"POISN_M"

array

-

Optional

f

Use Mass Density

"bMASS_DENS"

boolean

false

Optional

When bMASS_DENS = true

g

Mass Density

"MASS"

number

-

Required

(7)

Plastic Material Name

"PLASTIC_MATL_NAME"

string

-

Optional

(8)

THERMAL_TRANS

"THERMAL_TRANS"

object

-

Optional

a

Specific Heat

"HE_SPEC"

number

0

Optional

b

Heat Conduction

"HE_COND"

number

0

Optional

5

Damping Ratio

"DAMP_RAT"

number

0

Optional

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