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 |
"PARAM" |
array [object] |
- |
Required |
|||
(1) | Isotropic / Orthotropic • Standard: 0 • Isotropic User Defined: 1 • Orthotropic User Defined: 2 When |
"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 |
|||