Dynamo를 사용하여 Revit 뷰 배치 익스포트하기

Dynamo 스크립트 언어를 사용하여 Revit에서 익스포트하는 방법을 살펴봅니다.

언리얼 엔진 의 블루프린트 스크립트 시스템과 비슷한 비주얼 프로그래밍 언어인 Revit의 Dynamo를 사용하면 Revit API에 액세스하여 수많은 반복 작업을 손쉽게 자동화할 수 있습니다. 데이터스미스용 Autodesk Revit 익스포터(Autodesk Revit Exporter for Datasmith)는 리본 툴바의 애드인에서 액세스할 수 있을 뿐만 아니라 Dynamo를 통해 Revit 3D 뷰를 .udatasmith 파일로 익스포트하는 프로세스를 자동화하여 언리얼 엔진에서 사용할 수도 있습니다.

익스포트에는 현재 Autodesk Revit 2018.3, 2019 및 2020에서 지원되는 Revit 플러그인이 필요합니다.

플러그인 설치하기

먼저 에픽게임즈에서 제공하는 데이터스미스용 Autodesk Revit 익스포터 플러그인을 다운로드 및 설치합니다. 이때 기존에 설치된 이전 버전의 플러그인이 업데이트되며 Dynamo 비주얼 스크립팅 언어에 대한 일부 연결이 더 추가됩니다.

이 플러그인을 사용하려면 Dynamo 버전이 2.0 이상이어야 합니다. 버전 정보는 Dynamo UI에서 Help 메뉴를 클릭하고 About 옵션을 선택하여 확인할 수 있습니다.

플러그인을 설치한 후 Dynamo 인터페이스를 실행합니다.

다음으로는 'DatasmithDynamoNode.dll' 파일을 임포트해야 합니다. Dynamo UI에서 'File' 메뉴를 클릭하고 'Import Library' 옵션을 선택합니다. 라이브러리는 다음 위치 중 하나에서 찾을 수 있습니다.

Revit 버전

위치

2018.3

C:\ProgramData\Autodesk\Revit\Addins\2018\DatasmithRevit2018\DatasmithDynamoNode.dll

2019

C:\ProgramData\Autodesk\Revit\Addins\2019\DatasmithRevit2019\DatasmithDynamoNode.dll

2020

C:\ProgramData\Autodesk\Revit\Addins\2020\DatasmithRevit2020\DatasmithDynamoNode.dll

라이브러리가 성공적으로 설치된 경우 'Dynamo Library'의 'Add-Ons'에 DatasmithDynamoNode 가 표시되어야 합니다.

작동 원리

라이브러리를 임포트하면 Datasmith Dynamo 노드가 설치되며 이 노드는 Revit 문서에서 데이터를 취하여 요청된 뷰를 지정된 테셀레이션 레벨로 익스포트하도록 디자인되었습니다.

번호

설명

1

현재 Revit 문서

2

출력 경로

3

뷰 ID 목록

4

테셀레이션 레벨(integer 값 1~15, 디폴트 8)

이 노드는 현재 Revit 파일을 문서로 사용하여 .udatasmith 파일을 출력하고 데이터스미스를 지원하는 .udsmesh 파일로 3D 뷰의 오브젝트 폴더를 출력합니다.

이 플러그인에는 Datasmith Dynamo 노드의 사용 방법을 보여주는 샘플 Dynamo 스크립트 파일이 포함되어 있어 이 노드를 사용하여 배치 익스포터를 생성하는 방법을 익힐 수 있습니다.

스크립트는 다음 단계를 따라 진행됩니다.

  1. 스크립트는 'Get 3D Views' 노드를 사용하여 현재 Revit 문서에 있는 3D 뷰를 모두 파악하여 목록에 추가합니다.

  2. 그런 다음 목록을 필터링하고 뷰 이름에 Prefix_ViewName 포맷을 사용하는 접두사가 추가되었는지, 뷰에 특정 이름이 지정되었는지 파악합니다. 이 예에서는 접두사 디폴트는 'Datasmith'로 설정되어 있고, 인스턴스 파라미터 이름의 디폴트는 'DatasmithExport'입니다.

  3. 다음은 스크립트가 뷰를 모두 익스포트할지 또는 필터링된 목록에서 찾은 뷰만 익스포트할지 결정할 Boolean 값 두 개를 찾습니다.

  4. 마지막으로, 'Mesh Tessellation Amount'에 정의된 디테일의 양만큼 선택된 뷰가 선택된 폴더로 익스포트됩니다.

Dynamo API의 종속성을 피하려면 이 버전의 배치 익스포터에는 Python 노드를 사용하여 현재 문서 관련 정보를 가져와야 합니다.

마찬가지로 지정된 뷰의 3D 뷰를 구하고 ElementID를 추출하는 것도 Python 노드에 의존합니다.

배치 익스포터 사용하기

제공되는 Dynamo 샘플은 기본적인 배치 익스포터로 실행하고 사용할 수 있습니다.

프로퍼티

설명

Export To:

폴더를 탐색하고 데이터스미스 파일의 익스포트 대상 경로를 지정할 수 있습니다.

Mesh Tessellation Amount:

익스포트 동안 사용될 테셀레이션 레벨을 Revit API에서 정의된 대로 지정합니다 . 디폴트는 레벨 8입니다. 이 값은 Revit FBX Exporter와 동일한 메시 해상도를 제공합니다.

테셀레이션 레벨 8

RB_TessImage8.png

테셀레이션 레벨 2

RB_TessImage2.png

Export All 3D Views:

'ON'으로 설정된 경우 현재 Revit 문서에서 찾은 3D 뷰를 모두 익스포트합니다. 'OFF'로 설정된 경우 현재 Revit 문서에서 커스텀 이름 또는 접두사를 사용하는 3D 뷰를 찾아 데이터스미스로 익스포트합니다.

By View Name Prefix/By View Instance Parameter:

뷰 인스턴스에 할당된 접두사 이름 또는 프로젝트 파라미터가 일치하는 뷰만 익스포트합니다.

  • TRUE: 파라미터를 기준으로 필터링합니다.

  • FALSE: 뷰 이름 접두사를 기준으로 필터링합니다.

View Instance Parameter Name:

익스포트할 뷰의 이름을 정의합니다.

Export 3D Views Prefixed With:

익스포트할 뷰 이름 접두사를 정의합니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.