01이 솔루션이란
RevitCDE는 Revit 프로젝트를 위한 Common Data Environment입니다.
사용자 작업을 구체적인 모델 객체에 연결합니다.
감사 가능한 디지털 순환을 구축합니다.
02대상 사용자
RevitCDE는 여러 서로 다른 역할을 지원합니다.
BIM 코디네이터 / 프로젝트 관리자
모델, 승인, 문서 및 작업의 상태를 확인합니다.
작성자(설계자)
컨텍스트를 계속 전환하지 않고 Revit에서 작업합니다.
승인자
스냅샷과 문서를 사용해 들어온 요청을 검토합니다.
뷰어
프로젝트 범위 내 읽기 권한.
견적 담당자
견적 데이터베이스, 항목, 비모델 비용.
공정 계획 엔지니어
일정, 작업, 비모델 시간 프로세스.
관리자
서버, 사용자, 프로젝트, 데이터베이스, 정책.
03해결하는 문제
Revit과 관리 프로세스 사이의 단절
승인과 작업이 모델과 분리되어 관리됩니다.
플러그인은 모델 데이터를 수집하고 요청을 객체에 연결합니다.
단일 진실 공급원 부재
파일, 이메일 및 스프레드시트의 버전이 서로 달라집니다.
CDE 구조가 프로젝트, 문서, 버전 및 이력을 저장합니다.
불투명한 승인
결정이 사라지고 승인 경로가 비공식적으로 운영됩니다.
ApprovalRequest, 다단계 경로, 추가 전용 이벤트, 변경 불가능한 스냅샷.
Revit에서 모델 상태가 보이지 않음
설계자는 무엇이 승인, 대기 또는 거부되었는지 확인할 수 없습니다.
상태를 Shared Parameters와 Extensible Storage에 반영합니다.
3D, 4D 및 5D가 연결되지 않음
견적과 일정이 분리되어 운영되고, 모델에 없는 작업은 관리 대상에서 누락됩니다.
프로젝트별 estimate.db와 schedule.db, 그리고 4D/5D 허브 역할의 WorkPackage.
서버 없는 오프라인/로컬 작업
분리된 모델은 향후 서버 연결 경로를 잃지 않으면서 로컬 저장소를 사용해야 합니다.
Extensible Storage의 로컬 모드, 선택적 외부 단일 파일 DB, 이후 서버로 마이그레이션.
04작동 방식
세 계층이 하나의 데이터 순환을 구성합니다.
- 사용자는 Revit에서 작업합니다. 플러그인은 모델 요소, 시트, 뷰, 일람표 및 상태를 읽습니다.
- 모델은 서버 프로젝트에 연결됩니다. 연결 정보는 Extensible Storage를 통해 RVT 모델 내부에 저장됩니다.
- 플러그인은 프로젝트 요소, 모델 요소, 변경 사항, 상태, 요청, 작업, 채팅 및 문서를 서버와 동기화합니다.
- 서버는 전역 데이터를 기본 데이터베이스에, 주제별 데이터를 프로젝트별 데이터베이스인 model_{guid}.db, disciplines.db, estimate.db, schedule.db에 저장합니다.
- 웹 캐비닛은 프로젝트, 문서, 승인, 작업, 채팅 및 관리 기능을 제공하며 실시간 업데이트는 SignalR을 통해 전달됩니다.
- 승인자의 결정, 상태 변경, 연결된 문서 및 작업은 Revit으로 돌아가 플러그인과 모델 매개변수에 표시됩니다.
협업 모드에서는 서버가 단일 진실 공급원입니다. 모델에는 최소 연결 정보와 로컬 데이터가 계속 유지되므로 Revit 재시작이나 오프라인 구간에서도 작업을 이어갈 수 있습니다.
05기능
기능 지도를 한눈에 확인합니다.
프로젝트
프로젝트 설정, 구성원, 역할, 표준, 분야, 단계, 패키지.
모델
RVT 연결, 동기화, 식별자, 지문, 상태, 변경 추적.
승인
요청, 경로, 스냅샷, 결정, 철회, 로그, 실시간 업데이트.
문서
CDE 문서, 버전, 업로드/다운로드, SHA-256, WIP→Shared→Published→Archived.
작업
칸반, 간트, 중요도, 상태, 담당자, 작업 관계.
커뮤니케이션
프로젝트 채팅, 메시지, 반응, 서신, 이메일 연동.
관리
사용자, 역할, 서버 매개변수, 데이터베이스, 상태, 권한 부여 정책.
4D/5D
견적, 일정, WorkPackage, 수량 스냅샷, EVM/CPM.
로컬 작업
Extensible Storage, 선택적 외부 로컬 DB, 서버로 마이그레이션.
현지화
중앙 집중식 UI 현지화, 로드맵 기준 22개 언어.
06사용 시나리오
시트 또는 뷰 승인 요청 제출
- 1단계
- 2단계
- 3단계
- 4단계
- 5단계
- 6단계
WIP에서 게시까지의 문서 흐름
- 1단계
- 2단계
- 3단계
- 4단계
- 5단계
모델, 견적 및 일정 연결
- 1단계
- 2단계
- 3단계
- 4단계
- 5단계
07자주 묻는 질문
질문 1
답변 1
질문 2
답변 2
질문 3
답변 3
질문 4
답변 4
질문 5
답변 5
질문 6
답변 6
질문 7
답변 7
질문 8
답변 8
질문 9
답변 9
질문 10
답변 10
아래에서는 RevitCDE의 구현 방식을 확인하려는 독자를 위해 기술 계층을 설명합니다.
08솔루션 구성
| 구성요소 | 용도 | 기술 |
|---|---|---|
RevitCDE.Addin | Revit 애드인 진입점, 모델 연결 및 명령 등록. | C# /.NET Framework, Autodesk Revit API |
RevitCDE.UI | Revit 내부의 데스크톱 패널, 명령 및 사용자 상호작용. | WPF / MVVM |
RevitCDE.Core | 애플리케이션 서비스, 동기화, 로컬 저장소 및 서버 통신. | C# services, HTTP clients, SQLite |
RevitCDE.Domain | 공유 도메인 모델, 식별자, 상태 및 비즈니스 규칙. | netstandard2.0 library |
RevitCDE.Server | 중앙 API, 인증, 프로젝트 데이터 및 통합 서비스. | ASP.NET Core 8, EF Core, PostgreSQL |
RevitCDE.Cabinet | 프로젝트, 문서, 승인, 작업, 채팅 및 관리를 위한 웹 캐비닛. | TypeScript / React web UI |
RevitCDE.Localization | 모든 표시 UI를 위한 중앙 번역 사전 및 언어 전환. | JSON 사전, 공유 i18n 키 |
09로컬 및 서버 모드
RevitCDE는 두 가지 실행 모드를 지원합니다.
로컬 모드
데이터는 모델의 Extensible Storage에 저장됩니다.
외부 로컬 저장소
RVT 모델마다 별도의 데이터베이스 파일을 사용합니다.
서버 모드
활성 데이터는 서버에 저장됩니다.
로컬에서 서버로 이전하는 규칙입니다.
10저장소 아키텍처
| 저장소 | 저장 내용 | 이 구조를 사용하는 이유 |
|---|---|---|
| 기본 서버 DB | 사용자, 조직, 프로젝트, 역할, 전역 설정 및 라이선스 데이터. | 프로젝트 간 데이터를 하나의 권위 있는 서버 데이터베이스에 보관합니다. |
| model_{guid}.db | 모델 요소, 시트, 뷰, 일람표, 수량 및 모델 수준 연결. | 성능과 유지관리를 위해 대용량 모델 데이터를 RVT 모델별로 분리합니다. |
| disciplines.db | 프로젝트 분야, 단계, 패키지 및 표준별 문서 구조. | 전역 스키마를 변경하지 않고 프로젝트 표준을 발전시킬 수 있습니다. |
| estimate.db | 견적 문서, 항목, 비모델 비용, 수량 링크 및 WorkPackage 연결. | 비용 데이터는 별도의 수명주기를 가지며 모델에 없는 항목도 포함해야 합니다. |
| schedule.db | 일정 작업, 종속성, 비모델 시간 프로세스 및 WorkPackage 링크. | 계획 데이터에는 CPM/간트 로직이 필요하며 모델과 견적 데이터를 모두 참조할 수 있습니다. |
| Extensible Storage | RVT 내부의 최소 모델 연결, 기술 식별자 및 로컬 대체 데이터. | 서버 환경 밖에서도 모델 자체를 식별할 수 있습니다. |
| 외부 로컬 DB | 채팅, 승인, 문서, 작업 및 기타 로컬 데이터를 위한 선택적 단일 파일 로컬 데이터베이스. | 분리형/로컬 모델은 Extensible Storage를 과도하게 키우지 않고도 더 풍부한 데이터를 유지할 수 있습니다. |
11보안 및 액세스
보안은 멤버십, 역할, JWT 및 신뢰 모드를 중심으로 구성됩니다.
12승인 — 내부 동작
정형화되고 재현 가능한 프로세스입니다.
승인 요청 제출
선택한 모델 리비전 또는 문서 패키지에 대한 승인 요청을 생성합니다.
변경 불가능한 스냅샷
검토 중인 정확한 모델 및 문서 상태를 기록하여 결정을 재현할 수 있게 합니다.
승인 경로
순차 또는 병렬 검토 단계, 책임 참가자 및 필요한 결정을 정의합니다.
기록된 결정
승인, 거부, 반려 및 의견을 작성자와 타임스탬프와 함께 저장합니다.
이벤트 이력
제출, 할당, 결정 및 상태 변경의 추가 전용 타임라인을 유지합니다.
상태 동기화
확정된 승인 상태를 프로젝트 객체와 연결된 Revit 워크플로로 되돌립니다.
실시간 업데이트
수동으로 페이지를 새로 고치지 않아도 연결된 클라이언트에 승인 변경 사항을 게시합니다.
13WorkPackage — 4D/5D 허브
모델, 수량, 견적, 일정 및 진행률을 연결하는 중앙 객체입니다.
ModelElement |
작업 패키지를 BIM 요소와 안정적인 식별자에 연결합니다. |
QuantityItem |
측정 수량과 각 수량이 산출된 원본을 저장합니다. |
EstimateItem |
수량을 견적 항목, 단가 및 계산 비용과 연결합니다. |
WorkPackage |
범위, 모델, 비용, 일정, 책임 및 증거를 연결하는 중앙 객체 역할을 합니다. |
ScheduleActivity |
작업 패키지를 계획 작업, 날짜, 종속성 및 주공정 데이터와 연결합니다. |
ProgressSnapshot |
실제 진행률, 획득가치 지표 및 보고 기간 실적을 저장합니다. |
프로젝트 데이터베이스는 주제 영역별로 분리됩니다.
14표준, 분야, 단계, 패키지
프로젝트 표준이 문서, 견적 및 일정 형식을 규정합니다.
ProjectStandard
활성 프로젝트 규칙, 명명 규칙 및 필수 정보 구조를 정의합니다.
분야
프로젝트 분야 목록과 분야별 책임을 관리합니다.
PackageType
설계, 조달 및 시공 작업에 재사용할 수 있는 패키지 구조를 정의합니다.
ProjectStage
프로젝트 단계, 단계 전환 및 각 단계에서 필요한 데이터를 제어합니다.
ProjectRole
프로젝트 내 책임, 권한 및 승인 권한을 정의합니다.
StandardPreset
표준, 분야, 단계, 역할 및 패키지 유형의 재사용 가능한 묶음을 적용합니다.
15REST API — 주요 그룹
주제 영역별 REST API, JWT 인증 사용.
-
`/api/auth/*`· 인증, 계정 세션, 비밀번호 복구 및 액세스 토큰. -
`/api/approvals/*`· 승인 요청, 경로, 결정, 의견 및 상태 변경. -
`/api/cde/*`· 프로젝트, 모델, 문서, 이슈 및 공유 프로젝트 데이터. -
`/api/chats/*`· 프로젝트 대화, 참가자, 메시지 및 첨부파일. -
`/api/tasks/*`· 작업, 담당자, 기한, 우선순위 및 완료 상태. -
`/api/standards/*`· 프로젝트 표준, 분야, 단계, 역할 및 패키지 사전 설정. -
`/api/45d/*`· 작업 패키지, 수량, 견적, 일정 작업 및 진행률. -
`/api/admin/*`· 관리, 구성, 진단 및 통제된 유지관리 작업.
16용어집
CDE- Common Data Environment — 프로젝트 정보, 커뮤니케이션 및 결정을 통제하는 공간입니다.
Extensible Storage- 모델 내부에 구조화된 애플리케이션 데이터를 저장하는 Revit 메커니즘입니다.
Shared Parameters- 공통 정의 파일을 통해 여러 프로젝트와 패밀리에서 공유되는 Revit 매개변수입니다.
ProjectElement- Revit 문서 외부에서 BIM 요소를 나타내는 프로젝트 측 레코드입니다.
ModelElement- 특정 모델과 모델 리비전의 요소를 가리키는 안정적인 참조입니다.
Snapshot- 검토 또는 승인에 사용된 정확한 프로젝트 데이터 상태의 변경 불가능한 기록입니다.
ApprovalRequest- 정의된 범위를 승인 경로로 전달하는 공식 요청입니다.
WorkPackage- 범위, 수량, 비용, 일정 및 책임을 연결하는 중앙 4D/5D 객체입니다.
EVM- Earned Value Management — 계획 가치, 획득 가치 및 실제 비용을 사용해 진행률을 측정합니다.
CPM- Critical Path Method — 작업 종속성과 사용 가능한 여유 시간을 기반으로 일정을 분석하는 방법입니다.
17향후 제공 기능
현재 구현에는 작동하는 핵심 기능이 있으며, 아래 항목을 다음 단계로 확장하고 있습니다.
확장된 현지화
지원되는 모든 로케일의 용어를 완전히 검토하고 분야별 표현을 적용합니다.
문서 워크플로
버전 관리 문서 등록부, 전송 문서, 검토 패키지 및 증거 체인.
심화된 4D/5D
더 상세한 작업 패키지 계획, 비용 관리, 진행 예측 및 획득가치 분석.
BCF 상호운용성
BCF 표준을 통해 다른 BIM 애플리케이션과 이슈 및 뷰포인트를 교환합니다.
링크 모델 조정
링크 모델, 소유권, 리비전 및 모델 간 종속성을 조정합니다.
관찰 가능성
운영 대시보드, 감사 지표, 진단 및 서비스 상태 모니터링.