Family QC 스위트
패밀리 품질 관리를 3단계 파이프라인으로 수행합니다:
카탈로그 수집 → 네이밍 검수 → 관리자 비교 → 엑셀 리포트
Family Catalog Batch QC
여러 RVT 파일의 패밀리/타입을 모아 네이밍 규칙 위반을 엑셀로 리포트
🖱 쓰는 법
- YoonDream 탭 → Admin 패널 → Family Catalog Batch QC 버튼 클릭
- 검수할
.rvt파일 추가 (파일 · 폴더 단위) - 실행 클릭 → 각 파일의 실제 사용 중인 패밀리/타입 수집
- 완료 후 엑셀 리포트 자동 열림
- 파일별 시트 — 해당 파일의 모든 위반 내역
- 요약 시트 — 전체 파일 집계
💡 이럴 때 쓰세요
- 프로젝트 전체 50개 파일에서 네이밍 규칙 어긴 타입이 몇 개인지 확인하고 싶을 때
- 실제 사용 중인 타입만 검수하고 싶을 때 — 배치되지 않은 타입은 노이즈로 제외
- 주간 품질 리포트 만들 때 — 엑셀 요약 시트로 주차별 추이 추적 가능
카탈로그와 차이점
이 도구는 실제 배치된 타입만 검수합니다. 프로젝트에 존재하지만 쓰이지 않는 타입은 무시하므로 "정리된 파일"에서 결과가 정확합니다.
🔍 UI 미리보기
Family Catalog Batch QC
파일 추가폴더 추가제거초기화5개
STR_Building-A.rvt패밀리 89개
STR_Building-B.rvt패밀리 76개
ARC_Building-A.rvt패밀리 124개
ARC_Building-B.rvt패밀리 112개
MEP_Building-A.rvt패밀리 198개
💡 실제 배치된(instanced) 타입만 검수 · 완료 시 엑셀 리포트 자동 열림
Developed by Yoon Dream닫기 실행
🔧 개발자 정보 (API · 경로 · 내부 로직)
파일 위치
Admin.panel/family_catalog_batch.pushbutton/
수집 방식: 인스턴스 기반
실제로 배치된(instanced) 타입만 수집:
collector = FilteredElementCollector(doc) \
.WhereElementIsNotElementType() # 인스턴스만
CategoryType.Model필터로 모델 카테고리만 대상QC_CONFIG.EXCLUDED_CATEGORY_NAMES로 제외 카테고리 설정- 시스템 패밀리 여부 자동 판별 (
is_system_family())
네이밍 검수 함수 (yoon_qc_utils 라이브러리)
| 함수 | 검증 대상 |
|---|---|
validate_family_name() |
패밀리 이름 규칙 |
validate_type_name() |
타입 이름 규칙 |
detect_dimension_format() |
치수 포맷 감지 |
출력
- 파일별 엑셀 시트 + 요약 시트
ExcelWrapper(COM Interop 기반)
패밀리 카탈로그
현재 문서의 모든 패밀리/타입을 카테고리별로 정리 + 네이밍 검증
🖱 쓰는 법
- 검수하려는 Revit 문서를 연 상태에서
- YoonDream 탭 → Admin 패널 → 패밀리 카탈로그 버튼 클릭
- 결과 엑셀이 자동으로 생성 · 열림
💡 이럴 때 쓰세요
- 한 프로젝트 내 전체 패밀리 재고 파악이 필요할 때 — 배치 여부와 무관하게 전수 조사
- 불필요하게 임포트된 패밀리 정리 대상을 파악할 때
- 시스템 패밀리까지 포함한 목록이 필요할 때 (Batch QC는 제외)
Batch QC와 차이점
이 도구는 프로젝트에 있는 모든 타입을 수집합니다. 배치 안 된 타입까지 포함됩니다.
🔧 개발자 정보 (API · 경로 · 내부 로직)
파일 위치
Admin.panel/family_catalog_qc.pushbutton/
수집 방식: 전체 타입
collector = FilteredElementCollector(doc) \
.WhereElementIsElementType() # 모든 타입
패밀리 이름 해석 (다중 폴백)
elem_type.FamilyNameBuiltInParameter.ALL_MODEL_FAMILY_NAME"(시스템)"또는"(알 수 없음)"
타입 이름 해석
BuiltInParameter.SYMBOL_NAME_PARAMelem_type.Name(.NET property)
관리자검토 (FamilyQC Admin)
기준 파일과 여러 비교 파일을 대조하여 비표준 패밀리·파라미터 차이를 한눈에
🖱 쓰는 법
- YoonDream 탭 → Admin 패널 → 관리자검토 버튼 클릭
- 📄 기준 파일 (Standard) 지정 — "이게 표준이다" 할
.rvt - 📁 비교 파일 추가 — 검수할 실제 작업 파일들
- 필요 시 "파라미터 값 비교 포함" 체크 (더 꼼꼼한 검사, 시간 더 걸림)
- ▶ 비교 실행 클릭 → 엑셀 리포트 자동 생성
📂 결과 엑셀 구성
| 시트 | 내용 |
|---|---|
| 요약 | 파일별 비표준 수 + 파라미터 차이 타입 수 한눈에 |
| {파일명} | 카테고리 → 패밀리 → 타입 별 상세 |
| {파일명}_param | 파라미터 값 차이 상세 (값 비교 ON 시만) |
💡 이럴 때 쓰세요
- 프로젝트 50개 파일이 표준 라이브러리를 제대로 따르는지 일괄 점검할 때
- "사내 표준 파일과 다른 타입을 쓴 팀원이 누군지 찾아라" 주문 받았을 때
- 파라미터 값(두께·재질·등급)까지 일일이 맞는지 대조해야 할 때 → 체크박스 ON
- 파일 100개짜리 일괄 검수 리포트 요구될 때 — 하나씩 열 필요 없음
기준과 비교는 수집 범위가 다릅니다
- 기준 파일: 모든 타입 수집 (배치 무관) → "이게 있을 수 있는 것들"
- 비교 파일: 실제 배치된 타입만 → "실제로 뭘 썼나"
이유: 기준엔 표준으로 준비된 것 전부를, 비교엔 실제 사용분만 대조해 노이즈 제거.
🔍 UI 미리보기
Admin Family QC
📄 기준 파일 (Standard)
📂 찾아보기열린 문서STR_Standard_2024.rvt
📁 비교 파일4개
+ 파일+ 폴더+ 열린 문서− 제거초기화
STR_Building-A.rvt\\Server\BIM\
STR_Building-B.rvt\\Server\BIM\
STR_Building-C.rvt\\Server\BIM\
STR_Utility.rvt\\Server\BIM\
파라미터 값 비교 포함
Developed by Yoon Dream취소 ▶ 비교 실행
🔧 개발자 정보 (API · 경로 · 내부 로직)
파일 위치
Admin.panel/familyqc_admin.pushbutton/— script.py, AdminFamilyQCWindow.xaml- 공용 라이브러리:
lib/yoon_param_compare.py(ParamSnapshot, ParamDiff, TypeDiffResult)
비교 로직 — 수집 범위 차이
| 항목 | 기준 파일 | 비교 파일 |
|---|---|---|
| 수집 범위 | 모든 타입 (배치 무관) | 인스턴스 타입만 (실제 사용분) |
| 의미 | "이게 표준이다" | "실제로 뭘 썼나" |
검출 항목
- 비표준 패밀리 — 기준에 없지만 비교 파일에 있는 패밀리
- 파라미터 값 차이 — 동일 이름 타입의 파라미터 값 불일치
파라미터 비교 (선택적)
"파라미터 값 비교 포함" 체크박스 ON 시 활성화:
| 타입 | 비교 방식 |
|---|---|
| Double | 0.001 허용오차 |
| String | None == "" 동등 처리 |
| Integer | 정확 일치 |
| ElementId | 이름으로 비교 (ID는 파일마다 다르므로) |
제외 대상
ReadOnly파라미터 기본 제외SKIP_PARAM_NAMES: Type Name, Family Name 등 식별자
엑셀 COM 연동
excelType = System.Type.GetTypeFromProgID("Excel.Application")
app = System.Activator.CreateInstance(excelType)
# BindingFlags.SetProperty로 속성 설정
성능 모드
- 체크박스 OFF → 기존 비표준 검사만 (성능·동작 100% 동일)
- 체크박스 ON → 파라미터 값 전수 비교 추가