주 콘텐츠로 건너뛰기
Infomation 생성 편집

Editing USER PSET / QSET

개요

• InfoX Sheet의 USER PSET 시트USER QSET 시트는 사용자가 직접 속성과 수량 정보를 추가·편집할 수 있는 영역입니다.

PROPERTY SET 시트 / QUANTITY SET 시트는 Edit Default Set에서 정의된 Predefined 항목으로 자동 생성되는 반면, USER PSET / USER QSET은 사용자가 자유롭게 행을 추가하여 정보를 입력할 수 있습니다.

• Predefined PROPERTY SET / QUANTITY SET은 Object 단위 부재를 기반으로 작성되므로, 물리적 객체가 할당되지 않는 프로젝트·시설물 등 상위 레벨에는 적용할 수 없습니다. USER PSET / USER QSET은 이러한 상위 WBS 레벨에 사업 정보, 발주 정보, 시설물 정보 등 사용자 정의 데이터를 부여하는 통로로 활용되며, 개별 객체에 대해서도 Predefined 항목 외에 추가 속성·수량을 자유롭게 정의할 수 있습니다.

• 객체의 IFCGUID를 기준으로 정보가 매핑되며, 입력한 데이터는 BOQ 집계, IFC Export, Field Viewer 등 CIM 전반에 활용됩니다.

Note  
USER PSET / USER QSET은 Open Link로 InfoX Sheet를 열어야만 편집할 수 있습니다. 
Open Link 상태에서는 Excel에서 입력한 내용이 저장 즉시 CIM에 반영되어 Field Viewer에서 확인할 수 있습니다.


 

설명

USER PSET 시트 편집

USER PSET 시트는 객체 또는 상위 레벨에 추가 속성 정보를 입력하는 영역입니다.

01 USER PSET Area.png

• 편집 가능 영역

Field Input Area(Data Group ~ Description 열)에 정보를 직접 입력할 수 있습니다.
IFCGUID, Structure 등 식별 영역은 편집할 수 없습니다.

 

• 행 추가

하나의 객체에 여러 속성을 입력하려면 행을 추가할 수 있습니다. 행 추가 시 Classification / Entity ID Area는 바로 위 행과 동일하게 채워야 하며, 이를 통해 동일한 객체에 추가 속성으로 등록됩니다.

 

Note  
Project 및 시설물 등 상위 레벨의 IFCGUID 행에 동일한 방식으로 행을 추가하면, 사업 정보·발주처 정보·시설물 정보 등을 사용자 속성으로 정의할 수 있습니다.

 

• 함수 활용

Value 입력 시 InfoX Sheet의 다른 시트(MEMBER, TENDON, STIFFENER 등)의 Header를 참조하는 Excel 함수를 사용할 수 있습니다.
하단의 활용 사례에서 소개하는 QSET UDF Library를 활용하면 IFCGUID 기반으로 객체 정보를 자동 조회할 수 있습니다.

 

Note  
Field Input Area 외의 영역은 편집하지 마십시오. 
IFCGUID, Structure 등 식별 열을 임의로 수정하면 CIM과의 매핑이 깨질 수 있습니다.

 


USER QSET 시트 편집

USER QSET 시트는 객체별로 추가 수량 정보를 입력하는 영역입니다.

02 USER QSET Area.png

• 편집 가능 영역

USER PSET과 동일하게 Field Input Area(Field ~ Description 열)에 정보를 입력합니다.
Value 열에는 수량과 관련된 실수/정수 값만 입력할 수 있습니다.

 

• 행 추가

USER PSET과 동일한 방식으로 행을 추가하며, 추가 행은 바로 위 행의 IFCGUID에 매핑됩니다.

 

• 정보 시트 값 참조

정보 시트의 값을 참조하여 수량을 산출할 수 있습니다.
예를 들어 길이 × 폭 형태의 면적 계산, 단별 거푸집 면적 산출 등 복잡한 수량 계산을 Excel 함수로 자동화할 수 있습니다.

 

Note  
USER QSET에 입력된 수량 항목은 File > Export > XLS > BOQ 시 QUANTITY SET 시트와 함께 집계 대상이 됩니다. 
사용자가 정의한 공종/규격 조합에 따라 별도의 행으로 분리되어 집계됩니다.

 


CIM 반영 규칙

USER PSET / USER QSET에 입력한 정보는 다음 규칙에 따라 CIM에 반영됩니다.

GUID 기준 매핑 : 모든 입력 정보는 IFCGUID를 기준으로 객체와 매핑됩니다.

추가 행 매핑 : 사용자가 추가한 행은 해당 행에 입력된 IFCGUID를 기준으로 매핑됩니다. 동일 객체에 추가 속성을 등록하려면 바로 위 행과 동일한 IFCGUID를 입력해야 합니다.

공백 행 : 입력된 정보가 없는 빈 행은 업데이트 시 무시됩니다.

삭제된 객체 : CIM에서 삭제된 객체의 GUID 행은 매핑 대상이 없으므로 무시됩니다.

 


 

활용 사례 — VBA 함수 라이브러리

개요

UtilforInfoSheet 는 InfoX Sheet 환경에서 USER PSET / USER QSET 수식에 활용하기 위한 VBA 사용자 정의 함수(UDF) 라이브러리입니다.

• IFCGUID를 매개로 InfoX Sheet의 각 객체 행과 정보 시트의 데이터를 자동 연결하여, 값 조회 · 거푸집 수량 · 도장 수량 산정을 단일 수식으로 처리합니다.

• 라이브러리는 다음 세 가지 함수군으로 구성됩니다.

값 조회 : GV
거푸집(FormWork) : FWS, FWH, FWAE, FWAI, FWA, FWD
도장(Paint) : PTE, PTI, PTA

Note  
UtilforInfoSheet 함수는 별도로 제공되는 VBA 모듈 파일을 Excel에 불러온(Import, Alt + F11) 후에만 사용할 수 있습니다. 또한 USER PSET / USER QSET 시트의 Value 열에서 호출되며, Open Link로 InfoX Sheet를 열어야 정상 동작합니다.


공통 동작 원칙

• IFCGUID 기반 자동 매칭

모든 함수는 호출된 셀과 동일한 행의 E열에서 IFCGUID를 읽어, MEMBER 시트(GV의 경우 MEMBER / TENDON / STIFFENER / BOLT / LAYOUT / ETC 6개 시트)의 E열과 매칭한 뒤 해당 행의 값을 반환합니다.

사용자가 별도로 행/열을 지정할 필요 없이 IFCGUID만으로 객체 정보가 자동 연결됩니다.

 

• 단(Step) 구간 규칙

거푸집 함수에서 사용하는 높이 단 구간은 다음과 같이 정의됩니다.

1단 : 0m ~ 7m 이하
n단 (n ≥ 2) : (7 + (n−2)×3)m 초과 ~ (7 + (n−1)×3)m 이하

즉, 1단은 7m, 2단부터는 3m 단위로 분할됩니다.

절대 단 높이 구간 단 높이
1단 0 ~ 7m 최대 7m
2단 7m ~ 10m 최대 3m
3단 10m ~ 13m 최대 3m
n단 (n≥2) 7+(n-2)×3 ~ 7+(n-1)×3 최대 3m

 

• 변단면(Tapered) 처리

MEMBER 시트의 Tapered 열에 값이 있으면 변단면으로 판정됩니다.
변단면인 경우 면적 함수(FWAE / FWAI / FWA / PTE / PTI / PTA)는 측면 거푸집 면적 배분 방식을 사용하며, 둘레길이 선형보간 + 사다리꼴 면적 기반 가중 배분으로 계산합니다.

변단면이 선형비례인 경우 정확히 일치하나, Parabolic 등이 적용된 경우 근사값이 산출됩니다.
단, 근사값의 경우에도 객체의 총 합은 일치합니다.

 


GV — 값 조회

IFCGUID를 기준으로 MEMBER, TENDON, STIFFENER, BOLT, LAYOUT, ETC 시트를 순차 검색하여 지정된 열의 값을 반환합니다. IFCGUID는 고유값이므로 시트를 지정할 필요 없이 자동으로 찾아줍니다.

 

• 구문

=GV("col_name")

 

• 매개변수

col_name (String, 필수) : 조회할 열 이름. Header와 정확히 일치해야 합니다. 단, 대소문자는 구분하지 않습니다.

 

• 반환값

매칭된 셀의 값. 열이 없는 경우 [NO COLUMN: 열이름], 값이 비어 있는 경우 빈 문자열을 반환합니다.

 

• 사용 예시

수식 설명 반환값 예시
=GV("Length") or GV("length")  부재 길이 13.5
=GV("Weight") 부재 중량 8905.38
=GV("Material") 재료 C24
=GV("Volume") 체적 0.378
=GV("DuctDiameter") 텐던 덕트 직경 (TENDON 시트) 0.09
=GV("NumberOfBolt") 볼트 수량 (BOLT 시트) 24

 


FWA — 단별 거푸집 면적

현재 객체의 해당 단에서의 외측 + 내측 합산 거푸집 면적(m²)을 반환합니다. 거푸집 공제(FWD)는 포함되지 않으므로 별도 차감이 필요합니다.

 

• 등단면 : FWH × (PerimeterExt(S) + PerimeterInt(S))

• 변단면 : 둘레길이 선형보간 사다리꼴 면적 기반 가중 배분

 

• 구문

=FWA(step_no)
=FWA(step_no, prev_length)

 

• 매개변수

step_no (Long, 필수) : 현재 객체 기준 상대 단번호 (1, 2, 3...)

prev_length (Variant, 선택) : 이전 객체 누적 높이(m). 생략 시 0

 

• 사용 예시

등단면 : Length=13m, ExtS=4.2m, IntS=3.0m

수식 계산 반환값
=FWA(1) 7 × (4.2 + 3.0) 50.4
=FWA(2) 3 × (4.2 + 3.0) 21.6
=FWA(3) 3 × (4.2 + 3.0) 21.6

 

거푸집 공제 적용 예시

수식 설명
=FWA(1) - FWD(0) 1단 면적에서 시점 단면적 공제
=FWA(3) - FWD(1) 마지막 단 면적에서 종점 단면적 공제

 


PTA — 도장 합산 면적

부재 전체 길이 기준의 외측 + 내측 도장 합산 면적(m²)을 반환합니다. 단수 구분 없이 부재 전체를 대상으로 합니다.

 

• 등단면 : Length × (PerimeterExt(S) + PerimeterInt(S))

• 변단면 : SurfaceArea - FaceArea(S) - FaceArea(E) (총 측면적 그대로)

 

• 구문

=PTA()

 

• 사용 예시

조건 수식 계산 반환값
등단면 (Length=13m, ExtS=4.2m, IntS=3.0m) =PTA() 13 × (4.2 + 3.0) 93.6
변단면 (SurfaceArea=210m², S=5m², E=3m²) =PTA() 210 - 5 - 3 202.0

 

Note  
=PTE() + PTI()의 합은 =PTA()와 항상 동일합니다.

 


함수 요약표

QSET UDF Library에서 제공하는 전체 함수 목록입니다.

 

함수 구문 설명 반환 단위
GV GV("col_name") 지정 열의 값 조회
FWS FWS(step, [prev]) 단별 스펙 문자열 String
FWH FWH(step, [prev]) 단별 높이 m
FWAE FWAE(step, [prev]) 외측 단별 거푸집 면적
FWAI FWAI(step, [prev]) 내측 단별 거푸집 면적
FWA FWA(step, [prev]) 합산 단별 거푸집 면적
FWD FWD(0|1) 시점/종점 단면 공제 면적
PTE PTE() 외측 도장 면적
PTI PTI() 내측 도장 면적
PTA PTA() 합산 도장 면적

 


오류 메시지 일람

메시지 원인 대처
[NO GUID] E열에 IFCGUID가 없음 E열 값 확인
[NO MATCH] IFCGUID에 매칭되는 행이 없음 해당 시트에 데이터 존재 여부 확인
[NO COLUMN: 열이름] 지정한 열 이름이 Header에 없음 열 이름 오타 확인
[INVALID STEP] step_no가 1 미만 step_no ≥ 1 필요
[INVALID: 0 or 1 only] FWD에 0 또는 1 이외 값 입력 se_flag는 0 또는 1만 가능
[ERROR: TAPERED] 변단면 계산에 필요한 열이 없음 MEMBER 시트 Header 확인
[ERROR] 기타 예상치 못한 오류 VBA 디버깅 필요

 


 

참고자료

 

Generate(InfoX Sheet)

Edit Default Property Set

Edit Default Quantity Set 

• Open Link InfoX Sheet / Update Object Name

첨부 파일 : UtilforInfoSheet.bas

0
컨텐츠가 도움이 되셨나요?