건물 냉난방부하계산을 위한 gbXML 포맷의 BIM데이타 추출에 관한 연구

제목 : 건물 냉난방부하계산을 위한 gbXML 포맷의 BIM데이타 추출에 관한 연구

ABSTRACT: The objective of this study is to develop the algorithm of data extraction from
BIM with gbXML format for heating and cooling load calculation. For this purpose, analysis of variables of heating and cooling load calculation program and sstudy of gbXML format are conducted. As a results of this study, data structure and algorithm are developed for data extraction from BIM with gbXML format and GBDataGen2010 program is developed.

Key words: BIM, Building Information Modeling(건축정보모델링), gbXML, GBDataGen2010, Heating and Cooling Load (냉난방부하), K-Load, RTS-SAREK

대한설비공학회 2010 하계학술발표대회 논문집, pp.157~162, 2010. 6.24.

XML과 .NET

.NET의 XML DOM 클래스들

XML Document의 부분 부분에 해당하는 클래스
document element XmlElement
processing instructions XmlProcessingInstruction
Element XmlElement
Attribute XmlAttribute
Test values XmlText
Nodes XmlNode

XML 문법

사용자 삽입 이미지XML
– XML Markup은 대소문자를 구분한다(case sensitive).
– XML문서는 루트 요소(root element)가 반드시 한 개만 있어야 한다.
– 시작태그(start tag)는 반드시 종료태그(end tag)가 있어야 한다.
– 시작태그와 종료태그는 포함관계가 적절해야 한다.
– 속성 값은 반드시 인용부호를 써야 한다.

gbXML

사용자 삽입 이미지gbXML이란?

The Green Building XML schema, referred to as “gbXML”, was
developed to facilitate the transfer of building information stored in
CAD building information models, enabling integrated interoperability
between building design models and a wide variety of engineering
analysis tools and models available today. Today, gbXML has the industry
support and wide adoption by the leading CAD vendors, Autodesk,
Graphisoft, and Bentley. With the development of export and import
capabilities in several major engineering modeling tools, gbXML has
become a defacto industry standard schema. Its use dramatically
streamlines the transfer of building information to and from engineering
models, eliminating the need for time consuming plan take-offs. This
removes a significant cost barrier to designing resource efficient
buildings and specifying associated equipment. It enables building
design teams to truly collaborate and realized the potential benefits of
Building Information Modeling.

참고할 만한 사이트
공식사이트 http://www.gbxml.org/
http://thebuildingcoder.typepad.com/blog/gbxml/

xpath와 namespace

Hey all,

Simple question, I just want to select the text from the <Template> tag. Here’s what I have, but the Xpath doesn’t match anything.

You need to use an XmlNamespaceManager because the
Template element is in a namespace:

XML 문서에 주석 달기 (comments in XML)

W3C XML 1.0 Recommendation Section 2.5 – Comments에서 발췌

<정의>
주석은 문서의 어디서든 나타날 수 있습니다. 덧붙여 주석은 문법에 의해 허용되는 부분이라면 문서 타입선언부에도 나타날 수 있습니다. 주석은 문서의 문자 데이터는 아닙니다. 하지만 응용 프로그램이 주석의 내용을 추출하고자 한다면XML 처리기를 통해 이를 처리할 수 있습니다. 호환성을 위해 연속된 하이픈 “–“이 주석 중간에 나와서는 안됩니다. 주석안에 있는 파라미터 엔터티 참조를 인식해서는 안 됩니다.

XML 주석 문법에 설명되어 있듯이 주석은 아래와 같은 형식을 갖습니다.

<예>
다음은 올바른 XML, XHTML 주석입니다.

다음은 올바르지 않은 XML, XHTML 주석입니다.

<더 읽을거리>

XML – 속성이 좋을까요 요소가 좋을까요?

건물열성능해석을 위한 프로그램을 작성하는 과정에서 관련정보를 xml로 저장하기로 하였다. 이때 재료/부재의 정보들을 xml의 속성(attribute)으로 처리할까 요소(element)로 처리할까 고민하다가 다음과 같은 정보를 얻었다. 정보를 제공한 사이트에 대하여 트랙백을 시도하였으나, 실패하여 아래와 같이 원문을 옮겨 적었다.

출처 : http://kldp.org/node/31924

kwon37xi 씀 (목, 2004/03/11 – 5:55pm) XML 페이지를 설계하다보면 도무지 갈피를 잡을 수 없는 경우가 있는데, 그건 속성(Attribute)를 써야 하느냐 요소(Element)를 써야하느냐를 경정할 때입니다.

예를 들어 책에 관한 XML이 있다고 할 때 요소 중심은 다음과 같겠죠.

속성 중심은 다음과 같겠습니다.

위와 같은 방식 중 어떤것이 더 효율적일까요(파서의 입장에서)?
그리고 어떤것이 사용하기 편할까요(XML을 다루는 프로그래머의 입장에서)?

저는 속성 기반을 선호하는 편입니다만, 딱히 이렇다할 장점이나 효율성을 집어내지는 못하겠습니다.

요즘 XML 프로그램짤일이 급속히 늘어나는 추세라, 이런 사항을 확실히 인식하고 넘어갔으면 해서요.

저도 약간 비슷한 문제가 있습니다;

제 경우에는 다른 요소를 포함할 경우가 아니라면 속성으로 합니다.
(어차피 지금 하는 것들 대부분이 한 줄이 row이고 한 속성이 딱 column;;; )

http://www.zvon.org/xxl/XPathTutorial/General/examples.html
이 문서를 보고나서 속성을 주로 씁니다.

(무엇을 써도 상관 없는 상황이라면)
정해진 기본값이 있을 경우 속성,
없으면 요소로 만듭니다.

요소와 속성은 DTD 논리 체계 상 의미가 전혀 다를 것 같습니다. 다음은 주소록의 예입니다:

어떤 요소의 속성이어야 더 말이 되는 것도 있고, 반대로 어떤 요소의 하위 요소여야 더 바람직한 것도 있겠습니다. 하나만 있어야하는 요소, 없어도 되는 요소, 여러개 있을 수 있는 요소가 있는가 하면, 꼭 있어야하는 속성, 반드시 몇 가지 중 하나여야하는속성 값, 없으면 디폴트로 무엇으로 간주하는 속성 등등이 있겠죠. 모두 “의미 체계”에 따라 적절히 선택해야할 문제라고 봅니다.

질문안에 답이 나오는군요.
만약 글쓴이가 한명 이상이라면? 또는 후에 추가되어야 한다면?

…그렇기때문에 요소를 써야만 일이 수월 할 수 있습니다.
또한 요소의 사용은 쉽고 표현은 직관적이어야 한다는 XML의 취지에 맞고요.

데이터를 요구하는 클라이언트의 입장에서볼때
값 하나만을 요구되는 경우는 드물껍니다. 주로 요소로 이루어진 문서를
요구하게 될겁니다.

그리고.. 개인적으론 클라이언트가 요구하는 데이터는 요소로 만들고
프로그램 내부에서 사용되는 값의 경우엔 속성으로 만듭니다.

[교훈]

중복이 허용되는 경우(예를 들어, 저자의 수가 2인 이상)는 요소로 처리하는 것이 유리하다.

사용자에게 노출할 필요가 없는 정보는 속성으로 처리하는 것이 유리하다.

XML 주석활용하기-내가 짠 함수에 대한 설명이 보이게

프로그램 작성시 중요한 것 중의 하나가 주석을 적절하게 다는 것이다.
이제 주석 처리가 VB.NET 2005에 들어오면서 획기적으로 발전하였다. 단순한 주석에서 머무르지 않고 이제는 XML 주석을 통해 각 코드에 구조화된 주석을 쉽게 첨가할 수 있게 되었다. 주석을 작성할 때 각 요소들의 상단에 작은따옴표 3개(”’)를 입력하면(원래 비베의 주석은 작은따옴표 한 개면 됨) [그림1]과 같이 자동으로 XML 주석이 생성되는 것을 확인 할 수 있다.


[그림 1] 비베20005에서 XML 자동 주석 달기

해당 요소에 대한 XML 주석 작성 후 다른 곳에서 그 요소를 참조하게 되면 작성된 XML 주석의 내용이 인텔리센스로 표현되어 코딩시 혼동을 방지할 수 있다. 

[그림2], [그림3]은 작성된 XML 주석이 참조시 사용되는 예이다.

[그림 2] XML 주석의 활용 – 첫째 인자에 대한 설명이 나옴

 
[그림 3] XML 주석의 활용 – 둘째 인자에 대한 설명이 나옴

[For your information]
Visual Basic에서는 프로젝트를 빌드할 때 자동으로 XML 설명서 파일을 생성합니다. 이 파일은 응용 프로그램 출력 디렉터리에 AssemblyName.xml로 나타납니다. 이 파일은 XML 파일이므로 필요할 경우 다른 출력 형식으로 쉽게 변환할 수 있습니다. XML 주석을 사용하면 쉽고 편리하게 코드 설명서를 생성할 수 있습니다. 즉, 코드를 작성하는 동안에는 IntelliSense로, 응용 프로그램을 빌드한 후에는 코드 설명서로 생성할 수 있습니다. (출처 : Visual Basic 2005의 언어 향상)