Revit에서 포함된 데이터의 일부를 사용해서 항목을 조회하려고 한 적이 있습니까?
다음 예와 같이 작업을 수행할 수 있습니다.
아래 이미지에서는 Revit 모델의 모든 룸을 수집하고, 원하는 룸의 색인(룸 번호 기준)을 가져오고, 마지막으로 색인의 룸을 가져오는 작업을 수행합니다.
모델의 모든 룸을 수집합니다.
찾을 룸 번호입니다.
룸 번호를 가져오고 해당 룸 번호가 있는 색인을 찾습니다.
색인에서 룸을 가져옵니다.
아래 링크를 클릭하여 예제 파일을 다운로드하십시오.
전체 예시 파일 리스트는 부록에서 확인할 수 있습니다.
이제 사전을 사용하여 이 아이디어를 다시 작성해 보겠습니다. 먼저 Revit 모델에서 모든 룸을 수집해야 합니다.
작업할 Revit 카테고리를 선택합니다(이 경우에는 룸 사용).
Dynamo에 모든 요소를 수집하도록 지시합니다.
다음에는 이 데이터를 조회하는 데 사용할 키를 결정해야 합니다. 키에 대한 정보는 사전이란 무엇입니까? 섹션에서 찾을 수 있습니다.
사용할 데이터는 룸 번호입니다.
이제 지정된 키 및 요소로 사전을 작성합니다.
적절한 입력이 주어지면 노드 Dictionary.ByKeysValues가 사전을 작성합니다.
Keys
는 문자열이어야 하지만,values
는 다양한 객체 유형일 수 있습니다.
마지막으로, 이제 룸 번호를 사용하여 사전에서 룸을 검색할 수 있습니다.
String
은 사전에서 객체를 조회하는 데 사용하는 키입니다.Dictionary.ValueAtKey가 이제 사전에서 객체를 가져옵니다.
동일한 사전 논리를 사용하여 그룹화된 객체로 사전을 작성할 수도 있습니다. 지정된 레벨에서 모든 룸을 조회하려면 다음과 같이 위 그래프를 수정하면 됩니다.
이제 룸 번호를 키로 사용하는 대신, 매개변수 값을 사용할 수 있습니다(이 경우에는 레벨 사용).
이제 룸이 있는 레벨을 기준으로 룸을 그룹화할 수 있습니다.
이제 요소가 레벨로 그룹화되므로 공유 키(고유 키)를 사전용 키로 사용하고 룸 리스트를 요소로 사용할 수 있습니다.
마지막으로 Revit 모델의 레벨을 사용하여 사전에서 해당 레벨에 있는 룸을 조회할 수 있습니다.
Dictionary.ValueAtKey
는 레벨 이름을 가져온 후 해당 레벨에서 룸 객체를 반환합니다.
사전을 사용할 수 있는 기회는 무궁무진합니다. Revit의 BIM 데이터를 요소 자체에 연결하는 기능은 다양한 사용 사례에 제시할 수 있습니다.