Files
_Geulbeot/04. design_agent/docs/test-bim-page-v2.html
kyeongmin 688ddbbb17 04. design_agent 추가 — 콘텐츠 시각 구조화 슬라이드 생성기
5단계 AI 파이프라인:
1. Kei 실장(Opus via Kei API) — 꼭지 추출 + 정보 구조 파악
2. 디자인 팀장 — FAISS 블록 검색 + Opus 추천 + Sonnet 블록 매핑
3. Kei 편집자(Kei API) — 도메인 전문 텍스트 정리
4. 디자인 실무자(Sonnet + Jinja2) — CSS 변수 조정 + HTML 조립
5. 디자인 팀장(Sonnet) — 균형 재검토 (최대 2회 루프)

블록 라이브러리 46개 (6 카테고리) + _legacy 13개
FAISS 블록 검색 (bge-m3, 1024차원)
SVG N개 동적 배치 (cos/sin 좌표 계산)
Pillow 이미지 크기 측정 + base64 인라인
컨테이너 예산 기반 블록 배치 (zone별 높이 px)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 18:47:13 +09:00

402 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>2-1_02 건설정보모델링(BIM) — 레이어 분리 v2</title>
<style>
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Pretendard Variable', 'Noto Sans KR', sans-serif;
background: #e8ecf0;
display: flex;
justify-content: center;
padding: 20px;
color: #000;
}
.frame { width: 920px; background: #fff; }
/* ═══ 1. 배경 헤더 + 타이틀 오버레이 ═══ */
.header {
position: relative;
width: 100%;
height: 500px;
overflow: hidden;
}
.header img { width: 100%; height: 100%; object-fit: cover; }
.header-text {
position: absolute;
bottom: 40px;
left: 89px;
z-index: 5;
}
.header-text .en { font-size: 15px; font-weight: 400; color: #fff; opacity: 0.85; }
.header-text .ko { font-size: 35px; font-weight: 700; color: #fff; margin-top: 4px; }
.breadcrumb {
position: absolute;
top: 18px; left: 89px;
font-size: 13px; color: rgba(255,255,255,0.7);
z-index: 5;
}
.breadcrumb span { margin: 0 6px; color: rgba(255,255,255,0.5); }
.close-x {
position: absolute;
top: 18px; right: 20px;
font-size: 22px; color: #fff;
cursor: pointer; z-index: 5;
}
/* ═══ 2. 꼭지 제목+설명 ═══ */
.topic { padding: 28px 89px 12px; }
.topic-row { display: flex; gap: 20px; margin-bottom: 18px; }
.topic-title {
width: 240px; flex-shrink: 0;
font-size: 24px; font-weight: 700; color: #004cbe;
line-height: 1.4; word-break: keep-all;
}
.topic-desc {
flex: 1;
font-size: 16px; color: #000; line-height: 1.7; word-break: keep-all;
}
/* ═══ 3. 이미지 그리드 2열 ═══ */
.img-grid { display: flex; gap: 0; padding: 0; }
.img-grid img { flex: 1; height: 354px; object-fit: cover; }
/* ═══ 4. 산맥 시각화 ═══ */
.mountain img { width: 100%; }
/* ═══ 5. 비교 박스 (이미지 배경 + HTML 텍스트) ═══ */
.compare-boxes {
padding: 25px 89px;
display: flex;
gap: 12px;
align-items: center;
justify-content: center;
}
.cbox {
position: relative;
width: 327px; height: 116px;
border-radius: 10px;
overflow: hidden;
}
.cbox img { width: 100%; height: 100%; object-fit: cover; }
.cbox-text {
position: absolute; inset: 0;
display: flex; flex-direction: column;
align-items: center; justify-content: center;
color: #fff; text-align: center;
z-index: 2;
}
.cbox-text .label { font-size: 20px; font-weight: 700; }
.cbox-text .sub { font-size: 12px; opacity: 0.85; margin-top: 4px; }
.vs-badge {
background: #fff;
border-radius: 8px;
padding: 8px 18px;
font-size: 20px; font-weight: 700; color: #006eff;
flex-shrink: 0;
}
/* ═══ 6. 비교 테이블 (HTML) ═══ */
.compare-table { padding: 10px 89px 20px; }
.compare-table table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
line-height: 1.6;
}
.compare-table thead th {
padding: 10px 12px;
font-weight: 700;
font-size: 15px;
}
.compare-table thead th:first-child { color: #6bcdff; }
.compare-table thead th:nth-child(2) {
background: linear-gradient(135deg, #006eff, #00aaff);
color: #fff; border-radius: 20px;
text-align: center; width: 100px;
}
.compare-table thead th:last-child { color: #006eff; text-align: right; }
.compare-table tbody td {
padding: 8px 12px;
border-bottom: 1px solid #f0f0f0;
vertical-align: top;
}
.compare-table tbody td:first-child { color: #333; }
.compare-table tbody td:nth-child(2) {
text-align: center;
font-weight: 700;
color: #333;
background: #f8f9fb;
}
.compare-table tbody td:last-child { text-align: right; color: #333; }
.compare-table tbody tr:nth-child(even) td { background: #fafbfc; }
.compare-table tbody tr:nth-child(even) td:nth-child(2) { background: #f0f2f5; }
/* ═══ 7. 원형 라벨 (CSS + HTML) ═══ */
.circle-label-section {
display: flex; justify-content: center;
padding: 25px 0 15px;
}
.circle-outer {
width: 190px; height: 190px;
border-radius: 50%;
background: linear-gradient(180deg, #3db8ff 0%, #006aff 100%);
box-shadow: 0 0 30px rgba(0, 106, 255, 0.25), 0 0 60px rgba(0, 106, 255, 0.1);
display: flex;
align-items: center; justify-content: center;
position: relative;
}
.circle-inner {
width: 170px; height: 170px;
border-radius: 50%;
background: linear-gradient(180deg, #4dc4ff 0%, #0080ff 100%);
display: flex;
flex-direction: column;
align-items: center; justify-content: center;
color: #fff;
text-align: center;
}
.circle-inner .main { font-size: 20px; font-weight: 700; line-height: 1.4; }
/* ═══ 8. 카드 3열 (HTML + 개별 이미지) ═══ */
.cards-section { padding: 10px 89px 40px; }
.cards-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
.card {
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
overflow: hidden;
display: flex;
flex-direction: column;
}
.card-img {
width: 100%;
height: 160px;
object-fit: contain;
background: #f8f9fb;
padding: 10px;
}
.card-body { padding: 16px; }
.card-stage {
font-size: 14px; font-weight: 700;
text-decoration: underline;
text-underline-offset: 3px;
margin-bottom: 2px;
}
.card-stage-en {
font-size: 12px; font-weight: 400; color: #666;
margin-bottom: 10px;
}
.card-divider {
width: 100%; height: 1px;
background: #000; margin-bottom: 10px;
}
.card-body ul {
list-style: disc;
padding-left: 18px;
font-size: 13px;
line-height: 1.7;
color: #000;
}
.card-body li { margin-bottom: 3px; }
.card-design .card-stage { color: #00aaff; }
.card-construction .card-stage { color: #006aff; }
.card-maintenance .card-stage { color: #004cbe; }
</style>
</head>
<body>
<div class="frame">
<!-- 1. 배경 헤더 + 타이틀 -->
<div class="header">
<img src="figma-assets/bg_header.png" alt="">
<div class="breadcrumb">건설산업에서의 디지털전환 <span></span> Building Information Modeling</div>
<div class="close-x"></div>
<div class="header-text">
<div class="en">Building Information Modeling</div>
<div class="ko">건설정보모델링(BIM)</div>
</div>
</div>
<!-- 2. 꼭지 -->
<div class="topic">
<div class="topic-row">
<div class="topic-title">단순 BIM의 적용이<br>D/X가 아닙니다</div>
<div class="topic-desc">BIM은 건설산업의 디지털전환을 수행하는 과정에서 가장 기초가 되는 일부분임을 인지하는 것이 매우 중요합니다.</div>
</div>
<div class="topic-row">
<div class="topic-title">건설산업에서의 BIM</div>
<div class="topic-desc">BIM은 설계, 시공, 유지관리 단계에서의 정보를 통합하고 협업을 촉진하여 인프라 건설 전 생애주기 과정의 효율성을 향상시킵니다.</div>
</div>
</div>
<!-- 3. 이미지 그리드 -->
<div class="img-grid">
<img src="figma-assets/image_grid_left.png" alt="">
<img src="figma-assets/image_grid_right.png" alt="">
</div>
<!-- 4. 산맥 -->
<div class="mountain">
<img src="figma-assets/mountain_viz.png" alt="">
</div>
<!-- 5. 비교 박스 -->
<div class="compare-boxes">
<div class="cbox">
<img src="figma-assets/compare_box_left.png" alt="">
<div class="cbox-text">
<div class="label">D/X</div>
<div class="sub">디지털 기술을 활용한<br>협업 프로세스</div>
</div>
</div>
<div class="vs-badge">VS</div>
<div class="cbox">
<img src="figma-assets/compare_box_right.png" alt="">
<div class="cbox-text">
<div class="label">BIM</div>
<div class="sub">시설물의 전 생애주기 동안<br>정보의 생성 및 관리</div>
</div>
</div>
</div>
<!-- 6. 비교 테이블 (HTML) -->
<div class="compare-table">
<table>
<thead>
<tr>
<th>BIM</th>
<th>VS</th>
<th>D/X</th>
</tr>
</thead>
<tbody>
<tr>
<td>• Only 3D</td>
<td>BIM · D/X</td>
<td>• BIM ≪ D/X (ENG. + Management 포함)</td>
</tr>
<tr>
<td>• 모델 제작용 상용 S/W<br>(Civil 3D, Revit, Navisworks, Autocad)</td>
<td>S/W</td>
<td>• 제작 및 운영(상용 + 전용 40~80개)<br>[Rhino, Sketchup, Blender...] + [EG-BIM 등]</td>
</tr>
<tr>
<td>• 기존 2D 설계방식 유지</td>
<td>프로세스</td>
<td>• 근본적 문제의식을 통한 개선</td>
</tr>
<tr>
<td>• 3D 모델 중심<br>• 기존 성과품 유지</td>
<td>성과물</td>
<td>• 공학 정보 및 콘텐츠 연계에 집중<br>• 도면, 수량, 시공계획 등 일식</td>
</tr>
<tr>
<td>• 3D 모델에 의한 일반적 이해 향상</td>
<td>활용</td>
<td>• 설계/시공의 혁신(개념의 재정립)</td>
</tr>
<tr>
<td>• (설계/시공/운영) 분야별 단절</td>
<td>확장성</td>
<td>• 전 생애주기 활용 시스템</td>
</tr>
<tr>
<td>• 단순화(오류) - 수동적/집단적 동질화</td>
<td>수행개념</td>
<td>• 구체화(복잡) - 적극/구체적 실현 방안</td>
</tr>
<tr>
<td>• 소극적, 상용 기술에 의존</td>
<td>CIVIL + IT</td>
<td>• 적극적, 주체적인 기술 접목/융합</td>
</tr>
<tr>
<td>• S/W 제작사 판매 정책에 의존</td>
<td>주체</td>
<td>• 자체 수행능력 - 지속가능성 확보</td>
</tr>
<tr>
<td>• 평준화, 국내 중심</td>
<td>발주처</td>
<td>• 차별화 및 경쟁력 확보, 해외 진출</td>
</tr>
<tr>
<td>• 소규모 BIM팀 운영 + 단순교육에 집중</td>
<td>설계사</td>
<td>• IT + CIVIL ENG 220명 운영 + 기술 개발</td>
</tr>
<tr>
<td>• 국내 토목 소극적/ 해외 토목증가</td>
<td>시공사</td>
<td>• 분야 확장 모델 및 시스템</td>
</tr>
</tbody>
</table>
</div>
<!-- 7. 원형 라벨 (CSS) -->
<div class="circle-label-section">
<div class="circle-outer">
<div class="circle-inner">
<div class="main">단계별<br>BIM의 활용</div>
</div>
</div>
</div>
<!-- 8. 카드 3열 (HTML + 개별 이미지) -->
<div class="cards-section">
<div class="cards-row">
<div class="card card-design">
<img class="card-img" src="figma-assets/card_img_design.png" alt="설계">
<div class="card-body">
<div class="card-stage">설계단계</div>
<div class="card-stage-en">Design Stage</div>
<div class="card-divider"></div>
<ul>
<li>고도화된 BIM 구현</li>
<li>최첨단 디지털트윈</li>
<li>시뮬레이션 분석 & 성능평가</li>
<li>지속가능한 인프라개발</li>
</ul>
</div>
</div>
<div class="card card-construction">
<img class="card-img" src="figma-assets/card_img_construction.png" alt="시공">
<div class="card-body">
<div class="card-stage">시공 단계</div>
<div class="card-stage-en">Construction Stage</div>
<div class="card-divider"></div>
<ul>
<li>향상된 건설 계획과 공정 순서 관리</li>
<li>Big Room 등 환경을 통한 협업 및 조정</li>
<li>정확한 수량산출서와 비용 산정</li>
</ul>
</div>
</div>
<div class="card card-maintenance">
<img class="card-img" src="figma-assets/card_img_maintenance.png" alt="유지관리">
<div class="card-body">
<div class="card-stage">유지관리 단계</div>
<div class="card-stage-en">Maintenance Stage</div>
<div class="card-divider"></div>
<ul>
<li>자산 정보 및 데이터 관리</li>
<li>예측 기반 유지보수 및 생애주기 분석</li>
<li>효율적인 시설 운영 및 지속가능한 관리</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>