콘텐츠로 이동

파라미터 자동화

Description Autofill (4종)

타입 이름에 적힌 치수(W300xH200 등)를 자동으로 읽어 Description 파라미터에 규격값 일괄 입력

🖱 쓰는 법

  1. 대상 요소(거터 · 섬핏 · 트렌치 · 파이프)가 있는 문서를 엽니다
  2. YoonDream 탭 → Coco 패널 → 해당 Desc Autofill 버튼 클릭
    • Gutter Desc — 거터용
    • Sumpit Desc — 섬핏용
    • Trench Desc — 트렌치용
    • Pipe Desc — 파이프용
  3. 도구가 자동으로 타입명 → 파라미터 입력 실행

💡 이럴 때 쓰세요

  • 타입 이름은 이미 치수로 잘 적혀 있는데 Description 파라미터가 비어 있을 때 — 수백 개 타입 수동 입력 필요 없음
  • 시트 일람표에 Description 컬럼이 들어가야 하는데 값이 없어 비어 있을 때
  • 인치/피트 · 분수/소수 혼재된 타입 이름도 자동으로 읽어냄 (6 1/2", 300, 5" 모두 대응)

4종으로 나뉘어 있는 이유

거터·섬핏·트렌치는 치수 형식(W×H, W×D, W 단일)이 다르고, 파이프는 아예 파라미터 값을 직접 읽어 씁니다. 대상에 맞는 버튼을 고르면 됩니다.

🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Coco.panel/Gutter.stack/ — 거터용
  • Coco.panel/Pipe.stack/ — 파이프용
  • (기타 스택)

공통 원리

타입 이름 (예: "GTR_W300xH200")
    ↓ 정규식 파싱
치수 추출 (W=300, H=200)
    ↓ 포맷팅
Description = "300x200" 자동 입력

4종 Autofill 상세

도구 대상 파싱 규칙 정규식
Gutter Desc 거터 (시스템) W×H 추출 (\d+)"?\s*x\s*(\d+)"?
Sumpit Desc 섬핏 (제네릭 모델) W×D 추출 W/D 패턴
Trench Desc 트렌치 (제네릭 모델) W 추출 단일 치수
Pipe Desc 파이프 radius_inside 값 기반 파라미터 직접 읽기

치수 파싱 엔진

정수, 소수, 분수, 인치/피트 단위 모두 인식:

  • 5" → 5 inch
  • 6 1/2" → 6.5 inch
  • 300 → 300 (단위 없음, mm 가정)

타입파라미터 복사

같은 패밀리 안 소스 타입 하나 → 나머지 모든 타입에 파라미터 값 한 방에 복사

🖱 쓰는 법

  1. 복사의 기준이 될 타입을 Revit에서 요소 선택
    • 또는 마지막 선택을 JSON으로 저장해뒀다면 그걸 불러올 수 있음
  2. YoonDream 탭 → Coco 패널 → 타입파라미터 복사 버튼 클릭
  3. 도구가 같은 패밀리 내 나머지 모든 타입에 파라미터 값 복사

💡 이럴 때 쓰세요

  • 한 타입에서 잘 맞춘 파라미터 10개를 같은 패밀리의 50개 타입에 동일하게 적용해야 할 때
  • 타입 50개 × 파라미터 10개 = 500건의 수동 입력을 한 방에 해결
  • 공용 재질·마감·분류 등 공통 속성을 모든 타입에 일괄 적용할 때

같은 패밀리 내 복사 전용

이 도구는 동일 패밀리 안의 타입끼리만 복사합니다. 다른 패밀리로 보내고 싶다면 철골타입 임포터 또는 프로젝트간 복사를 사용하세요.

🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Coco.panel/ParamCopy.stack/type_param_copy.pushbutton/

동작 방식

  1. 사용자가 Revit에서 요소 선택 (또는 마지막 선택 JSON 로드)
  2. 선택된 요소의 FamilySymbol 추출
  3. 같은 Family 내 다른 모든 FamilySymbol 수집
  4. 소스의 파라미터 값을 전부 복사

StorageType별 처리

StorageType 읽기 쓰기
String AsString() Set(string)
Integer AsInteger() Set(int)
Double AsDouble() Set(double)
ElementId AsElementId() Set(ElementId)

크로스 프로젝트 전송

프로젝트와 프로젝트 사이에 파라미터를 주고받는 두 가지 도구입니다.

프로젝트파라미터 일괄전송

공유 파라미터의 정의(이름·카테고리·바인딩)를 여러 RVT에 한 번에 전송

🖱 쓰는 법

  1. YoonDream 탭 → Coco 패널 → 프로젝트파라미터 일괄전송 버튼 클릭
  2. 소스 문서의 공유 파라미터 목록에서 전송할 항목 체크
  3. 타겟 문서 추가 → 실행

💡 이럴 때 쓰세요

  • 사내 공용 공유 파라미터 세트를 신규 프로젝트 파일들에 일괄 세팅할 때
  • Revit Transfer Project Standards에서 "Project Parameters"만 따로 뽑아 쓰고 싶을 때
  • Revit 구/신 버전 섞여 있어도 호환 — 자동으로 양쪽 API 처리

🔍 UI 미리보기

프로젝트파라미터 일괄전송
📄 소스 (현재 열린 문서)
STR_Master_SharedParam.rvt
전송할 공유 파라미터4개 선택
파라미터바인딩카테고리
HAS_RMInstanceWalls · Doors
UNITInstanceWalls · Doors
Ceiling Height_scheTypeCeilings
Fire_Rating_KRTypeWalls · Floors
📁 타겟 RVT
폴더 선택3개
Developed by Yoon Dream취소 전송

타입파라미터 프로젝트간 복사

소스 프로젝트 → 타겟 프로젝트에 타입 파라미터 값을 동일 이름 타입끼리 자동 매칭해 복사

🖱 쓰는 법

  1. YoonDream 탭 → Coco 패널 → 프로젝트간 복사 버튼 클릭
  2. 소스 프로젝트 선택
  3. 타겟 프로젝트 추가
  4. 옵션 선택 (인스턴스 Comments도 같이 전송할지 등)
  5. 실행 클릭 → 같은 이름 타입끼리 값 복사

💡 이럴 때 쓰세요

  • 테스트 파일에서 조정한 파라미터 값을 실제 프로젝트에 복사할 때
  • 두 프로젝트 사이 동일 타입의 값이 다를 때 한 쪽 기준으로 통일할 때

🔍 UI 미리보기

타입파라미터 프로젝트간 복사
📄 소스 프로젝트
STR_Test_Tuned.rvt
📁 타겟 프로젝트
STR_Production.rvt
매칭된 타입 (이름 기준)18개
패밀리타입상태
H_Beam_SteelH200x100x5.5x8매칭
H_Beam_SteelH250x125x6x9매칭
RC_ColumnRC300x300타겟없음
인스턴스 Comments도 같이 전송
Developed by Yoon Dream닫기 실행
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Coco.panel/ParamCopy.stack/batch_param_transfer.pushbutton/ — 프로젝트파라미터 전송
  • Coco.panel/ParamCopy.stack/cross_type_param_copy.pushbutton/ — 프로젝트간 복사

공유 파라미터 전송 메커니즘

  • SharedParameterElement 수집
  • 바인딩 정보: CategorySet, InstanceBinding / TypeBinding
  • Revit 버전 호환: GetGroupTypeId() (신버전) + ParameterGroup (레거시) 양쪽 지원
  • WarningSwallower로 경고 자동 처리

프로젝트간 복사

  • FamilySymbol 이름으로 소스↔타겟 자동 매칭
  • StorageType별 값 복사 (String/Integer/Double/ElementId)
  • 선택적 인스턴스 Comments 전송도 가능

Ceiling Height 관리

천장 높이 공유 파라미터를 여러 문서에서 자동으로 업데이트

🖱 쓰는 법

  1. YoonDream 탭 → Coco 패널 → Ceiling Height 버튼 클릭
  2. 대상 문서들을 추가
  3. 실행 클릭 → 각 파일의 Ceiling Height_sche 파라미터가 자동 갱신

💡 이럴 때 쓰세요

  • 일람표와 모델 상의 천장 높이가 어긋나지 않도록 동기화할 때
  • 천장 높이가 바뀌어 프로젝트 수십 개를 일괄 업데이트해야 할 때
  • 천장 높이가 스케줄과 연결된 구조에서 일관성 유지가 필요할 때

🔍 UI 미리보기

Ceiling Height 관리
열린 문서파일 추가폴더 추가3개
열림ARC_Building-A.rvtCeiling 42개
파일ARC_Building-B.rvtCeiling 38개
파일ARC_Building-C.rvtCeiling 29개
💡 대상 파라미터: Ceiling Height_sche (공유 파라미터) · 스케줄 연동용
Developed by Yoon Dream닫기 실행
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Coco.panel/mig_ceiling_height.pushbutton/

처리 대상

  • 대상 파라미터: Ceiling Height_sche (공유 파라미터)
  • 스케줄 연동 파라미터의 일관성 유지 목적
  • 다중 문서 배치 처리

철골타입 임포터

공식 철골 패밀리의 타입을 우리 회사 커스텀 패밀리로 그대로 복제 + 파라미터 자동 복사

🖱 쓰는 법

  1. YoonDream 탭 → Coco 패널 → 철골타입 임포터 버튼 클릭
  2. 소스 패밀리 드롭다운에서 공식 패밀리 선택 (예: H_Beam_Official)
  3. 타겟 패밀리 드롭다운에서 커스텀 패밀리 선택 (예: H_Beam_Custom)
  4. 복제할 타입 체크 + 우측 입력란에 저장될 타입명 편집 가능
  5. 임포트 클릭 → 타겟 패밀리에 새 타입 생성 + 파라미터 자동 매칭 복사

💡 이럴 때 쓰세요

  • 공식 철골 라이브러리(예: 한국/일본/미국 표준)에서 필요한 단면만 회사 패밀리로 가져올 때 — 파라미터 손으로 채울 필요 없음
  • 두 패밀리가 이름은 다르지만 파라미터 구조가 비슷할 때 — 이름 기반 자동 매칭
  • 수십 개 단면 일괄 임포트해야 할 때

이름이 일치하는 파라미터만 자동 복사됩니다

소스와 타겟 패밀리 양쪽에 같은 이름으로 파라미터가 정의되어 있어야 값이 넘어갑니다. 타입명(Type Name), 패밀리명(Family Name) 등 시스템 식별자는 자동 제외.

🔍 UI 미리보기

Steel Type Importer
소스 패밀리 (공식)
H_Beam_Official
타겟 패밀리 (커스텀)0개
H_Beam_Custom
임포트할 타입 선택3개 선택
전체 선택전체 해제
H200x100x5.5x8H200x100x5.5x8
H250x125x6x9H250x125x6x9
H300x150x6.5x9H300x150x6.5x9
Developed by Yoon Dream닫기 임포트
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Coco.panel/steeltypeimporter.pushbutton/ — script.py, ui.xaml, bundle.yaml

워크플로우

  1. 소스 패밀리 선택 (공식 철골 패밀리)
  2. 타겟 패밀리 선택 (커스텀 패밀리)
  3. 소스에서 복제할 타입 체크박스 선택
  4. FamilySymbol.Duplicate() → 타겟 패밀리에 새 타입 생성
  5. copy_matching_params() — 이름 기반 파라미터 매칭 및 복사

스킵 파라미터

시스템 식별자 파라미터는 복사 제외:

  • Type Name, Family Name, Type IfcGUID, Family Id

타입 이름 해석 (다중 폴백)

  1. SYMBOL_NAME_PARAM
  2. ALL_MODEL_TYPE_NAME
  3. .NET property
  4. 기본 Name property

패밀리 스왑

패밀리 A의 인스턴스들을 패밀리 B 타입으로 한꺼번에 교체 + 기존 인스턴스 파라미터 값 선택적 보존

🖱 쓰는 법

  1. YoonDream 탭 → Coco 패널 → 패밀리 스왑 버튼 클릭
  2. 소스 패밀리 드롭다운에서 교체할 현재 패밀리 선택
  3. 타겟 패밀리 드롭다운에서 교체할 새 패밀리 선택
    • 자동으로 같은 카테고리만 표시됨
  4. 타입 1:1 매핑 — 소스의 타입마다 대응하는 타겟 타입을 ComboBox로 지정
  5. 보존할 인스턴스 파라미터 체크박스로 선택 (Mark, Comments, Base Offset 등)
  6. 교체 실행 클릭 → 단일 Transaction으로 전체 교체

💡 이럴 때 쓰세요

  • 구버전 패밀리를 신버전으로 교체하면서 기존 인스턴스의 태그 · 주석 · 오프셋 값은 유지하고 싶을 때
  • 다른 회사에서 받아온 패밀리를 사내 표준 패밀리로 치환할 때
  • 같은 형태의 패밀리지만 이름만 바꿔야 할 때 — 수백 개 인스턴스 한 번에 이관

되돌리기는 Ctrl+Z 한 번

전체 교체가 단일 Transaction 으로 실행되므로 잘못됐을 때 Ctrl+Z 한 방으로 전체가 롤백됩니다. 안심하고 실행 가능.

파라미터 이름이 똑같아야 값이 넘어갑니다

소스 패밀리와 타겟 패밀리의 인스턴스 파라미터 이름이 같을 때만 값이 보존됩니다. 이름이 다르면 새 패밀리 기본값으로 시작.

🔍 UI 미리보기

Family Swapper
소스 패밀리 (교체 대상)
H-Wide Flange (구버전)
타겟 패밀리 (교체할 패밀리)
H-Wide Flange (신버전)
타입 매핑3개 선택
전체 선택전체 해제
H-200x200 (5개)H-200x200
H-300x300 (12개)H-300x300
H-400x400 (8개)H-400x400
보존할 인스턴스 파라미터 6개
Mark Comments Base Offset Top Offset Phase
Developed by Yoon Dream닫기 교체 실행
🔧 개발자 정보 (API · 경로 · 내부 로직)

파일 위치

  • Coco.panel/familyswapper.pushbutton/ — script.py, ui.xaml, bundle.yaml

핵심 동작

항목 동작
교체 범위 체크된 타입의 모든 인스턴스 (프로젝트 전체)
파라미터 보존 체크 = 값 유지, 해제 = 새 패밀리 기본값
카테고리 필터 소스 선택 시 같은 카테고리만 타겟에 표시
되돌리기 단일 Transaction → Ctrl+Z 한 번으로 전체 롤백

파라미터 구분

FamilyInstance.Parameters는 타입 파라미터도 포함하므로, 내부적으로 FamilySymbol.Parameters에 있는 이름을 제외하여 인스턴스 전용 파라미터만 수집합니다. 사용자는 체크박스로 보존 여부를 선택합니다.

안전장치

  • 스냅샷→교체→복원 3단계 방어 패턴 (ChangeTypeId 자동 보존 여부와 무관하게 확실히 복원)
  • WarningSwallower로 비치명적 경고 자동 처리
  • 실패한 인스턴스/파라미터는 리포트에 상세 기록