feat(ground): 지반·지층 card inputs, layer rows, water level, section drawing
- types/ground.ts: 위치 (육상·하상·해상), 지하수위 고려 and EL, 지층 행 (name and 하단 EL, from the top down). Checks G01 (layer order), G02 (water level range), G03 (layer name). - The 지반고 still feeds the soil cover check; the layer rows and water level are inputs and do not change the 3D model. - view/ground-svg.ts: the 삽도 drawn from the inputs and the generated footings and piles on one EL scale. - 일괄 적용 copies 위치 and 지하수위 to the checked piers (속성 복사 item, off by default). Changes list shows arrays and booleans as text. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0e70cfb969
commit
16ab317094
8 files changed
+400
-6
No files matched your search
+2
-1
@@ -5,7 +5,7 @@ import type { PierInput } from './types';
|
||||
* 속성 복사 (spec §9 · plan C7). Copies chosen attributes from one pier to others.
|
||||
* Values the spec never copies (coordinates, IP, elevations, names) are not in any item, so they cannot be copied.
|
||||
*/
|
||||
export type CopyItem = 'coping-width' | 'coping-length' | 'pile-length' | 'pile-rows';
|
||||
export type CopyItem = 'coping-width' | 'coping-length' | 'pile-length' | 'pile-rows' | 'ground-position';
|
||||
|
||||
interface ItemRule {
|
||||
label: string;
|
||||
@@ -21,6 +21,7 @@ export const COPY_ITEMS: Record<CopyItem, ItemRule> = {
|
||||
'coping-length': { label: '코핑 길이 L', keys: ['copingLengthMm'], defaultOn: false, pileItem: false },
|
||||
'pile-length': { label: '말뚝 길이', keys: ['pileLengthMm'], defaultOn: false, pileItem: true },
|
||||
'pile-rows': { label: '열별 본수', keys: ['pileRows'], defaultOn: false, pileItem: true },
|
||||
'ground-position': { label: '지반 위치·지하수위', keys: ['groundPosition', 'groundWaterOn', 'groundWaterEl'], defaultOn: false, pileItem: false },
|
||||
};
|
||||
|
||||
export const DEFAULT_COPY_ITEMS: CopyItem[] = (Object.keys(COPY_ITEMS) as CopyItem[]).filter((k) => COPY_ITEMS[k].defaultOn);
|
||||
|
||||
Reference in new issue
Block a user