KR101775952B1 - Bim 대용량 형상 데이터를 처리하기 위한 장치 및 그 방법 - Google Patents
Bim 대용량 형상 데이터를 처리하기 위한 장치 및 그 방법 Download PDFInfo
- Publication number
- KR101775952B1 KR101775952B1 KR1020160165399A KR20160165399A KR101775952B1 KR 101775952 B1 KR101775952 B1 KR 101775952B1 KR 1020160165399 A KR1020160165399 A KR 1020160165399A KR 20160165399 A KR20160165399 A KR 20160165399A KR 101775952 B1 KR101775952 B1 KR 101775952B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- data
- file
- bim
- shape
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000009877 rendering Methods 0.000 claims abstract description 38
- 238000004364 calculation method Methods 0.000 abstract description 30
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000013178 mathematical model Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G06F17/30132—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예에 따른 BIM 대용량 형상 데이터를 처리하기 위한 방법을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 캐쉬 파일의 구조를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 영역 인덱스 섹션의 구조를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 객체 정보 섹션의 구조를 나타내는 도면이다.
도 6은 인덱스 영역 간 형상 데이터 위치에 대한 중복 처리 원리를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 BIM 대용량 형상 데이터를 처리하기 위한 장치를 나타내는 도면이다.
Class | Role |
Cache | BIM 대용량 형상 캐쉬 정보 관리 클래스. BIM 대용량 형상 데이터를 처리하는 관점에 따라, 형상 렌더링 캐쉬와 계산 캐쉬로 구분됨. |
GeometryRenderingCache | 형상 렌더링을 위한 캐쉬. 이 캐쉬는 형상에 대한 LoD들을 관리하고 있음. 메쉬 가시화 시 렌더링 시 필요한 형상의 LoD를 파일에서 메모리로 로딩하고, 가시화 함수에 전달해 주는 역할을 함. |
GeometryComputationCache | 형상 단면 절단과 같은 형상 계산을 위한 캐쉬 정보를 관리함. 형상 계산 시 필요한 형상의 정보를 파일을 메모리로 로딩하고, 계산 함수에 전달해 주는 역할을 함. |
CacheObject | 캐쉬 객체는 캐쉬에 필요한 정보와 실제 객체 형상 정보를 로딩하기 위한 참조 정보인 핸들(handle)을 관리함. |
CacheHandle | 캐쉬 핸들은 메모리로 로딩해야 할 객체 형상 파일을 참조함. 핸들을 이용해, 형상 파일을 메모리로 쉽게 로딩할 수 있음. |
SpatialIndexFile | 공간 인덱싱 파일로, 캐쉬가 관리해야 할 객체를 공간적으로 검색할 때 사용함. 각 객체의 공간 인덱스 정보를 옥트리(octree) 구조로 관리하고 있음. |
SpatialNode | 공간 인덱싱의 노드로, 공간 영역과 해당 영역 내 속하는 객체의 핸들인 SpatialObjectHandle을 관리함. |
CacheObjectIterator | 형상 렌더링이나 계산에 필요한 BIM 객체 파일을 캐쉬에서 언제 메모리로 로딩할 지를 결정하고, 로딩된 메모리 상의 객체 참조 포인트를 가시화나 계산 함수에서 접근할 수 있는 참조 포인터를 제공해 주는 역할을 함. |
SpatialObjectHandle | 공간 객체 핸들은 공간 인덱스의 노드(SpatialNode)에 의해 관리되며, 형상 렌더링이나 계산 시 필요한 객체 파일을 참조하는 핸들 정보를 관리함. |
BBSF_cache_rendering_iterator listCacheBucketR = beginGeometryRendering(cameraContext); for(objectR in listCacheBucketR) renderObject(objectR); endGeomeryRendering(listCacheBucketR); listCacheBucketA = beginGeometryCalculation(regionAABB1); listCacheBucketB = beginGeometryCalculation(regionAABB2); for(objectA in listCacheBucketA) { for(objectB in listCacheBucketB) { caculateSomething(objectA, objectB); } } endGeometryCalculation(listCacheBucketB); endGeometryCalculation(listCacheBucketA); |
rendering_policy(cache, handle) { if(cache[handle].accessLastTime() < currentTime() + cacheDurationTime()) cache[handle].increaseLifecount(); cache[handle].setAccessLastTime(); } |
object* iterator::operator++() 연산자 { _index++; handle = handles[_index]; if(_cache[handle] == NULL) lifeCount = _cache.load(handle); // 메모리 로딩 return _cache[handle].getBIMObject(); // 참조 리턴 } |
120: 프로세서
130: 메모리
140: 표시부
Claims (10)
- 형상 LoD(Level of Detail) 열거자를 이용하여 객체를 얻는 연산자를 실행하는 단계;
상기 연산자를 실행할 경우, 캐쉬 파일로부터 카메라와 렌더링할 형상 거리에 따라 렌더링에 필요한 메쉬 LoD 데이터를 캐쉬 메모리에 로딩하는 단계; 및
상기 캐쉬 메모리에 로딩된 상기 메쉬 LoD 데이터를 화면 상에 렌더링하는 단계;
를 포함하되,
상기 형상 LoD(Level of Detail) 열거자는 객체를 얻는 연산자를 실행할 때 BBGC 구조에서 관리하고 있는 객체 핸들을 이용하여 해당 데이터가 저장된 파일을 로딩하고,
상기 BBGC는 대용량 데이터를 관리하는 캐쉬(Cache), 캐쉬된 객체 정보를 관리하는 캐쉬객체(CacheObject)로 구분되고, 상기 캐쉬는 캐쉬 처리 목적에 따라 GeometryRenderingCache, GeometryComputationCache로 구분되어 알고리즘과 관련 데이터가 정의되고,
상기 캐쉬객체는 BIM객체 데이터를 접근할 수 있는 핸들(handle)을 유지하고 상기 핸들을 통해 BIM객체 데이터를 접근하고,
상기 캐쉬객체는 메모리에 객체가 어느 기간 동안 존재하고 있어야 하는지를 결정하는 life count를 관리하고 있는데, life count가 0일 때 캐쉬는 해당 객체의 메모리를 해제하며, life count가 1 이상일 때 객체 정보를 파일에서 메모리로 로딩하되,
상기 로딩하는 단계는,
BIM 대용량 형상 데이터 파일 내 영역 인덱스 섹션을 이용하여 공간 검색하여 그 공간 검색한 결과로 카메라와 렌더링할 형상 거리에 따라 렌더링에 필요한 메쉬 LoD 데이터를 캐쉬 메모리에 로딩하되,
상기 캐쉬 파일은,
캐쉬 파일 헤더, 공간 인덱싱을 위한 영역 인덱스 섹션, 공간 영역별로 객체를 구분하기 위한 객체 정보 섹션을 포함하되,
객체 정보 섹션은 공간 영역 별로 구분된 객체들 섹션(objects section)으로 구분되며, 각 객체 청크(object chuck)는 객체 청크 헤더, 형상 및 LOD들로 구분되는, BIM 대용량 형상 데이터를 처리하기 위한 방법. - 삭제
- 제1 항에 있어서,
상기 로딩하는 단계는,
상기 영역 인덱스 섹션 내 인덱스 청크의 객체 섹션 위치 정보를 이용하여 렌더링에 필요한 메쉬 LoD 데이터를 검색하는, BIM 대용량 형상 데이터를 처리하기 위한 방법. - 제3 항에 있어서,
상기 인덱스 청크는 인덱스 영역 간 중복되는 데이터를 최소화하도록 인덱스 청크 영역 안에 있는 ‘in region’ 형상들에 대한 데이터 파일 위치와 영역 경계와 겹치는 형상들에 대한 데이터 파일 위치를 저장하고 있는 ‘cross region’에 대한 객체 섹션을 관리하는, BIM 대용량 형상 데이터를 처리하기 위한 방법. - 삭제
- 서버로부터 다운로드 받은 BIM 대용량 형상 데이터를 캐쉬 파일로 저장하는 메모리;
형상 LoD(Level of Detail) 열거자를 이용하여 객체를 얻는 연산자를 실행하고, 상기 캐쉬 파일로부터 카메라와 렌더링할 형상 거리에 따라 렌더링에 필요한 메쉬 LoD 데이터를 캐쉬 메모리에 로딩하는 프로세서; 및
상기 캐쉬 메모리에 로딩된 상기 메쉬 LoD 데이터를 화면 상에 렌더링하는 표시부;
를 포함하되,
상기 형상 LoD(Level of Detail) 열거자는 객체를 얻는 연산자를 실행할 때 BBGC 구조에서 관리하고 있는 객체 핸들을 이용하여 해당 데이터가 저장된 파일을 로딩하고,
상기 BBGC는 대용량 데이터를 관리하는 캐쉬(Cache), 캐쉬된 객체 정보를 관리하는 캐쉬객체(CacheObject)로 구분되고, 상기 캐쉬는 캐쉬 처리 목적에 따라 GeometryRenderingCache, GeometryComputationCache로 구분되어 알고리즘과 관련 데이터가 정의되고,
상기 캐쉬객체는 BIM객체 데이터를 접근할 수 있는 핸들(handle)을 유지하고 상기 핸들을 통해 BIM객체 데이터를 접근하고,
상기 캐쉬객체는 메모리에 객체가 어느 기간 동안 존재하고 있어야 하는지를 결정하는 life count를 관리하고 있는데, life count가 0일 때 캐쉬는 해당 객체의 메모리를 해제하며, life count가 1 이상일 때 객체 정보를 파일에서 메모리로 로딩하되,
상기 프로세서는,
BIM 대용량 형상 데이터 파일 내 영역 인덱스 섹션을 이용하여 공간 검색하여 그 공간 검색한 결과로 카메라와 렌더링할 형상 거리에 따라 렌더링에 필요한 메쉬 LoD 데이터를 캐쉬 메모리에 로딩하되,
상기 캐쉬 파일은,
캐쉬 파일 헤더, 공간 인덱싱을 위한 영역 인덱스 섹션, 공간 영역별로 객체를 구분하기 위한 객체 정보 섹션을 포함하되,
상기 객체 정보 섹션은 공간 영역 별로 구분된 객체들 섹션(objects section)으로 구분되며, 각 객체 청크(object chuck)는 객체 청크 헤더, 형상 및 LOD들로 구분되는, BIM 대용량 형상 데이터를 처리하기 위한 장치. - 삭제
- 제6 항에 있어서,
상기 프로세서는,
상기 영역 인덱스 섹션 내 인덱스 청크의 객체 섹션 위치 정보를 이용하여 렌더링에 필요한 메쉬 LoD 데이터를 검색하는, BIM 대용량 형상 데이터를 처리하기 위한 장치. - 제8 항에 있어서,
상기 인덱스 청크는 인덱스 영역 간 중복되는 데이터를 최소화하도록 인덱스 청크 영역 안에 있는 ‘in region’ 형상들에 대한 데이터 파일 위치와 영역 경계와 겹치는 형상들에 대한 데이터 파일 위치를 저장하고 있는 ‘cross region’에 대한 객체 섹션을 관리하는, BIM 대용량 형상 데이터를 처리하기 위한 장치. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160165399A KR101775952B1 (ko) | 2016-12-06 | 2016-12-06 | Bim 대용량 형상 데이터를 처리하기 위한 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160165399A KR101775952B1 (ko) | 2016-12-06 | 2016-12-06 | Bim 대용량 형상 데이터를 처리하기 위한 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101775952B1 true KR101775952B1 (ko) | 2017-09-11 |
Family
ID=59926182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160165399A KR101775952B1 (ko) | 2016-12-06 | 2016-12-06 | Bim 대용량 형상 데이터를 처리하기 위한 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101775952B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309458A (zh) * | 2018-03-30 | 2019-10-08 | 北京东晨工元科技发展有限公司 | 基于WebGL的BIM模型显示及渲染方法 |
KR102050169B1 (ko) * | 2018-09-20 | 2019-12-02 | 공간정보기술 주식회사 | 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치 |
CN117493613A (zh) * | 2023-11-06 | 2024-02-02 | 北京构力科技有限公司 | 一种建筑信息模型的存储和显示方法、装置及电子设备 |
CN118762141A (zh) * | 2024-06-28 | 2024-10-11 | 北京城建勘测设计研究院有限责任公司 | 一种基于三维地质模型和结构模型的bim模型构建方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101465479B1 (ko) | 2013-12-23 | 2014-11-26 | 한국건설기술연구원 | 빔(bim) 기반의 건축물 데이터를 표시하는 bim데이터 처리 시스템 |
KR101546703B1 (ko) | 2014-12-04 | 2015-08-24 | 한국건설기술연구원 | 대용량 건물 bim데이터의 시각화 시스템 |
KR101546705B1 (ko) * | 2014-12-04 | 2015-08-25 | 한국건설기술연구원 | Bim데이터 처리단말 장치의 건물내부 bim데이터 가시화 방법 |
-
2016
- 2016-12-06 KR KR1020160165399A patent/KR101775952B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101465479B1 (ko) | 2013-12-23 | 2014-11-26 | 한국건설기술연구원 | 빔(bim) 기반의 건축물 데이터를 표시하는 bim데이터 처리 시스템 |
KR101546703B1 (ko) | 2014-12-04 | 2015-08-24 | 한국건설기술연구원 | 대용량 건물 bim데이터의 시각화 시스템 |
KR101546705B1 (ko) * | 2014-12-04 | 2015-08-25 | 한국건설기술연구원 | Bim데이터 처리단말 장치의 건물내부 bim데이터 가시화 방법 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309458A (zh) * | 2018-03-30 | 2019-10-08 | 北京东晨工元科技发展有限公司 | 基于WebGL的BIM模型显示及渲染方法 |
CN110309458B (zh) * | 2018-03-30 | 2021-03-30 | 北京东晨工元科技发展有限公司 | 基于WebGL的BIM模型显示及渲染方法 |
KR102050169B1 (ko) * | 2018-09-20 | 2019-12-02 | 공간정보기술 주식회사 | 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치 |
CN117493613A (zh) * | 2023-11-06 | 2024-02-02 | 北京构力科技有限公司 | 一种建筑信息模型的存储和显示方法、装置及电子设备 |
CN117493613B (zh) * | 2023-11-06 | 2024-08-09 | 北京构力科技有限公司 | 一种建筑信息模型的存储和显示方法、装置及电子设备 |
CN118762141A (zh) * | 2024-06-28 | 2024-10-11 | 北京城建勘测设计研究院有限责任公司 | 一种基于三维地质模型和结构模型的bim模型构建方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403321B2 (en) | System and method for improved performance in a multidimensional database environment | |
KR101775952B1 (ko) | Bim 대용량 형상 데이터를 처리하기 위한 장치 및 그 방법 | |
US10013317B1 (en) | Restoring a volume in a storage system | |
US10031672B2 (en) | Snapshots and clones in a block-based data deduplication storage system | |
US9922060B2 (en) | Disk optimized paging for column oriented databases | |
US9779026B2 (en) | Cache bypass utilizing a binary tree | |
CN105718480B (zh) | 一种基于地理信息的海量三维数据调度的方法 | |
US10068033B2 (en) | Graph data query method and apparatus | |
CN110597935A (zh) | 一种空间分析方法和装置 | |
CN106155934A (zh) | 一种云环境下基于重复数据的缓存方法 | |
US20160161263A1 (en) | Shortest path engine for warehouse management | |
CN114119939A (zh) | 数据轻量化处理方法、装置、存储介质及电子设备 | |
US11907565B2 (en) | Storing write data in a storage system | |
CN109086462A (zh) | 一种分布式文件系统中元数据的管理方法 | |
CN114693505B (zh) | 一种点云数据的存储处理方法和装置 | |
US9009204B2 (en) | Storage system | |
CN106503260A (zh) | 一种提高数据库的有效存储空间的方法和装置 | |
Fahmy et al. | CoS-HDFS: Co-locating geo-distributed spatial data in hadoop distributed file system | |
CN111898276B (zh) | 架空线路的模型处理方法、装置、计算机设备和介质 | |
CN114332322A (zh) | 一种三维场景下单体模型的大数据渲染方法 | |
KR20210077975A (ko) | 블록체인 기반의 지리공간 데이터를 위한 공간 데이터 인덱싱 방법 및 장치 | |
CN110083314A (zh) | 一种逻辑卷删除方法、系统及相关装置 | |
US20150161438A1 (en) | Feature generalization using topological model | |
JP4171884B2 (ja) | データ階層化およびデータ再構成方法/装置/プログラム/記録媒体、データ記録媒体 | |
KR102303116B1 (ko) | 비정렬 격자 데이터에 대한 광선 투사를 위한 병렬 처리에 의한 연결정보 추출 알고리즘 수행 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20161206 |
|
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20161209 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20161206 Comment text: Patent Application |
|
PA0302 | Request for accelerated examination |
Patent event date: 20170621 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination Patent event date: 20161206 Patent event code: PA03021R01I Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20170807 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170830 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170901 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170904 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20201211 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20210901 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20220824 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20230822 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20240116 Start annual number: 8 End annual number: 20 |