데이터 계산 및 엑셀로 내보내기 Ⅱ
지난 호에서는 레빗(Revit)으로 모델링한 건물에 존재하는 여러 유형의 벽체 수량과 비용을 계산한 후 변환된 정보를 엑셀 스프레드시트에 출력하고 그래픽으로 표시하는 변환 스크립트를 만들어보았다. 이번 호에서는 지난 호에 이어서 데이터 계산 및 엑셀로 내보내기 방법을 살펴본다.
■ 전호상 | 벤틀리시스템즈 코리아의 Senior Application Engineer로 협업 플랫폼인 ProjectWise, 리뷰 프로그램 네비게이터 및 정보교환 포맷인 i-model의 기술지원을 담당하고 있다.
E-mail | hosang.jeon@bentley.com
홈페이지 | www. bentley.com/ko
1. 5단계 : 가격 데이터 지원하기
5단계에서는 비용 데이터를 지원하기 위해 벽체 수량 데이터가 포함된 i-model을 업데이트한다. 이를 위해 MapSchemas 변환 아이템을 사용하여 비용 데이터를 포함하기 위해 계산한 벽체 수(집계) 계산에서 생성된 i-model의 Sum 항목을 업데이트한다.
(1) 먼저 수량과 비용 데이터를 모두 포함하는 스키마와 클래스를 정의해야 한다. 수량 및 비용 정보를 포함하는 스키마 및 클래스는 예제 파일 ‘WallQuantitiesAndCosts.01.00.ecschema.xml’에 정의되어 있다. 이 파일은 Compute Wall Quantities(Aggregate : 변환 아이템)에 의해 생성된 HospWallQuantities.i.dgn에 내장된 스키마를 스키마 내보내기 도구로 먼저 내보낸 다음 비용 특성 및 관계를 포함하도록 업데이트해서 만들어졌다.
(2) 클래스 편집기에서 WallQuantitiesAndCosts.01.00.ecschema.xml 스키마를 열고 새로운 WallSum 클래스와 이를 WallCost 항목에 연결하기 위한 비용 관계를 추가한다. 여기서 WallSum클래스는 Sum(표시 레이블: 집계 - 합) 클래스의 하위 클래스이다. 수량 계산 시 생성된 항목은 이 Sum 클래스의 항목이다. 벽체, 비용 데이터(예 : 비용, 날짜, 층 등)를 포함하도록 확장한다.
(3) Sum 항목과 새 WallSum 항목의 매핑은 스키마 맵 편집기를 사용하여 작성되는 스키마 맵에 의해 정의되고 이 매핑 파일은 예제 파일 WallQuantitiesAndCosts.mapping.xml로 제공된다.
그림 1. 스키마 맵 편집기에서 매핑이 완료된 화면
(4) MapSchemas 변환 아이템을 작업 화면에 추가하고 필요한 매개 변수를 입력한다. 입력된 i-model은 Compute Wall Quantities(Aggregate) 변환에 의해 생성된 HospWallQuantities.i.dgn이 된다. 출력된 i-model의 이름을 HospWallQuantitiesUpdate.i.dgn로 저장한다. 앞에서 언급한 WallQuantitiesAndCosts.mapping.xml을 매핑 파일로 선택한다.
(5) 대화 상자의 오른쪽 하단 모서리에 있는 저장(Save) 버튼을 선택하여 작업을 저장한다.
그림 2. 5단계 완료 화면
(6) 개별 실행 버튼을 선택하여 스크립트를 실행한다. 변환이 처리됨에 따라 변환 아이템이 강조 표시되고 메시지가 로그 표시 화면에 출력된다.
(7) 출력 파일 WallQuantitiesUpdate.i.dgn을 열어 새 WallSum 항목이 항목 브라우저에 표시되는지 확인한다. 수량과 비용 특성 항목을 포함해야 하며 이전 변환에서 계산된 수량 정보는 유지되어야 하며 비용 데이터는 이후 단계에서 할당된다.
그림 3. WallSum 항목 화면