From 6a2c5d9f7bd072e5d4024f72ba8e54107ef1fbd4 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 31 Aug 2026 15:07:14 +0900 Subject: [PATCH] =?UTF-8?q?feat(B07):=20=EA=B8=B0=EB=B3=B8=20=EB=8F=84?= =?UTF-8?q?=EB=A9=B4=EC=B8=B5=20=EC=9D=B4=EB=A6=84=EC=9D=84=20=EA=B5=AD?= =?UTF-8?q?=EB=AC=B8=EC=9C=BC=EB=A1=9C=20=EB=B0=94=EA=BE=B8=EA=B3=A0=20?= =?UTF-8?q?=EB=B0=A9=EC=9C=84=ED=91=9C=20=ED=85=9C=ED=94=8C=EB=A6=BF?= =?UTF-8?q?=EC=9D=84=20=EC=A0=95=EB=A6=AC=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 도면층 17종을 프로젝트가 이미 쓰는 용어로 맞춘다 — 원지반·계획선·구조물· 암 경계선·수량 산출표·도각·등고선·계류·노선·배수유역·유역 제원·표제· 그래프 격자·측점표·유토곡선·그래프 축·운반 구간. CAD 앱의 'Default'와 'New layer'도 기본·새 도면층으로 바꾼다. layerId는 그대로다. 방위표 템플릿(00_template_compass.json)에 원본 DXF의 표제란 글자 4개가 도면 반대편에 남아 있었다. 이 때문에 템플릿 bbox가 183x262mm로 부풀어, 긴 변을 14mm에 맞추는 compass_entities()가 방위표를 1.1x1.8mm로 줄여 놓고 있었다. 글자를 지우니 bbox 20.5x32.9mm, 방위표가 8.7x14mm로 나온다. Co-Authored-By: Claude Opus 5 (1M context) --- .../B07_DesignDetail_Engine_Cad.py | 12 +-- .../B07_DesignDetail_Engine_Cad_Basin.py | 14 +-- .../B07_DesignDetail_Engine_Cad_Long.py | 10 +- .../B07_DesignDetail_Engine_Cad_MassHaul.py | 10 +- .../B07_DesignDetail_Engine_Cad_Sheet.py | 12 +-- .../src/components/LayerManager.tsx | 23 ++-- .../openwebcad/src/helpers/get-new-layer.ts | 6 +- B07_DesignDetail/openwebcad/src/state.ts | 2 +- .../00_template_compass.json | 100 +----------------- 9 files changed, 50 insertions(+), 139 deletions(-) diff --git a/B07_DesignDetail/B07_DesignDetail_Engine_Cad.py b/B07_DesignDetail/B07_DesignDetail_Engine_Cad.py index d85f6f37..9cf0c6d3 100644 --- a/B07_DesignDetail/B07_DesignDetail_Engine_Cad.py +++ b/B07_DesignDetail/B07_DesignDetail_Engine_Cad.py @@ -534,11 +534,11 @@ def build_cross_drawing( } ], "layers": [ - _layer(GROUND_LAYER_ID, "Existing Ground", locked=True), - _layer(DESIGN_LAYER_ID, "Design Plan"), - _layer(STRUCTURE_LAYER_ID, "Structure"), - _layer(ROCK_LAYER_ID, "Rock Boundary"), - _layer(CROSS_TABLE_LAYER_ID, "Quantity Table"), - _layer(FRAME_LAYER_ID, "Frame", locked=True), + _layer(GROUND_LAYER_ID, "원지반", locked=True), + _layer(DESIGN_LAYER_ID, "계획선"), + _layer(STRUCTURE_LAYER_ID, "구조물"), + _layer(ROCK_LAYER_ID, "암 경계선"), + _layer(CROSS_TABLE_LAYER_ID, "수량 산출표"), + _layer(FRAME_LAYER_ID, "도각", locked=True), ], } diff --git a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Basin.py b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Basin.py index 05372652..f266bad6 100644 --- a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Basin.py +++ b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Basin.py @@ -391,12 +391,12 @@ def build_watershed_drawing( "format": DRAWING_FORMAT, "entities": entities, "layers": [ - _layer(CONTOUR_LAYER_ID, "Contours", locked=True), - _layer(STREAM_LAYER_ID, "Streams", locked=True), - _layer(ROUTE_LAYER_ID, "Route"), - _layer(BASIN_LAYER_ID, "Drainage Basins"), - _layer(TABLE_LAYER_ID, "Basin Info"), - _layer(TITLE_LAYER_ID, "Title"), - _layer(FRAME_LAYER_ID, "Frame", locked=True), + _layer(CONTOUR_LAYER_ID, "등고선", locked=True), + _layer(STREAM_LAYER_ID, "계류", locked=True), + _layer(ROUTE_LAYER_ID, "노선"), + _layer(BASIN_LAYER_ID, "배수유역"), + _layer(TABLE_LAYER_ID, "유역 제원"), + _layer(TITLE_LAYER_ID, "표제"), + _layer(FRAME_LAYER_ID, "도각", locked=True), ], } diff --git a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Long.py b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Long.py index 78537871..54d74e9f 100644 --- a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Long.py +++ b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Long.py @@ -675,10 +675,10 @@ def build_longitudinal_drawing( "format": DRAWING_FORMAT, "entities": entities, "layers": [ - _layer(GROUND_LAYER_ID, "Existing Ground", locked=True), - _layer(DESIGN_LAYER_ID, "Design Plan"), - _layer(LONG_GRID_LAYER_ID, "Graph Grid", locked=True), - _layer(LONG_TABLE_LAYER_ID, "Station Table"), - _layer(FRAME_LAYER_ID, "Frame", locked=True), + _layer(GROUND_LAYER_ID, "원지반", locked=True), + _layer(DESIGN_LAYER_ID, "계획선"), + _layer(LONG_GRID_LAYER_ID, "그래프 격자", locked=True), + _layer(LONG_TABLE_LAYER_ID, "측점표"), + _layer(FRAME_LAYER_ID, "도각", locked=True), ], } diff --git a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_MassHaul.py b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_MassHaul.py index 8417e530..6fce8c87 100644 --- a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_MassHaul.py +++ b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_MassHaul.py @@ -527,10 +527,10 @@ def build_mass_haul_drawing( "format": DRAWING_FORMAT, "entities": entities, "layers": [ - _layer(CURVE_LAYER_ID, "Mass Haul Curve"), - _layer(AXIS_LAYER_ID, "Graph Axis", locked=True), - _layer(BAND_LAYER_ID, "Haul Bands"), - _layer(TABLE_LAYER_ID, "Station Table"), - _layer(FRAME_LAYER_ID, "Frame", locked=True), + _layer(CURVE_LAYER_ID, "유토곡선"), + _layer(AXIS_LAYER_ID, "그래프 축", locked=True), + _layer(BAND_LAYER_ID, "운반 구간"), + _layer(TABLE_LAYER_ID, "측점표"), + _layer(FRAME_LAYER_ID, "도각", locked=True), ], } diff --git a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py index 86fd1434..76c1830b 100644 --- a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py +++ b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py @@ -211,11 +211,11 @@ def build_cross_sheet(sheet: dict[str, Any], sections: list[dict[str, Any]]) -> "entities": entities, "cross_placements": placements, "layers": [ - _layer(GROUND_LAYER_ID, "Existing Ground", locked=True), - _layer(DESIGN_LAYER_ID, "Design Plan"), - _layer(STRUCTURE_LAYER_ID, "Structure"), - _layer(ROCK_LAYER_ID, "Rock Boundary"), - _layer(CROSS_TABLE_LAYER_ID, "Quantity Table"), - _layer(FRAME_LAYER_ID, "Frame", locked=True), + _layer(GROUND_LAYER_ID, "원지반", locked=True), + _layer(DESIGN_LAYER_ID, "계획선"), + _layer(STRUCTURE_LAYER_ID, "구조물"), + _layer(ROCK_LAYER_ID, "암 경계선"), + _layer(CROSS_TABLE_LAYER_ID, "수량 산출표"), + _layer(FRAME_LAYER_ID, "도각", locked=True), ], } diff --git a/B07_DesignDetail/openwebcad/src/components/LayerManager.tsx b/B07_DesignDetail/openwebcad/src/components/LayerManager.tsx index 6b2c865a..e050df89 100644 --- a/B07_DesignDetail/openwebcad/src/components/LayerManager.tsx +++ b/B07_DesignDetail/openwebcad/src/components/LayerManager.tsx @@ -1,9 +1,16 @@ -import type {FC, MouseEvent} from 'react'; -import type {Layer} from '../App.types.ts'; -import {getNewLayer} from '../helpers/get-new-layer.ts'; -import {getActiveLayerId, getEntities, getLayers, getSelectedEntities, setEntities, setSelectedEntityIds,} from '../state.ts'; -import {Button} from './Button'; -import {IconName} from './Icon/Icon.tsx'; +import type { FC, MouseEvent } from 'react'; +import type { Layer } from '../App.types.ts'; +import { getNewLayer } from '../helpers/get-new-layer.ts'; +import { + getActiveLayerId, + getEntities, + getLayers, + getSelectedEntities, + setEntities, + setSelectedEntityIds, +} from '../state.ts'; +import { Button } from './Button'; +import { IconName } from './Icon/Icon.tsx'; interface LayerManagerProps { layers: Layer[]; @@ -152,9 +159,9 @@ export const LayerManager: FC = ({ ))}