chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합

- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ahnyongjooandClaude Sonnet 5.5 committed 2026-10-28 11:20:18 +09:00
commit 964a841de1
3978 files changed
+58013356

No files matched your search

@@ -0,0 +1,134 @@
# 도면 기반 3D 구조물·철근 모델링 필수 원칙
이 문서는 모든 도면 분석·3D 생성·피드백 수정에 선행하는 강제 작업 규칙이다. 특정 도면, 특정 구조물의 좌표나 치수를 제공하는 문서가 아니다. 모든 수치와 형상은 현재 입력 도면에서 다시 추출해야 한다.
## 1. 근거 권위
- 현재 입력 도면이 형상과 수치의 유일한 권위다.
- 기존 모델과 샘플은 객체 분류, 생성 절차와 검증 항목을 찾는 비교 자료로만 사용한다.
- 기존 모델의 좌표·치수·각도·철근 경로를 현재 모델의 입력값으로 복사하지 않는다.
- 카테고리 상식은 누락 가능성이 있는 뷰와 객체를 찾는 데만 사용하며 형상을 발명하는 근거로 쓰지 않는다.
## 2. 전체 도면 판독
- 평면, 정면, 배면, 종단, 횡단, 단면, 상세, 철근 배근도와 재료표를 모두 분류한다.
- 한 뷰만으로 3D 형상을 결정하지 않는다.
- 치수선, 표고, 좌표, 중심선, 리더 끝점과 대상 객체를 연결한다.
- 서로 다른 뷰가 같은 물리 절점·면·접합부를 가리키는지 확인한다.
- 충돌하는 근거는 임의로 선택하지 않고 충돌 장부와 사용자 확인 항목으로 남긴다.
## 3. 객체 장부 선행
- 구조물 카테고리를 분류한 뒤 현재 도면에 실제 존재하는 부재를 물리 발생 단위로 나눈다.
- 객체 이름의 출현 횟수가 아니라 평면·입면·단면에서 확인되는 실제 발생 수를 사용한다.
- 각 객체에는 역할, 소속 구간, 위치 구분, 사용한 뷰, 도면 근거와 접합 객체를 기록한다.
- 도면에 없는 객체는 만들지 않고, 도면에 확인된 객체는 설명만 남기고 누락하지 않는다.
## 4. 다중 뷰 형상 폐합
- 평면에서 위치·방향·시작·끝·접합선을 확정한다.
- 정면·배면·종단에서 상하단 프로파일과 경사·표고를 확정한다.
- 횡단·단면·상세에서 폭·두께·단면 변화를 확정한다.
- 세 축의 뷰가 동시에 만족될 때만 닫힌 3D 객체를 만든다.
- 생성한 3D를 각 원도면 뷰로 재투영하고 대응 선·절점·치수의 오차를 검사한다.
## 5. 접합과 연속성
- 서로 붙는 객체는 동일한 물리 경계와 표고를 공유해야 한다.
- 부재가 지지하거나 정착되는 관계는 평면 접촉뿐 아니라 입면·단면 접촉도 확인한다.
- 고립 객체, 중복 객체, 틈, 관통, 잘못된 겹침을 허용하지 않는다.
- 종방향 경사와 스큐는 해당 도면에서 적용 범위를 확인한 객체에만 적용한다.
## 6. 생략 구간의 해석
- 도면의 빈 공간을 객체 또는 철근 부재로 단정하지 않는다.
- 시작 위치, 끝 위치, 간격, 반복 대표 형상과 재료표 수량이 함께 폐합될 때만 생략 반복으로 복원한다.
- 이음, 개구, 객체 단부와 설계군 경계를 넘어 임의 보간하지 않는다.
- 명시 형상과 복원 형상을 근거 장부에서 구분한다.
## 7. 객체 잠금과 부분 수정
- 다중 뷰 검증을 통과한 객체 좌표는 잠근다.
- 누락이나 오류가 발견되면 대상 객체와 직접 연결된 객체만 다시 분석한다.
- 전체 외곽을 다시 생성하여 검증된 객체를 덮어쓰지 않는다.
- 문자열 ID가 달라도 역할, 구간, 시·종점, 좌·우와 접합 관계가 같으면 동일 물리 객체로 판단한다.
- 새 결과의 투영·접합 검증이 기존 결과보다 나빠지면 변경을 거부한다.
## 8. 철근의 객체 귀속
- 모든 철근 그룹은 하나 이상의 실제 콘크리트 호스트 객체에 귀속한다.
- 그룹의 호스트 목록만 기록하지 말고 철근 한 본마다 물리 occurrence ID를 기록한다. 서로 떨어진 여러 객체가 같은 마크를 사용해도 각 본은 하나의 occurrence 또는 도면에 명시된 접합 occurrence 조합에만 속한다.
- 호스트 객체의 로컬 좌표계, 설치 면, 방향과 station 배열로 철근을 배치한다.
- 객체가 이동·회전·스큐·경사를 가지면 철근도 같은 로컬 변환을 따른다.
- 전역 좌표에 철근 형상을 임의로 흩뿌리지 않는다.
- 철근은 상세의 한 본 형상과 직경을 반영한 실제 경로·관 형상으로 만든다.
## 9. 철근 독립 검산
- 배근도에서 설치 위치·방향·시작·끝·간격을 읽는다.
- 철근상세에서 한 본의 절곡 순서, 구간 치수, 각도와 곡률을 읽는다.
- 재료표에서 마크, 직경, 본수, 단위길이와 총연장을 읽는다.
- 경로 계산 길이와 재료표 단위길이를 비교한다.
- 본수와 반복 station 수를 비교하고 단위길이×본수와 총연장을 독립 계산한다.
- 같은 조립 station을 공유하는 철근은 동일 station 배열을 사용한다.
## 10. 피복과 내부 배치
- 피복은 객체와 면별 도면값을 사용하며 공통값으로 통합하지 않는다.
- 철근 중심선 위치는 선택된 피복 정의와 철근 반지름을 일관되게 적용한다.
- 중심선만이 아니라 철근 직경을 적용한 관단면 전체가 해당 물리 occurrence의 콘크리트 내부에 있는지 검사한다. 도면에 정착·이음이 명시된 경우에만 명시된 인접 객체의 합성솔리드를 검사 영역에 포함한다.
- 객체별 철근 생성 직후 해당 객체만 단독으로 표시하고 Top·Front·Right·Left 및 그 객체의 관련 종단·횡단·상세 단면으로 재투영한다.
- 각 뷰에서 도면 배근선의 설치 면, 방향, 시작·끝, 간격과 반복 범위를 대조한다. 한 뷰라도 불일치하거나 다른 occurrence 철근이 섞이면 전체 모델에 병합하지 않는다.
- 객체 선택 뷰는 그룹 전체가 아니라 철근 한 본의 occurrence ID로 필터링한다. 같은 그룹의 다른 날개벽·접속슬래브·블록 철근을 함께 표시하지 않는다.
- 철근이 객체 밖에 있으면 삭제하거나 잘라내지 않는다. 상세 형상과 길이를 유지한 채 객체 로컬 면·방향·station을 다시 판독해 재배치하고, 다시 전 뷰와 관단면 내부 검사를 실행한다.
- 정투영에서 함께 보여야 하는 상·하부 철근의 기준선과 단부가 불필요하게 어긋나지 않는지 검사한다.
## 10-1. 박스 부재 단면·접합 고정 규칙
- 내부 헌치의 `a×b` 치수는 직육면체 치수가 아니다. 정면·횡단면의 벽체 내측 상단, 슬래브 하면 시작점, 경사면을 가진 삼각 단면을 종방향으로 압출한 닫힌 다면체로 만든다. 사각 footprint 상하 압출을 내부 헌치로 표시하지 않는다.
- 난간벽의 상세 사각 단면은 실제 포털 위치의 벽체·상부슬래브·날개벽 접합부에 결속한다. 정면도 분리선이나 상세 여백을 3D 이격거리로 해석해 공중의 띠·벽을 만들지 않는다.
- 난간벽·날개벽·벽체 접합은 평면과 정면/단면 모두에서 공유 면 또는 공유 경계가 확인돼야 한다. 한 뷰에서만 맞고 다른 뷰에서 떠 있으면 뷰 결속 실패다.
- 슬래브·기초 철근은 상부면과 하부면을 별도 occurrence로, 벽체 철근은 면·방향별 occurrence로, 날개벽 철근은 전면·배면과 각 물리 날개벽 occurrence로 분리한다. CYCLE 철근만 도면에 명시된 연속 단면 조립체의 공유 접합부를 통과할 수 있다.
- 헌치와 난간벽은 철근 단계 전에 별도 형상 게이트를 통과한다. 헌치는 삼각 단면의 두 끝면과 세 경사 연결면이, 난간벽은 도면 상세의 폭·높이와 포털 상부슬래브·해당 날개벽의 접합면이 모두 확인돼야 한다. 이 중 하나라도 다르면 초안으로 보이되 철근 생성은 시작하지 않는다.
## 11. 출력 게이트
- 필수 객체 수, 평면·입면·단면 투영, 객체 접합, 철근 호스트 귀속, 철근 경로, 피복, 수량·길이 검산을 모두 실행한다.
- 미통과 새 결과는 마지막 정상 모델을 덮어쓰지 않는다.
- 실패 시 기존 정상 모델을 유지하고 실패 객체, 근거, 필요한 사용자 질문만 표시한다.
- 미확정 사항이 있어도 확인된 객체를 삭제하지 않는다. 사용자에게 구체적으로 질문하고 해당 객체의 상태를 명시한다.
- 정상 모델이 아직 없으면 폐합된 콘크리트 객체와 실제 호스트·상세 경로가 있는 철근을 피드백 초안으로 표시한다. 미통과라는 이유로 전체 형상이나 전체 철근을 빈 화면으로 만들지 않는다.
- 철근의 피복·콘크리트 내부 검사에서 이탈이 발견된 경로는 삭제하지 않고 진단 대상으로 유지하되, 객체별 전 뷰 재투영과 관단면 내부 검사를 통과하기 전에는 정상 배치로 승인하지 않는다.
- 호스트가 없거나, 서로 떨어진 복수 객체를 한 전역 분포선으로 연결했거나, 한 본 상세 경로가 없는 철근은 피드백 초안에도 표시하지 않는다.
- 검증 미통과 초안은 확정 모델이나 승인 결과로 저장·내보내지 않으며 화면에 미통과 근거를 함께 표시한다.
- 형상이 평면·정면·종단·단면 중 하나와 다르면 도면 근거 부족이 아니라 뷰 결속 실패로 판정한다.
- 뷰 결속 실패 객체는 임의 수정하거나 카테고리 형상으로 대체하지 않고 해당 객체의 원도면 뷰와 리더를 다시 확인한다.
- 화면에 표시하는 피드백 초안도 사용한 뷰, 미통과 항목과 확정본이 아님을 명확히 표시한다.
## 12. 작업 순서
1. 전체 도면과 뷰 분류
2. 카테고리 및 객체 장부 작성
3. 평면 footprint 확정
4. 입면·종단 프로파일 결합
5. 단면·상세로 두께와 접합 폐합
6. 3D 객체 생성 및 재투영 검증
7. 검증 객체 잠금
8. 철근 상세와 재료표 장부 작성
9. 객체 로컬 좌표에 철근 배치
10. 객체 하나만 켠 상태에서 철근 occurrence 필터와 Top·Front·Right·Left·관련 단면 재투영 검사
11. 철근 관단면 전체의 객체 내부·피복 검사
12. 형상·수량·길이·피복 독립 검산
13. 모든 객체 철근을 합친 뒤 다시 전체 모델 교차 검사
14. 피드백 초안은 근거·경고와 함께 화면에 표시하고, 통과 결과만 확정·내보내기에 반영
이 순서를 생략하거나 바꾸지 않는다. 빠른 초안을 위해 다중 뷰 폐합, 객체 잠금 또는 검증 게이트를 우회하지 않는다.
## 13. 반복 작업과 분석 속도
- 동일 도면은 SHA-256으로 식별하고 이미 추출한 전체 뷰 근거 장부를 재사용한다.
- 사용자 피드백에서는 변경 대상 객체, 연결 객체와 관련 철근만 다시 분석한다.
- 잠긴 객체와 무관한 도면·객체·철근 장부를 반복 전송하거나 다시 생성하지 않는다.
- 좌표 변환, 접촉, 투영 거리, 간격, 본수와 길이 계산은 결정론적 코드로 수행하며 같은 계산을 언어모델에 반복 요청하지 않는다.
- 한 번의 대상 객체 재판독으로 좌표를 만들지 못하면 같은 전체 입력을 즉시 반복하지 않는다. 확인된 초안과 구체적인 미해결 근거를 표시하고 사용자 피드백에서 이어간다.
- 속도를 이유로 전체 뷰 확인을 생략하지 않으며, 정확도를 이유로 동일 근거를 불필요하게 반복 호출하지 않는다.