Files
Pier_v1/RAG/design-model-box-sample_2/src/backend/DRAWING_MODELING_RULES.md
T
ahnyongjooandClaude Sonnet 5.5 964a841de1 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>
2026-10-28 11:20:18 +09:00

11 KiB
Raw Blame History

도면 기반 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으로 식별하고 이미 추출한 전체 뷰 근거 장부를 재사용한다.
  • 사용자 피드백에서는 변경 대상 객체, 연결 객체와 관련 철근만 다시 분석한다.
  • 잠긴 객체와 무관한 도면·객체·철근 장부를 반복 전송하거나 다시 생성하지 않는다.
  • 좌표 변환, 접촉, 투영 거리, 간격, 본수와 길이 계산은 결정론적 코드로 수행하며 같은 계산을 언어모델에 반복 요청하지 않는다.
  • 한 번의 대상 객체 재판독으로 좌표를 만들지 못하면 같은 전체 입력을 즉시 반복하지 않는다. 확인된 초안과 구체적인 미해결 근거를 표시하고 사용자 피드백에서 이어간다.
  • 속도를 이유로 전체 뷰 확인을 생략하지 않으며, 정확도를 이유로 동일 근거를 불필요하게 반복 호출하지 않는다.