feat(ground): N value per layer row (text, blow count or 타수/관입량 mm)
- StrataRow.nValue: text. "23" is a blow count (0–100), "50/5" a refusal (50 blows for 5 mm, 1–300 mm). Empty means not known yet. - G06 (warning): a malformed N value. Strict, because the values will feed the bearing-capacity and liquefaction checks. - The layer table has an N값 column; the project file checks that the rows are well formed. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7dd59dfc6c
commit
7b5517e312
6 files changed
+100
-5
No files matched your search
@@ -75,6 +75,11 @@ export function parseProject(text: string): ProjectFile {
|
||||
obj.piers.forEach((p, i) => {
|
||||
if (!p || typeof p.id !== 'string' || !p.input) throw new Error(`교각 ${i + 1}: id 또는 input이 없습니다.`);
|
||||
const input = p.input;
|
||||
const rows = input.strataRows;
|
||||
if (rows !== undefined) {
|
||||
const ok = Array.isArray(rows) && rows.every((r) => typeof r?.name === 'string' && typeof r?.bottomEl === 'number' && Number.isFinite(r.bottomEl) && (r.nValue === undefined || typeof r.nValue === 'string'));
|
||||
if (!ok) throw new Error(`교각 ${input.name}: 지층 행 형식이 맞지 않습니다.`);
|
||||
}
|
||||
if (typeof input.name !== 'string' || !Array.isArray(input.ips) || !Array.isArray(input.bearings)) {
|
||||
throw new Error(`교각 ${i + 1}(${String(input.name)}): 입력 형식이 맞지 않습니다.`);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user