5.9 KB · 수정 2026-08-28 19:42
목차

dwgrev 발족 — 도면이력·겹쳐보기 계획 확정 (2026-08-28 금)

페페 지시 (원문 요지)

기술영업의 일환으로 도면 파일 수정본의 수정본이 계속 파생되는 거래처 특성을 개선해, 도면이 바뀌어도 수정이력을 이어서 관리하고 싶다. DB 는 pfs 로 되지만 기록이 DWG 와도 연관돼야 해 플러그인이 필요할 수 있다. 문제는 거래처가 24 버전 이상 최신 캐드를 쓰고 나는 최신 오토캐드가 없어 테스트가 어렵다. 꼭 플러그인이 아니어도 캐드 파일에 관여하며 이력을 웹과 캐드 사이에서 관리할 방법이 있나. 주요 관리 내용 = 현장별·타입별·위치별 판넬 사이즈 수정 또는 마감재 넘버 변경. 또 프로그램을 준수하지 않는 담당자를 대비해 구/신 DWG 비교가 필요한데 dwgcompare 가 있으나 성능이 원하는 수준이 아니다. 너무 자세한 게 오히려 독 — 눈에 안 보이는 영역까지 파고들고 검색범위가 너무 넓다. 기존 파일을 블록 내부까지 전부 빨간색으로 바꿔 신규 파일에 얹어 차이만 보이면 충분하다. 캐드에서 레이어 겹치면 메모리로 버퍼링이 오니 별도 가벼운 방식으로 빼서 속도 최적화를 모색하는 게 좋겠다.

코디가 먼저 확인한 것 — 요구의 절반은 이미 있었다

이미 있음 위치
현장×타입×위치×부위 원장 op_material_spec_cell — UNIQUE(spec_no, type_id, group_key, location_id, part_key) + src_value/user_value. 페페가 말한 「현장별·타입별·위치별」 스키마 그 자체
수동입력 UI pfs/web/static/js/orderpaper_material.js 2,797줄 「🪵 현장별 자재」 탭 — 완성품
DWG 자동추출 acad-tread-plugin/matcollect/ — 같은 날(8/28) 그릴링 15개 결정 확정, Phase0 구현 대기
겹쳐보기 dwgcompare PaintOverlayFull — 구도면 전체·블록 내부까지 빨강 이미 구현됨. 문제는 무게뿐(36.9초·2.9GB)

→ 진짜 신규는 딱 2개: ①시간축(리비전 이력) ②경량 오버레이 뷰어. 나머지는 이어 붙이는 일이다.

그릴링 11문 — 페페 결정

Q 결정 코디 추천과
1 비교도구 위치 캐드 밖 브라우저(a=플러그인 유지는 추후 기록만). 단 실행은 캐드 안에서도 일치
2 이력 원장 pfs DB 단일 일치
3 이력 입력 자동추출 → 사람 확인 + 수동입력도("코디 산출물이 너무 디테일해 분류지시가 어렵다") 코디는 (b) 추천, 페페가 (a)+수동
4 이력 저장 신규 _cell_hist 테이블 일치
5 줄기 현장(field_no) 일치
6 DWG 읽기 accoreconsole + 기존 DwgReader (ODA 기각) 조사 후 코디가 추천을 뒤집음 → 페페 채택
7 렌더 범위 보이는 전부(해치 포함) + 비전으로 실제 가시성 체크 코디는 해치 제외 추천, 페페가 전부
8 진입 캐드 명령 1개 → 브라우저 + qahelper형 질문리스트, 좌표 대신 타입/K·F/위치 일치 + 페페 추가
9 재확인 ODA→accoreconsole 최종 —
10 가시성 게이트 + 비전 검증 일치
11 위치 라벨 matcollect 세트 좌표 재사용 + 드래그 보정 일치

조사로 뒤집힌 것 — Q6

코디 초안 근거 = "거래처가 2025·2026 이면 내 2024 가 못 읽는다" → 사실과 다름.

코덱스(ChatGPT 앱) 상의로 교정된 2건

코디 초안 판정 교정
레이어 IsPlottable 도 가시성 게이트 ❌ 출력 전용이라 화면 가시성과 무관
RobustExtent 밖은 버림 ❌ 「도면 범위 밖」은 숨김이 아니다 — 버리지 말고 「원거리 잔재」 분리 + 기본 OFF 토글

그리고 「참조된 블록만」의 더 정확한 구현법을 얻었다 — 참조 수를 세는 게 아니라 모델공간에서 도달한 INSERT 의 BTR 만 재귀. 안 쓰는 정의는 애초에 안 만난다. 페페가 말한 「보이는 것만 지우고 누적 재사용」 잔재가 여기서 통째로 걸러진다. 「좌표가 어긋나던」 원인의 처방도 확정 — br.BlockTransform 을 통째로 곱한다(따로 조립하면 비균일축척+회전에서 교환법칙이 깨짐).

이번 세션 산출물

막힌 것 (다음 세션이 이어받을 것)

  1. 테스트 RDS 소멸 — poin-dbinstance-test.cz62ldnopdup... DNS 미해석(getaddrinfo failed). pfs/scripts/codi_phase*.py 5개가 이 호스트를 기본값으로 물고 있다.
  2. 운영 RDS 터널 반쯤 끊김 — 127.0.0.1:13306 TCP 는 붙는데 쿼리 무응답(2013). tools/rdstunnel 재기동 필요.
  3. ⏳페페 승인 = patch48 운영 적용(§2-5 DB 스키마 변경). 추가만·DROP 없음.