내 Revit 모델에는 Revit에서 작업 할 때 선택할 수있는 객체 그룹이 있습니다. 이제 Forge 뷰어에서이 모델을 사용하여 브라우저 요소에서 단일 요소 (또는 상위 요소) 만 선택할 수 있지만 Revit에서 그룹을 재구성 할 수는 없습니다. 가능성이 있습니까? 아니면 제안 된 해결 방법이 있습니까?Forge 뷰어의 Revit 모델에서 객체 그룹 재구성
답변
뷰어 모델 브라우저에서 해당 그룹을 보십니까? 예를 들어, 벽, 바닥 등으로 그룹화 된 구성 요소를 가져옵니다. 구성 요소가 다른 방법으로 그룹화 된 경우 뷰어에서 구성 요소를 직접 선택할 수있는 방법이 없을 수 있습니다.
매핑을 직접 설정해야합니다. 예를 들어 viewer.getProperties(dbid, function(res))
>res.externalId
을 사용하여 주어진 구성 요소 dbId의 Revit 요소 ID에 액세스 할 수 있습니다. Revit Id입니다. 저장하는 경우 - 예 : Revit 그룹과 함께 각 그룹의 Revit ID 목록과 함께 사용자 정의 DB에서 모델로드시 뷰어 구성 요소 dbIds에 매핑 할 수 있습니다. 선택 이벤트를 사용하여 구성 요소를 선택할 때 해당 구성 요소가 속한 그룹을 선택하고 해당 그룹의 다른 구성 요소를 프로그래밍 방식으로 선택하십시오. 또한 사용자 정의 UI를 만들어 해당 그룹을 시각화하거나 모델 브라우저에서 해당 그룹을 표시 할 수도 있습니다. 분명히 프로그래밍 작업이 필요합니다.
나는 Philippe에 동의합니다. Forge 번역 프로세스에는 Revit과 동일한 그룹 개념이 없습니다. Forge는 모든 종류의 CAD 시드 파일에 유효한 메커니즘을 구현해야한다는 것을 기억하십시오. Revit API 및 FilteredElementCollector
을 사용하여 Revit의 모든 그룹을 검색하고 구성원 요소 및 인스턴스 ID를 결정한 다음 필요한 정보를 사용하여 Philippe의 제안을 구현할 수 있습니다.
주어진 AssemblyID에 대한 ExternalID 목록을 가져 오는 방법이 있습니까? getExternalIdMapping - 함수는 ID 및 DBids 목록을 제공합니다. 해당 dbid를 사용하여 주어진 Element에 색상을 적용 할 수 있지만 AssemblyDBIds에서는 작동하지 않습니다. – Sanjith