KR102522100B1 - 데이터 변환 방법 및 데이터 변환 장치 - Google Patents

데이터 변환 방법 및 데이터 변환 장치 Download PDF

Info

Publication number
KR102522100B1
KR102522100B1 KR1020210026281A KR20210026281A KR102522100B1 KR 102522100 B1 KR102522100 B1 KR 102522100B1 KR 1020210026281 A KR1020210026281 A KR 1020210026281A KR 20210026281 A KR20210026281 A KR 20210026281A KR 102522100 B1 KR102522100 B1 KR 102522100B1
Authority
KR
South Korea
Prior art keywords
shapes
graphic
digital model
mesh
solid
Prior art date
Application number
KR1020210026281A
Other languages
English (en)
Other versions
KR20220122092A (ko
Inventor
최상수
Original Assignee
최상수
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 최상수 filed Critical 최상수
Priority to KR1020210026281A priority Critical patent/KR102522100B1/ko
Publication of KR20220122092A publication Critical patent/KR20220122092A/ko
Application granted granted Critical
Publication of KR102522100B1 publication Critical patent/KR102522100B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 모델링 프로그램 상에 구현된 디지털 모델에 관한 데이터를 변환하는 데이터 변환 방법을 제공한다. 데이터 변환 방법은 제 1 변환 단계, 분류 단계 및 제 2 변환 단계를 포함한다. 제 1 변환 단계는 현실 세계의 구조물이 모델링된 디지털 모델에 대한 모델링 데이터에 기초하여, 디지털 모델의 솔리드 구조를 획득한다. 분류 단계는 솔리드 구조가 나타내는 경계 면의 종류에 기초하여 솔리드 구조를 제 1 클래스의 제 1 형상들, 제 2 클래스의 제 2 형상들 및 제 3 클래스의 동작들 중 적어도 하나를 이용하여 나타내고, 적어도 하나에 기초하여 디지털 모델의 형상을 나타내는 파라미터들을 획득한다. 제 2 변환 단계는 적어도 하나에 기초하여 디지털 모델을 웹 브라우저 상에서 가시화하기 위한 솔리드 그래픽 함수를 그래픽 라이브러리로부터 불러오고, 솔리드 그래픽 함수와 파라미터들을 웹 기반 그래픽 프로그램으로 출력한다.

Description

데이터 변환 방법 및 데이터 변환 장치{DATA CONVERSION METHOD AND DATA CONVERSION DEVICE}
본 발명은 데이터 변환 방법에 관한 것으로, 좀 더 상세하게는 모델링 프로그램 상에 구현된 디지털 모델에 관한 데이터를 변환하는 방법에 관한 것이다.
최근, 공장, 기계, 장비 등 실제 물리적인 자산을 디지털 트윈을 이용하여 관리하려는 제조 기업들이 증가하고 있다. 디지털 트윈은 현실 세계의 기계, 장비, 사물 등을 소프트웨어로 가상화하는 기술이다. 제조 기업 뿐만 아니라 다양한 산업 분야의 기업들은 디지털 트윈을 이용하여, 현실에서 발생할 수 있는 상황을 시뮬레이션할 수 있다. 즉, 기업들은 디지털 트윈을 이용하여, 자산 최적화, 돌발 사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있다.
디지털 트윈은 캐드(CAD: Computer Aided Design) 프로그램을 통해 구현된다. 캐드 프로그램에는 여러 종류가 있으며, 각 종류별로 상이한 실행 함수들을 사용하여 디지털 트윈을 생성한다. 기업에서 상이한 캐드 프로그램에 의해 생성된 디지털 트윈을 통합하고자 하는 경우, 데이터 호환성이 문제된다.
본 발명은 상술된 기술적 과제를 해결하기 위한 것으로써, 본 발명의 목적은 웹 브라우저 상에 그래픽 모델을 가시화하기 위해 캐드 데이터를 변환하는 데이터 변환 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 데이터 변환 방법은 제 1 변환 단계, 분류 단계 및 제 2 변환 단계를 포함할 수 있다. 제 1 변환 단계는 현실 세계의 구조물이 모델링된 디지털 모델에 대한 모델링 데이터에 기초하여, 디지털 모델의 솔리드 구조를 획득할 수 있다. 분류 단계는 솔리드 구조가 나타내는 경계 면의 종류에 기초하여 솔리드 구조를 제 1 클래스의 제 1 형상들, 제 2 클래스의 제 2 형상들 및 제 3 클래스의 동작들 중 적어도 하나를 이용하여 나타내고, 적어도 하나에 기초하여 디지털 모델의 형상을 나타내는 파라미터들을 획득할 수 있다. 제 2 변환 단계는 적어도 하나에 기초하여 디지털 모델을 웹 브라우저 상에서 가시화하기 위한 솔리드 그래픽 함수를 그래픽 라이브러리로부터 불러오고, 솔리드 그래픽 함수와 파라미터들을 웹 기반 그래픽 프로그램으로 출력할 수 있다. 제 1 형상들, 제 2 형상들 및 동작들은 각각에 대응하는 솔리드 그래픽 함수들의 유형에 따라 제 1 클래스, 제 2 클래스 및 제 3 클래스 중 하나로 분류될 수 있다.
본 발명의 실시 예에 따른 데이터 변환 장치는 프로세서, 메모리, 캐드 변환기, 분류기 및 그래픽 변환기를 포함할 수 있다. 메모리는 프로세서에 의해 실행 가능한 명령어들을 저장할 수 있다. 캐드 변환기는 현실 세계의 구조물이 모델링된 디지털 모델에 대한 모델링 데이터에 기초하여, 디지털 모델의 솔리드 구조를 획득할 수 있다. 분류기는 솔리드 구조가 나타내는 경계 면의 종류에 기초하여 솔리드 구조를 제 1 클래스의 제 1 형상들, 제 2 클래스의 제 2 형상들 및 제 3 클래스의 동작들 중 적어도 하나를 이용하여 나타내고, 적어도 하나에 기초하여 디지털 모델의 형상을 나타내는 파라미터를 획득할 수 있다. 그래픽 변환기는 프로세서를 이용하여 명령어들을 실행함으로써, 적어도 하나에 기초하여 디지털 모델을 웹 브라우저 상에서 가시화하기 위한 솔리드 그래픽 함수를 그래픽 라이브러리로부터 불러오고, 솔리드 그래픽 함수와 파라미터들을 웹 기반 그래픽 프로그램으로 출력할 수 있다. 솔리드 구조는 방향성과 경계가 있는 곡면들로 솔리드를 표현하는 B-rep 구조일 수 있다.
본 발명은 모델링 프로그램에서 생성된 모델링 데이터(예로서, 캐드 데이터, BIM 데이터 등)를 변환하여 웹 기반 그래픽 프로그램에서 디지털 모델을 구현할 수 있다. 본 발명은 데이터 변환기(OpenCASCADE와 같은 캐드 커널)에 의해, 대용량 모델링 데이터를 경량화하여 변환할 수 있다. 따라서, 본 발명의 실시 예에 따르면, 대용량 모델링 데이터를 효율적으로 변환하여 웹 브라우저 상에 가시화하는 데이터 변환 방법이 제공된다.
도 1은 디지털 트윈이 웹 브라우저에서 구현되는 과정을 보여주는 개념도이다.
도 2는 도 1의 데이터 변환 장치의 구성을 보여주는 개념도이다.
도 3은 도 2의 분류기의 동작을 설명하기 위한 개념도이다.
도 4a 내지 도 4c는 제 1 클래스의 제 1 형상들 중 일부를 도시한 개념도이다.
도 5a 내지 도 5c는 제 2 클래스의 제 2 형상들 중 일부를 도시한 개념도이다.
도 6a 내지 도 6d는 제 3 클래스의 동작들을 설명하기 위한 개념도이다.
도 7은 도 2의 데이터 변환 장치의 동작을 설명하기 위한 흐름도이다.
도 8은 도 2의 데이터 변환 장치가 B-Rep 정보에 기초하여 데이터를 변환하는 동작을 설명하기 위한 흐름도이다.
도 9는 도 2의 데이터 변환 장치가 메쉬 정보에 기초하여 데이터를 변환하는 동작을 설명하기 위한 흐름도이다.
도 10은 IFC 데이터의 함수들을 나타내는 스크립트이다.
도 11은 내부 홀이 있는 튜브를 보여주는 개념도이다.
도 12는 도 11의 튜브를 생성하기 위해 babylon.js에서 사용되는 함수들을 나타내는 스크립트이다.
도 13은 도 11의 튜브를 생성하기 위해 three.js에서 사용되는 함수들을 나타내는 스크립트이다.
도 14는 도 1의 데이터 변환 장치에 의해 생성된 웹 디지털 모델을 보여주는 캡처 화면이다.
도 15는 본 발명의 실시 예에 따른 데이터 변환 장치의 구성을 보여주는 블록도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
본 명세서에서 “구조물”은 디지털 트윈으로 구현하고자 하는 현실 세계의 물리적인 자산일 수 있다. 예로서, 구조물은 장비, 기계, 자동차, 제품 등 이동가능한 자산을 포함할 수 있고, 건물, 공장, 터널, 댐 등과 같이 이동불가능한 자산을 포함할 수도 있다. 또한, 본 명세서에서 “구조물”은 명칭이 의미하는 바에 한정되지 않고, 작업자도 포함할 수 있다.
본 명세서에서 “디지털 모델”은 현실 세계의 물리적인 자산이 소프트웨어로 가상화된 것일 수 있다. 디지털 모델은 다양한 모델링 프로그램에 의해 구현될 수 있다. 모델링 프로그램은 캐드(CAD: Computer Aided Design) 프로그램, BIM(Building Information Modeling) 프로그램 및 메쉬(Mesh) 기반 프로그램 등을 포함할 수 있다.
본 명세서에서 “캐드 프로그램”은 소프트웨어를 이용하여 도면을 만드는 설계 프로그램이다. 캐드 프로그램은 디지털 모델을 구현하기 위한 다양한 모델링 프로그램 중 하나일 수 있다. 캐드 프로그램은 현실 세계의 물리적인 자산을 가상의 2D 또는 3D 디지털 모델로 구현할 수 있다. 캐드 프로그램에는 여러 종류가 있으며, 각 종류별로 상이한 실행 함수들을 이용하여 디지털 모델을 생성할 수 있다. 본 명세서에서, 실행 함수는 명령어를 의미할 수도 있다. 따라서, 일 캐드 프로그램에서 구현된 디지털 모델을 다른 캐드 프로그램 또는 웹 브라우저에서 실행하고자 하는 경우, 데이터 변환이 필요하다. 본 발명은 캐드 프로그램에서 구현된 디지털 모델을 웹 브라우저에서 가시화 위한 효율적인 데이터 변환 방법을 제공한다.
캐드 프로그램에서 이용되는 모델링 방법은 와이어 프레임 모델링(Wire Frame Modeling) 방법, 서페이스 모델링(Surface-based Modeling) 방법, 솔리드 모델링(Solid Modeling) 방법 중 하나 일 수 있다. 솔리드 모델링 방법은 B-Rep(Boundary Representation) 방법 및 CSG(Constructive Solid Geometry) 방법을 포함할 수 있다. B-Rep 방법은 입체(solid)를 그것을 둘러싸고 있는 면의 조합으로 표현할 수 있다. 구체적으로, B-Rep 방법은 입체를 점(vertex), 모서리(edge), 면(face)의 상관관계를 이용하여 나타낼 수 있다. CSG 방법은 단위요소(Primitive)의 조합(예로서, 교차(intersect), 차(subtract), 합(union) 등)으로 물체를 표현할 수 있다. 본 발명은 캐드 프로그램에서 생성된 캐드 데이터로부터 디지털 모델의 B-Rep 구조에 대한 정보를 획득할 수 있다. 본 발명은 획득된 B-rep 구조에 기초하여 디지털 모델의 형상을 파악할 수 있다. 다만, 상기 내용은 본 발명에서 언급되는 캐드 프로그램이 B-Rep 방법만을 이용한다는 것을 의미하지 않는다. 본 발명에서 언급되는 캐드 프로그램은 다양한 모델링 방식을 이용하여 디지털 모델을 생성할 수 있다.
본 명세서에서 “BIM 프로그램”은 기둥, 슬래브, 벽, 문 등 건축 부재 정보를 중심으로 모델링하는 모델링 프로그램이다. BIM 프로그램도 캐드 프로그램과 동일하게 다양한 모델링 방식을 이용하여 디지털 모델을 생성할 수 있다. 다만, BIM 프로그램은 건축물, 공장 등을 모델링하는데 캐드 프로그램보다 특화된 프로그램일 수 있다. 따라서, 관리자는 캐드 프로그램을 이용하여, 장비, 기계, 부품 등 비교적 소형 구조물을 모델링하고, BIM 프로그램을 이용하여 건축물, 공장 등 비교적 대형 구조물을 모델링할 수 있다.
본 명세서에서 “메쉬 기반 프로그램”은 메쉬 모형을 이용하여 입체를 구현할 수 있다. 예로서, 메쉬 모형은 삼각형, 사각형, 육각형 등일 수 있다. 메쉬 기반 프로그램은 디지털 모델을 구현하기 위한 다양한 모델링 프로그램 중 하나일 수 있다. 메쉬 기반 프로그램은 구글 스케치업(Google Sketchup), 3ds MAX 등을 포함할 수 있다. 본 발명은 메쉬 기반 프로그램에서 생성된 메쉬 데이터로부터 디지털 모델의 메쉬 구조에 대한 정보를 획득할 수 있다. 본 발명은 메쉬 구조에 기초하여, 디지털 모델의 형상을 파악할 수 있다.
본 발명은 모델링 데이터를 효율적으로 변환하여, 모델링 프로그램 상에서 구현된 디지털 모델을 웹 브라우저 상에 가시화할 수 있다. 본 발명은 디지털 모델을 웹 브라우저 상에 가시화하기 위해, three.js, babylon.js 등과 같은 웹 기반 그래픽 프로그램을 사용할 수 있다. 즉, 본 발명은 캐드 데이터 등 디지털 모델에 관한 정보를 포함하는 모델링 데이터를 웹 상에서 사용되는 그래픽 라이브러리와 효율적으로 인터페이스 할 수 있는 데이터 변환 방법을 제공한다.
도 1은 디지털 트윈이 웹 브라우저에서 구현되는 과정을 보여주는 개념도이다.
구조물(1000)은 디지털 트윈으로 구현하고자 하는 현실 세계의 물리적인 자산일 수 있다. 예로서, 구조물(1000)은 장비, 기계, 자동차, 제품 등 이동가능한 자산을 포함할 수 있고, 건물, 공장, 터널, 댐 등과 같이 이동불가능한 자산을 포함할 수도 있다. 또한, 구조물(1000)은 명칭이 의미하는 바에 한정되지 않고, 작업자도 포함할 수 있다.
모델링 프로그램은 구조물(1000)을 소프트웨어로 가상화하여 디지털 모델(2000)을 생성할 수 있다. 디지털 모델(2000)은 구조물(1000)의 크기, 형태, 상황 등이 반영되는 디지털 트윈일 수 있다. 따라서, 관리자는 디지털 모델(2000)을 통해 구조물(1000)에 발생한 상황이나 문제점을 한 번에 파악하고, 구조물(1000)을 보다 편리하게 관리할 수 있다. 모델링 프로그램은 디지털 모델(2000)에 관한 모델링 파일(100)을 생성할 수 있다. 모델링 파일(100)은 디지털 모델(2000) 설계 시 사용된 명령어가 기록된 매크로 파일일 수 있다. 모델링 파일(100)은 도 2를 참조하여 자세하게 설명된다.
데이터 변환 장치(200)는 모델링 파일(100)을 입력받을 수 있다. 데이터 변환 장치(200)는 모델링 파일(100)에 포함된 모델링 데이터를 변환할 수 있다. 데이터 변환 장치(200)는 모델링 데이터에 기초하여, 디지털 모델의 형상을 파악할 수 있다. 데이터 변환 장치(200)은 파악된 형상을 가시화하기 위해 그래픽 라이브러리에서 웹 기반 그래픽 프로그램의 그래픽 함수를 불러올 수 있다. 즉, 데이터 변환 장치는 모델링 파일(100)에 포함된 데이터에 기초하여, 디지털 모델(2000)의 형상을 그래픽 함수를 이용하여 표현할 수 있다. 본 명세서에서 그래픽 데이터(300)는 디지털 모델(2000)의 형상을 나타내는 그래픽 함수에 대한 정보를 포함한다. 데이터 변환 장치(200)는 그래픽 데이터(300)를 웹 브라우저로 출력할 수 있다.
웹 기반 그래픽 프로그램은 그래픽 데이터(300)에 기초하여, 웹 브라우저 상에서 웹 디지털 모델(3000)을 구현할 수 있다. 웹 디지털 모델(3000)은 디지털 모델(2000)과 동일한 형태, 크기, 구조 등을 갖도록 구현될 수 있다. 웹 디지털 모델(3000)은 웹 브라우저 상에서 가시화될 수 있다.
즉, 관리자는 데이터 변환 장치(200)를 이용하여 다양한 모델링 프로그램에서 생성된 디지털 모델(2000)을 간편하게 웹 브라우저 상에서도 구현할 수 있다.
도 2는 도 1의 데이터 변환 장치의 구성을 보여주는 개념도이다. 설명의 편의를 위해, 도 1이 함께 참조된다.
모델링 파일(100)은 캐드 데이터(110), BIM 데이터(120), 메쉬 데이터(130), 스캔 데이터(140)를 포함할 수 있다. 캐드 데이터(110)는 캐드 프로그램에서 생성된 디지털 모델에 대한 정보를 포함할 수 있다. BIM 데이터(120)는 BIM 프로그램에서 생성된 디지털 모델에 대한 정보를 포함할 수 있다. BIM 데이터(120)는 IFC(Industry Foundation Classes) 형식을 따라 생성된 데이터일 수 있다. 메쉬 데이터(130)는 메쉬 기반 프로그램에서 생성된 디지털 모델에 대한 정보를 포함할 수 있다. 스캔 데이터(140)는 현실 세계의 구조물을 스캔한 결과에 대한 정보를 포함할 수 있다.
데이터 변환 장치(200)는 캐드 변환기(210), 분류기(220) 및 그래픽 변환기(230)를 포함할 수 있다. 다만, 본 발명은 이에 한정되지 않고, 데이터 변환 장치(200)는 도 2에 구성된 구성 요소들(210, 220, 230) 중 일부를 포함하지 않을 수 있고, 다른 구성 요소를 더 포함할 수도 있다.
데이터 변환 장치(200)는 임베디드 보드, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA, 랩톱, 차량, 마이크로 서버 및 기타 모바일 또는 비모바일 컴퓨팅 장치로 구현될 수 있으나, 이에 제한되지 않는다. 데이터 변환 장치(200)가 컴퓨팅 장치로 구현되는 경우, 제 1 클래스 내지 제 3 클래스에 대한 정보 및 그래픽 라이브러리는 컴퓨팅 장치 내의 메모리에 저장될 수도 있다.
또한, 본 발명의 일 실시예에 따른 데이터 변환 장치(200)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치에 해당할 수 있다. 예를 들어, 데이터 변환 장치(200)는 적어도 하나 이상의 프로세서(processor)에 해당하거나, 적어도 하나 이상의 프로세서를 포함할 수 있다. 여기서, 프로세서 (processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 이에 따라, 본 발명의 일 실시예에 따른 데이터 변환 장치(200)는 마이크로 프로세서나 범용 컴퓨터 시스템과 같은 다른 하드웨어 장치에 포함된 형태로 구동될 수 있다.
캐드 변환기(210)는 캐드 데이터(110) 및/또는 BIM 데이터(120)를 입력받을 수 있다. 캐드 변환기(210)는 ACIS, Parasolid, Open CASCADE 등과 같은 캐드 커널일 수 있다. 캐드 변환기(210)는 캐드 데이터(110)에 기초하여, 캐드 프로그램에 의해 생성된 디지털 모델의 B-Rep 구조에 대한 정보를 획득할 수 있다. 캐드 변환기(210)는 BIM 데이터(120)에 기초하여, BIM 프로그램에 의해 생성된 디지털 모델의 B-Rep 구조에 대한 정보를 획득할 수 있다. 캐드 변환기(210)는 디지털 모델의 경계 선 및/또는 경계 면을 분석하여, 디지털 모델의 B-Rep 구조에 대한 정보를 획득할 수 있다. 따라서, 캐드 변환기(210)는 캐드 API(Application Programming Interface)와 달리 다양한 캐드 프로그램의 명령어들에 대한 정보를 모두 포함할 필요가 없다. 이하 설명들에서, “B-Rep 구조에 대한 정보”는 “B-Rep 정보”로도 표현될 수 있다.
일반적인 데이터 변환 장치는 캐드 API를 이용하여, 디지털 모델의 설계 히스토리를 추출한다. 일반적인 데이터 변환 장치는 설계 히스토리에 기초하여 설계 매트로를 생성하므로, 다양한 캐드 프로그램 별로 각각 상이한 API를 이용하여 변환 장치를 구성해야 한다. 따라서, 데이터 변환 장치를 개발하기 위한 시간도 많이 소요되고, API가 업데이트될 경우 마이그레이션(migration) 시간도 많이 소요된다. 반면, 본 발명의 실시 예에 따른 캐드 변환기(210)를 이용하는 경우, 데이터 변환 장치(200)의 초기 개발 시간 및 마이그레이션 시간이 단축될 수 있다. 또한, 데이터 변환 장치(200)는 캐드 변환기(210)를 이용함으로써, 모델링 데이터를 변환하는데 사용되는 데이터 소모량을 줄일 수 있다.
캐드 변환기(210)는 캐드 데이터(110)로부터 B-Rep 정보를 획득할 수 없거나, BIM 데이터(120)로부터 획득된 B-Rep 구조가 복잡하거나 분류기(220)에 저장된 형상으로 분류되지 못하는 경우, 캐드 데이터(110)로부터 디지털 모델에 대한 메쉬 정보를 획득할 수 있다. 또한, 캐드 변환기(210)는 BIM 데이터(120)로부터 B-Rep 정보를 획득할 수 없거나, BIM 데이터(120)로부터 획득된 B-Rep 구조가 복잡하거나, 분류기(220)에 저장된 형상으로 분류되지 못하는 경우, BIM 데이터(120)로부터 디지털 모델에 대한 메쉬 정보를 획득할 수 있다.
캐드 변환기(210)는 메쉬 데이터(130)로부터 메쉬 기반 프로그램에서 생성된 디지털 모델에 대한 메쉬 정보를 획득할 수 있다. 캐드 변환기(210)는 스캔 데이터(140)로부터 현실 세계의 구조물을 메쉬 모형으로 형상화한 메쉬 정보를 획득할 수 있다.
분류기(220)는 B-Rep 정보 및 메쉬 정보를 수신할 수 있다. 분류기(220)는 B-Rep 정보 및 메쉬 정보에 기초하여, 디지털 모델의 형상을 제 1 클래스의 제 1 형상들, 제 2 클래스의 제 2 형상들 및 제 3 클래스의 동작들 중 적어도 하나를 이용하여 나타낼 수 있다. 형상들 및 동작들은 이를 구현하는 그래픽 함수의 복잡도에 따라, 제 1 클래스, 제 2 클래스 및 제 3 클래스로 분류될 수 있다. 분류기(220)는 메쉬 정보를 인공지능 기반 알고리즘에 입력하여, 디지털 모델 또는 구조물의 형상에 대한 형상 정보를 획득할 수 있다. 분류기(220)는 획득된 형상 정보에 따라, 디지털 모델 또는 구조물의 형상을 제 1 클래스, 제 2 클래스 및 제 3 클래스 중 적어도 하나를 이용하여 나타낼 수 있다. 제 1 클래스, 제 2 클래스 및 제 3 클래스는 도 3을 참조하여 자세하게 설명된다.
분류기(220)는 선택된 적어도 하나의 클래스에 기초하여, 디지털 모델의 형상을 나타내는 파라미터를 획득할 수 있다. 파라미터는 three.js, babylon.js와 같은 웹 기반 그래픽 프로그램의 그래픽 함수의 인자일 수 있다. 분류기(220)는 파라미터를 출력할 수 있다.
그래픽 변환기(230)는 분류기(220)로부터 디지털 모델의 형상에 대한 정보 및 파라미터를 수신할 수 있다. 그래픽 변환기(230)는 디지털 모델의 형상에 대한 정보 및 파라미터에 기초하여, 디지털 모델의 형상을 생성하기 위한 그래픽 함수를 그래픽 라이브러리로부터 불러올 수 있다. 그래픽 데이터(300)는 그래픽 함수 및 파라미터를 포함할 수 있다. 그래픽 변환기(230)는 그래픽 데이터(300)를 웹 기반 그래픽 프로그램으로 출력할 수 있다. 웹 기반 그래픽 프로그램은 그래픽 데이터(300)에 기초하여, 웹 디지털 모델을 웹 브라우저 상에서 가시화할 수 있다. 웹 디지털 모델은 디지털 모델을 웹 브라우저 상에서 구현한 것일 수 있다.
데이터 변환 장치(200)는 B-Rep 정보를 이용함으로써, 처리해야하는 데이터 양을 보다 줄일 수 있다. 따라서, 데이터 변환 장치(200)의 동작 속도가 빨라질 수 있다. 구체적으로, 8개의 삼각형들로 분할된 튜브 형상이 와이어 프레임 방법으로 표현되는 경우, 72개의 실수 값과 48개의 정수 값이 필요하다. “72”는 8(8개의 삼각형들)*3(삼각형들 각각의 3개의 꼭지점들)*3(꼭지점들 각각의 x,y,z 좌표 값)을 계산한 결과이다. “48”은 8(8개의 삼각형들)*3(삼각형들 각각의 3개의 꼭지점들)*2(삼각형 양 면의 개수)을 계산한 결과이다. 8개의 삼각형들로 분할된 튜브 형상이 B-Rep 방법으로 표현되는 경우, 10개의 실수 값만이 필요하다. “10”은 3(튜브 경로를 표현하는 3개의 점들)*3(점들 각각의 x, y, z 좌표 값)+1(튜브의 반지름)을 계산한 결과이다.
도 3은 도 2의 분류기의 동작을 설명하기 위한 개념도이다. 도 4a 내지 도 4c는 제 1 클래스의 제 1 형상들 중 일부를 도시한 개념도이다. 도 5a 내지 도 5c는 제 2 클래스의 제 2 형상들 중 일부를 도시한 개념도이다. 도 6a 내지 도 6d는 제 3 클래스의 동작들을 설명하기 위한 개념도이다. 설명의 편의를 위해, 도 3 내지 도 6d가 함께 설명된다.
분류기(220)는 B-Rep 정보 또는 메쉬 정보에 기초하여, 디지털 모델의 형상을 제 1 클래스, 제 2 클래스 및 제 3 클래스 중 적어도 하나로 나타낼 수 있다.
제 1 클래스는 제 1 형상들을 포함할 수 있다. 제 1 형상들은 라인(Line), 커브(Curve), 박스(Box), 실린더(Cylinder), 콘(Cone), 플레인(Plane) 및 구(Sphere)일 수 있다. 다만, 본 발명은 이에 한정되지 않고, 제 1 클래스는 토러스(Torus) 및 삼각 프리즘(Triangular Prism) 등 다양한 형상들을 더 포함할 수 있다. 도 4a, 도 4b 및 도 4c는 각각 박스, 실린더 및 구의 예시적인 형상들을 도시한다. 특정 형상의 파라미터는 특정 형상을 가시화하기 위해 필요한 것을 의미한다. 박스의 파라미터는 가로 길이(W), 세로 길이(D), 높이(H)일 수 있다. 실린더의 파라미터는 하단 반지름(R1), 상단 반지름(R2) 및 높이(H)일 수 있다. 구의 파라미터는 각 축별 길이(X, Y, Z)일 수 있다.
제 2 클래스는 제 2 형상들을 포함할 수 있다. 제 2 형상들은 라테(Lathe)/스핀(Spin), 돌출(Extrude), 커스텀 돌출(Custom Extrude), 및 튜브(Tube)일 수 있다. 다만, 본 발명은 이에 한정되지 않고, 제 2 클래스는 도 3에 개시되지 않은 형상들을 더 포함할 수 있다. 도 5a 내지 도 5c는 각각 튜브, 돌출, 라테의 예시적인 형상들을 도시한다. 튜브의 파라미터는 튜브의 경로를 나타내는 좌표값들(P1, P2, P3)과 튜브 반지름 및 튜브의 위치를 나타내는 행렬 값일 수 있다. 돌출 형상의 파라미터는 외곽 프로파일을 구성하는 좌표 값들(P1, P2, … P8)과 돌출 형상의 높이(H)일 수 있다. 라테 형상의 파라미터는 회전되기 전 형상의 좌표 값들(P1, P2, … P7)과 위치를 나타내는 행렬 값일 수 있다.
제 3 클래스는 동작들을 포함할 수 있다. 동작들은 교차(Intersect), 빼기(Subtract), 및 결합(Union)일 수 있다. 다만, 본 발명은 이에 한정되지 않고, 제 3 클래스는 도 3에 개시되지 않은 동작들을 더 포함할 수 있다. 도 6a는 교차를 설명하기 위한 개념도이다. 도 6a는 사각형(SA), 원(SB)에 대한 교차의 결과를 도시한다. 도 6b는 결합을 설명하기 위한 개념도이다. 도 6b는 사각형(SA), 원(SB)에 대한 결합의 결과를 도시한다. 도 6c 및 도 6d는 빼기를 설명하기 위한 개념도이다. 도 6c는 사각형(SA)에서 원(SB)을 뺀 결과를 도시한다. 도 6d는 원(SB)에서 사각형(SA)을 뺀 결과를 도시한다. 디지털 모델의 형상은 제 1 형상들 및 제 2 형상들 중 복수의 형상들에 대해 제 3 클래스의 동작이 수행된 것일 수 있고, 메쉬 모형들에 대해 제 3 클래스의 동작이 수행된 것일 수 있다.
분류기(220)는 B-Rep 정보 또는 메쉬 정보에 기초하여, 디지털 모델의 형상을 제 1 클래스의 제 1 형상들, 제 2 클래스의 제 2 형상들 및 제 3 클래스의 동작들 중 적어도 하나를 선택하여 나타낼 수 있다. 분류기(220)는 선택된 적어도 하나에 기초하여, 디지털 모델의 형상과 관련되는 파라미터를 획득할 수 있다. 파라미터는 웹 브라우저에서 그래픽 함수를 실행하는데 요구되는 요소일 수 있다. 그래픽 함수는 그래픽 라이브러리에 저장된 실행 함수일 수 있다. 예로서, 제 1 형상 또는 제 2 형상의 파라미터는 제 1 형상 또는 제 2 형상의 크기, 부피, 경계면의 위치, 모양 등을 결정하기 위한 요소들일 수 있다.
구체적으로, 분류기(220)는 B-Rep 정보에 기초하여, 디지털 모델의 형상이 제 1 클래스의 제 1 형상들 및 제 2 클래스의 제 2 형상들 중 어떤 형상인지를 선택하거나, 제 1 형상들 및 제 2 형상들 중 복수의 형상들이 제 3 클래스의 어떤 동작을 통해 형성된 것인지를 선택할 수 있다. 분류기(220)는 B-Rep 정보에 기초하여, 선택된 형상 또는 동작의 파라미터를 획득할 수 있다. 파라미터는 선택된 형상 또는 동작을 웹 기반 그래픽 프로그램에서 표현하기 위한 그래픽 함수의 인자일 수 있다.
분류기(220)는 디지털 모델의 형상이 제 1 클래스의 박스 형상인 것으로 선택할 수 있다. 이 경우, 분류기(220)는 박스의 파라미터에 대한 정보를 획득할 수 있다. 박스의 파라미터는 박스를 웹 기반 그래픽 프로그램에서 구현하기 위해 사용되는 박스 그래픽 함수의 인자일 수 있다. 아래의 [표 1]은 웹 기반 그래픽 프로그램들 중 three.js 및 babylon.js의 그래픽 함수들을 나타낸다.
제 1 형상 three.js babylon.js
박스(Box) BoxGeometry CreateBox
실린더(Cylinder) CylinderGeometry CreateCylinder
콘(Cone) ConeGeometry CreateCylinder
구(Sphere) SphereGeometry CreateSphere
플레인(Plane) PlaneGeometry CreatePlane
예로서, 디지털 모델이 박스 형상인 경우, 그래픽 변환기(230)는 그래픽 라이브러리로부터 박스 생성을 위한 그래픽 함수 “BoxGeometry”를 불러올 수 있다. 그래픽 변환기(230)는 분류기(220)로부터 수신된 박스 파라미터들(W, D, H)을 그래픽 함수 “BoxGeometry”와 함께 웹 기반 프로그램 “three.js”으로 출력할 수 있다.
데이터 변환 장치(200)가 웹 기반 그래픽 프로그램으로 그래픽 함수와 그에 필요한 파라미터를 출력하면, 웹 브라우저 상에서 디지털 모델에 대응하는 웹 디지털 모델이 가시화될 수 있다. [표 1]을 참조하면, three.js는 실린더와 콘 형상을 각각 상이한 그래픽 함수로 처리한다. Babylon.js는 실린더를 생성하기 위한 그래픽 함수에는 실린더의 하단 반지름(R1) 및 상단 반지름(R2)을 입력하도록 함으로써, 실린더와 콘 형상 모두 동일한 그랙픽 함수로 처리한다.
분류기(220)는 디지털 모델의 형상이 제 2 클래스의 튜브 형상인 것으로 선택할 수 있다. 이 경우, 분류기(220)는 튜브의 파라미터에 대한 정보를 획득할 수 있다. 튜브의 파라미터는 튜브를 웹 기반 그래픽 프로그램에서 구현하기 위해 사용되는 튜브 그래픽 함수의 인자일 수 있다. 아래의 [표 2]은 웹 기반 그래픽 프로그램들 중 three.js 및 babylon.js의 그래픽 함수들을 나타낸다.
제 2 형상 three.js babylon.js
튜브(Tube) TubeGeometry CreateTube
돌출(Extrude) ExtrudeBufferGeometry ExtrudeShape
라테(Lathe) LatheGeometry CreateLathe
예로서, 디지털 모델이 튜브 형상인 경우, 그래픽 변환기(230)는 그래픽 라이브러리로부터 튜브 생성을 위한 그래픽 함수 “TubeGeometry”를 불러올 수 있다. 그래픽 변환기(230)는 분류기(220)로부터 수신된 튜브 파라미터들(튜브의 경로를 나타내는 좌표값들(P1, P2, P3)과 튜브 반지름 및 튜브의 위치를 나타내는 행렬 값)을 그래픽 함수 “TubeGeometry”와 함께 웹 기반 프로그램 “three.js”으로 출력할 수 있다.
데이터 변환 장치(200)가 웹 기반 그래픽 프로그램으로 그래픽 함수와 그에 필요한 파라미터를 출력하면, 웹 브라우저 상에서 디지털 모델에 대응하는 웹 디지털 모델이 가시화될 수 있다. 돌출 형상은 건물의 외벽을 나타낼 때 사용될 수 있다. 돌출 형상의 파라미터는 도 5b에 도시된 바와 같이, 외곽 프로파일을 구성하는 좌표 값들(P1, P2, … P8)과 돌출 형상의 높이(H)일 수 있다. 라테는 에어노즐을 나타낼 때 사용될 수 있다. 라테 형상의 파라미터는 도 5c에 도시된 바와 같이, 회전되기 전 형상의 좌표 값들(P1, P2, … P7)과 위치를 나타내는 행렬 값일 수 있다.
분류기(220)는 디지털 모델의 형상이 제 1 형상들 및 제 2 형상들 중 어떤 형상들에게 제 3 클래스의 어떤 동작이 적용되어 형성된 것인지를 판단할 수 있다. 이 경우, 분류기(220)는 복수의 형상들을 생성하기 위한 그래픽 함수들의 파라미터들을 출력할 수 있다. 그래픽 함수(230)는 복수의 형상들을 생성하기 위한 그래픽 함수 및 동작을 명령하기 위한 그래픽 함수를 분류기(220)로부터 수신된 파라미터들과 함께 웹 기반 그래픽 프로그램으로 출력할 수 있다.
분류기(220)는 디지털 모델의 형상이 박스 형상과 튜브 형상이 “결합”되어 형성된 것으로 판단할 수 있다. 이 경우, 분류기(220)는 박스 및 튜브 생성을 위한 그래픽 함수가 요구하는 파라미터에 대한 정보를 획득할 수 있다. 아래의 [표 3]은 제 3 클래스의 동작들을 웹 브라우저에서 표현하기 위한 three.js 및 babylon.js의 그래픽 함수들을 나타낸다. 아래의 [표 3]에 개시된 그래픽 함수들은 CSG 방법에서 사용되는 함수들일 수 있다.
동작 three.js (with Plugin) babylon.js
Union a.union(b) a.union(b)
Intersect a.intersect(b) a.intersect(b)
Subtract a.subtract(b) a.subtract(b)
디지털 모델이 박스 형상과 튜브 형상이 결합(union)되어 형성된 경우, 분류기(220)는 박스 생성을 위한 파라미터, 튜브 생성을 위한 파라미터를 출력할 수 있다. 그래픽 변환기(230)는 박스 및 튜브 생성을 위한 그래픽 함수, 박스와 튜브의 결합을 명령하는 그래픽 함수 및 분류기(220)로부터 수신된 파라미터들을 웹 기반 프로그램으로 출력할 수 있다.
다만, 본 발명은 이에 한정되지 않고, 분류기(220) 및 그래픽 변환기(230)는 B-Rep 정보 뿐만 아니라 메쉬 정보를 이용하여서도, 디지털 모델의 형상을 파악하고, 웹 디지털 모델을 생성하기 위한 그래픽 함수 및 파라미터들을 출력할 수 있다.
예로서, 분류기(220)는 메쉬 정보를 인공지능 기반 알고리즘에 입력하여, 디지털 모델의 형상이 제 1 클래스의 제 1 형상들 및 제 2 클래스의 제 2 형상들 중 어떤 형상인지를 판단할 수 있다.
다른 예로서, 분류기(220)는 메쉬 정보를 인공지능 기반 알고리즘에 입력하여, 디지털 모델의 형상이 제 1 형상들 및 제 2 형상들 중 어떤 형상들에게 제 3 클래스의 어떤 동작이 적용되어 형성된 것인지를 판단할 수 있다.
또 다른 예로서, 분류기(220)는 메쉬 정보를 인공지능 기반 알고리즘에 입력하여, 디지털 모델의 형상이 메쉬 모형들에게 제 3 클래스의 어떤 동작이 적용되어 형성된 것인지를 판단할 수 있다.
도 7은 도 2의 데이터 변환 장치의 동작을 설명하기 위한 흐름도이다.
모델링 프로그램은 현실 세계의 구조물에 대응하는 디지털 모델을 생성할 수 있다. 디지털 모델은 현실 세계의 구조물이 소프트웨어로 구현된 디지털 트윈일 수 있다.
S110 동작에서, 도 2의 데이터 변환 장치(200)는 모델링 프로그램으로부터 모델링 파일을 수신할 수 있다. 모델링 파일은 디지털 모델을 생성하기 위해 사용된 모델링 프로그램의 명령어 또는 함수들을 포함할 수 있다. 예로서, 모델링 파일은 캐드 데이터, BIM 데이터, 메쉬 데이터를 포함할 수 있다.
S120 동작에서, 데이터 변환 장치(200)는 모델링 파일로부터 디지털 모델의 B-Rep 정보를 획득할 수 있는지를 판단할 수 있다. 예로서, 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조가 복잡하거나 B-Rep 구조가 제 1 형상들, 제 2 형상들로 표현되지 않는 경우, 모델링 파일로부터 디지털 모델의 B-Rep 정보를 획득할 수 없는 것으로 판단할 수 있다.
데이터 변환 장치(200)가 모델링 파일로부터 디지털 모델의 B-Rep 정보를 획득할 수 있는 경우, S130 동작에서, 데이터 변환 장치(200)는 모델링 파일로부터 디지털 모델의 B-Rep 정보를 획득할 수 있다.
S140 동작에서, 데이터 변환 장치(200)는 디지털 모델의 B-Rep 정보에 기초하여, 웹 디지털 모델을 생성하기 위한 그래픽 함수 및 파라미터들을 획득할 수 있다. S140 동작은 도 8을 참조하여 자세하게 설명된다.
데이터 변환 장치(200)가 모델링 파일로부터 디지털 모델의 B-Rep 정보를 획득할 수 없는 경우, S150 동작에서, 데이터 변환 장치(200)는 모델링 파일로부터 디지털 모델의 메쉬 정보를 획득할 수 있다.
S160 동작에서, 데이터 변환 장치(200)는 디지털 모델의 메쉬 정보에 기초하여, 웹 디지털 모델을 생성하기 위한 그래픽 함수 및 파라미터들을 획득할 수 있다. S160 동작은 도 9를 참조하여 자세하게 설명된다.
S170 동작에서, 데이터 변환 장치(200)는 웹 디지털 모델을 생성하기 위한 그래픽 함수 및 파라미터들을 웹 기반 그래픽 프로그램으로 출력할 수 있다.
도 8은 도 2의 데이터 변환 장치가 B-Rep 정보에 기초하여 데이터를 변환하는 동작을 설명하기 위한 흐름도이다. 도 8의 S220 동작 내지 S280 동작은 도 7의 S140 동작에 포함된다. 또한, 도 8의 S210 동작 및 S290 동작은 각각 도 7의 S130 동작 및 S170 동작에 대응한다.
S210 동작에서, 도 2의 데이터 변환 장치(200)는 모델링 파일로부터 디지털 모델의 B-Rep 정보를 획득할 수 있다.
S220 동작에서, 데이터 변환 장치(200)는 획득된 B-Rep 정보에 기초하여, 디지털 모델의 B-Rep 구조를 파악할 수 있다.
S230 동작에서, 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조가 제 1 클래스의 제 1 형상들 중 하나와 매칭되는지 여부를 판단할 수 있다. 데이터 변환 장치(200)는 B-Rep 정보의 곡면의 종류를 이용하여, 디지털 모델의 형상을 제 1 형상들 중 하나로 쉽게 인식할 수 있다. 다만, 곡면에 내부 홀(inner loop)이 있는 경우, 디지털 모델의 형상이 제 1 형상들 중 하나로 표현되지 못할 수 있다. 이 경우, 데이터 변환 장치(200)는 S250 동작을 수행하거나, 도 7의 S150 동작을 수행할 수 있다.
디지털 모델의 B-Rep 구조가 제 1 형상들 중 하나와 매칭되는 경우, S240 동작에서, 데이터 변환 장치(200)는 매칭된 제 1 형상에 관한 그래픽 함수 및 파라미터들을 획득할 수 있다. 제 1 형상에 관한 그래픽 함수는 제 1 형상을 웹 브라우저에서 가시화 하기 위해, 웹 기반 그래픽 프로그램에서 사용되는 명령어 또는 함수일 수 있다. 제 1 형상에 관한 파라미터는 제 1 형상에 관한 그래픽 함수가 요구하는 파라미터일 수 있다.
디지털 모델의 B-Rep 구조가 제 1 형상들 중 하나와 매칭되지 않는 경우, S250 동작에서, 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조가 제 2 클래스의 제 2 형상들 중 하나와 매칭되는지 여부를 판단할 수 있다. 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조가 원통형(cylindrical)의 곡면으로 이루어진 경우 디지털 모델의 형상을 튜브로 매칭할 수 있다. 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조가 한쪽 면의 프로파일이 높이 방향으로 스윕(sweep)된 형상인 경우, 디지털 모델의 형상을 돌출로 분류할 수 있다. 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조가 회전(revolution) 곡면으로 이루어진 경우, 디지털 모델의 형상을 라테로 분류할 수 있다.
디지털 모델의 B-Rep 구조가 제 2 형상들 중 하나와 매칭되는 경우, S260 동작에서, 데이터 변환 장치(200)는 매칭된 제 2 형상에 관한 그래픽 함수 및 파라미터들을 획득할 수 있다. 제 2 형상에 관한 그래픽 함수는 제 2 형상을 웹 브라우저에서 가시화 하기 위해, 웹 기반 그래픽 프로그램에서 사용되는 명령어 또는 함수일 수 있다. 제 2 형상에 관한 파라미터는 제 2 형상에 관한 그래픽 함수가 요구하는 파라미터일 수 있다.
디지털 모델의 B-Rep 구조가 제 1 형상들 및 제 2 형상들 중 하나와 매칭되지 않는 경우, S270 동작에서, 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조가 제 3 클래스의 어떤 동작에 의해 형성되었는지 판단할 수 있다. 구체적으로, 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조가 제 1 형상들 및 제 2 형상들 중 어떤 형상들에게 제 3 클래스의 어떤 동작이 적용되어 형성된 것인지를 판단할 수 있다.
S280 동작에서, 데이터 변환 장치(200)는 디지털 모델의 B-Rep 구조를 나타내는 형상들 및 제 3 클래스의 동작에 관한 그래픽 함수 및 파라미터들을 획득할 수 있다. 제 3 클래스의 동작에 관한 그래픽 함수는 제 3 클래스의 동작을 웹 브라우저에서 구현하기 위해, 웹 기반 그래픽 프로그램에서 사용되는 명령어 또는 함수일 수 있다. 제 3 클래스의 동작에 관한 파라미터는 제 3 클래스의 동작을 명령하는 그래픽 함수가 요구하는 파라미터일 수 있다.
S290 동작에서, 데이터 변환 장치(200)는 획득된 그래프 함수와 파라미터들을 웹 기반 그래픽 프로그램으로 출력할 수 있다.
도 8을 참조하여서는, 데이터 변환 장치(200)가 디지털 모델의 B-Rep 구조를 제 1 형상들, 제 2 형상들, 동작들 순서로 매칭시키는 것으로 설명되지만 본 발명은 이에 한정되지 않는다. 데이터 변환 장치(200)는 S250 동작 및 S260 동작을 수행한 후 S230 동작 및 S240 동작을 수행할 수도 있다.
도 9는 도 2의 데이터 변환 장치가 메쉬 정보에 기초하여 데이터를 변환하는 동작을 설명하기 위한 흐름도이다. 도 9의 S320 동작 내지 S380 동작은 도 7의 S160 동작에 포함된다. 또한, 도 9의 S310 동작 및 S390 동작은 각각 도 7의 S150 동작 및 S170 동작에 대응한다.
S310 동작에서, 도 2의 데이터 변환 장치(200)는 모델링 파일로부터 디지털 모델의 메쉬 정보를 획득할 수 있다.
S320 동작에서, 데이터 변환 장치(200)는 획득된 메쉬 정보에 기초하여, 디지털 모델의 메쉬 구조를 파악할 수 있다.
S330 동작에서, 데이터 변환 장치(200)는 디지털 모델의 메쉬 구조가 제 1 클래스의 제 1 형상들 중 하나와 매칭되는지 여부를 판단할 수 있다.
디지털 모델의 메쉬 구조가 제 1 형상들 중 하나와 매칭되는 경우, S340 동작에서, 데이터 변환 장치(200)는 매칭된 제 1 형상에 관한 그래픽 함수 및 파라미터들을 획득할 수 있다.
디지털 모델의 메쉬 구조가 제 1 형상들 중 하나와 매칭되지 않는 경우, S350 동작에서, 데이터 변환 장치(200)는 디지털 모델의 메쉬 구조가 제 2 클래스의 제 2 형상들 중 하나와 매칭되는지 여부를 판단할 수 있다.
디지털 모델의 메쉬 구조가 제 2 형상들 중 하나와 매칭되는 경우, S360 동작에서, 데이터 변환 장치(200)는 매칭된 제 2 형상에 관한 그래픽 함수 및 파라미터들을 획득할 수 있다.
디지털 모델의 메쉬 구조가 제 1 형상들 및 제 2 형상들 중 하나와 매칭되지 않는 경우, S370 동작에서, 데이터 변환 장치(200)는 디지털 모델의 메쉬 구조가 제 3 클래스의 어떤 동작에 의해 형성되었는지 판단할 수 있다. 예로서, 데이터 변환 장치(200)는 디지털 모델의 메쉬 구조가 제 1 형상들 및 제 2 형상들 중 어떤 형상들에게 제 3 클래스의 어떤 동작이 적용되어 형성된 것인지를 판단할 수 있다. 다른 예로서, 데이터 변환 장치(200)는 디지털 모델의 메쉬 구조가 메쉬 모형들에게 제 3 클래스의 어떤 동작이 적용되어 형성된 것인지를 판단할 수 있다. 메시 모형은 삼각형, 사각형, 육각형 등 다양한 형태일 수 있다.
S380 동작에서, 데이터 변환 장치(200)는 디지털 모델의 메쉬 구조를 나타내는 형상들 및 제 3 클래스의 동작에 관한 그래픽 함수 및 파라미터들을 획득할 수 있다.
도 9를 참조하여서는, 데이터 변환 장치(200)가 디지털 모델의 메쉬 구조를 제 1 형상들, 제 2 형상들, 동작들 순서로 매칭시키는 것으로 설명되지만 본 발명은 이에 한정되지 않는다. 데이터 변환 장치(200)는 S370 동작 및 S380 동작을 수행한 후 S330 동작 및 S340 동작을 수행할 수도 있다.
S390 동작에서, 데이터 변환 장치(200)는 획득된 그래프 함수와 파라미터들을 웹 기반 그래픽 프로그램으로 출력할 수 있다.
도 2 내지 도 9를 참조하는 설명들은 데이터 변환 장치(200)가 하나의 디지털 모델 전체를 하나의 형상과 매칭시키거나, 복수의 형상들과 제 3 클래스의 동작의 조합으로 매칭시키는 것으로 한정하지 않는다. 데이터 변환 장치(200)는 하나의 디지털 모델의 일부를 하나의 형상과 매칭시키거나, 복수의 형상들과 제 3 클래스의 동작의 조합으로 매칭시킬 수 있다. 하나의 디지털 모델이란 현실 세계에서 독립된 하나의 구조물을 나타내는 디지털 트윈일 수 있다.
도 10은 IFC 데이터의 함수들을 나타내는 스크립트이다. 도 11은 내부 홀이 있는 튜브를 보여주는 개념도이다. 도 12는 도 11의 튜브를 생성하기 위해 babylon.js에서 사용되는 함수들을 나타내는 스크립트이다. 도 13은 도 11의 튜브를 생성하기 위해 three.js에서 사용되는 함수들을 나타내는 스크립트이다. 설명의 편의를 위해 도 10 내지 도 13이 함께 설명된다.
도 2의 데이터 변환 장치(200)는 BIM 데이터가 수신되는 경우 B-Rep 구조를 제 1 내지 제 3 클래스의 형상들 및 동작들 중 하나에 매칭하는 과정을 생략할 수 있다. 이 경우, 데이터 변환 장치(200)는 BIM 데이터의 함수들로부터 디지털 모델의 형상을 파악하고, 파라미터를 추출할 수 있다.
도 10은 National BIM 라이브러리에서 가져온 IFC 형식의 BIM 데이터이다. 도 10은 BIM 프로그램에서 디지털 모델을 생성하기 위해 사용되는 함수들을 보여준다. 도 10을 참조하면, #186에 IFCEXTRUDEDAREASOLID라는 엔티티는 돌출 형상을 생성하기 위한 함수일 수 있다.
내부 홀이 있는 튜브를 구현하기 위한 BIM 데이터가 입력된 경우, 데이터 변환 장치(200)는 BIM 데이터에서 IFCCIRCLEPROFILEDEF, IFCEXTRUDEDAREASOLID 등의 함수를 통해, 디지털 모델의 형상을 내부 홀이 있는 튜브로 인식할 수 있다. 데이터 변환 장치(200)는 #134 함수 “IFCCIRCLEPROFILEDEF”로부터 내부 홀의 반지름 “5.5”를 획득하고, #182 함수 “IFCCIRCLEPROFILEDEF”로부터 외부 원의 반지름 “15.5”를 획득하고, #186 함수 “IFCEXTRUDEDAREASOLID”로부터 돌출된 길이 “2500”을 획득할 수 있다. 상기 동작들은 분류기(220)에서 수행될 수 있으나, 본 발명은 이에 한정되지 않는다. 데이터 변환 장치(200)는 분류기(220) 외의 다른 구성 요소들을 이용하여 상기 동작들을 수행할 수도 있다.
데이터 변환 장치(200)는 BIM 데이터로부터 추출된 파라미터를 이용하여, 내부 홀이 있는 튜브 형상의 웹 디지털 모델이 babylon.js에서 구현되도록 함수를 출력할 수 있다. 도 12를 참조하면, 도 11의 튜브 형상을 생성하기 위한 babylon.js의 그래픽 함수들이 개시된다. 데이터 변환 장치(200)는 BIM 데이터로부터 추출된 파라미터를 이용하여, 내부 홀이 있는 튜브 형상의 웹 디지털 모델이 three.js에서 구현되도록 함수를 출력할 수 있다. 도 13을 참조하면, 도 11의 튜브 형상을 생성하기 위한 three.js의 그래픽 함수들이 개시된다. 상기 동작들은 그래픽 변환기(230)에서 수행될 수 있으나, 본 발명은 이에 한정되지 않는다. 데이터 변환 장치(200)는 그래픽 변환기(230) 외의 다른 구성 요소들을 이용하여 상기 동작들을 수행할 수도 있다.
데이터 변환 장치(200)는 BIM 데이터로부터 직접 파라미터를 추출하여 그래픽 함수를 생성함으로써, 웹 디지털 모델을 생성하는데 필요한 데이터 처리량을 감소시킬 수 있다. 따라서, 본 발명의 실시 예에 따르면, 효율적인 데이터 변환 장치(200)가 구현될 수 있다.
도 14는 도 1의 데이터 변환 장치에 의해 생성된 웹 디지털 모델을 보여주는 캡처 화면이다.
사용자 및/또는 관리자는 데이터 변환 장치를 이용하여, 웹 브라우저 상에서도 현실 세계의 구조물이 가상화된 웹 디지털 모델을 볼 수 있다. 도 14에 도시된 것처럼, 웹 디지털 모델은 모델링 프로그램 상에서 생성된 디지털 모델들의 정보를 보여준다.
도 15는 본 발명의 실시 예에 따른 데이터 변환 장치의 구성을 보여주는 블록도이다.
데이터 변환 장치(5000)는 통신부(5100), 메모리(5200) 및 프로세서(5300)를 포함할 수 있다. 데이터 변환 장치(5000)는 임베디드 보드, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 차량 및 기타 모바일 또는 비모바일 컴퓨팅 장치로 구현될 수 있으나, 이에 제한되지 않는다.
통신부(5100)는 데이터 변환 장치(5000)가 전자 장치(예로서, 모델링 프로그램을 포함하는 외부 장치)와 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 통신부(5100)는, 근거리 통신부(미도시), 이동 통신부(미도시), 방송 수신부(미도시)를 포함할 수 있다. 근거리 통신부(short-range wireless communication unit)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 이동 통신부는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다. 방송 수신부는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 통신부(5100)는 방송 수신부를 포함하지 않을 수도 있다. 데이터 변환 장치(5000)가 통신부(5100)를 통해 외부 장치로부터 도 1의 모델링 파일(100)을 수신하거나, 외부로 그래픽 데이터(300)를 출력할 수도 있다.
메모리(5200)는 프로세서(5300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 데이터 변환 장치(5000)로 입력되거나 데이터 변환 장치(5000)로부터 출력되는 데이터를 저장할 수도 있다. 메모리(5200)는 모델링 파일(100) 또는 그래픽 데이터(300)를 일시적으로 저장할 수 있다. 또한, 메모리(5200)는 도 2를 참조하여 설명되는 제 1 클래스 내지 제 3 클래스에 대한 정보를 저장하고, 그래픽 라이브러리를 저장할 수 있다.
메모리(5200)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
프로세서(5300)는 통상적으로, 데이터 변환 장치(5000)의 전반적인 동작을 제어할 수 있다. 프로세서(5300)는 메모리(5200)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 13을 참조하여 설명된 데이터 변환 장치(200)의 동작들을 수행하거나, 데이터 변환 장치(200)에 의해 제공되는 서비스들을 제공할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.

Claims (16)

  1. 프로세서에 의해, 메모리에 저장된 명령어들을 실행함으로써 구현되는 데이터 변환 방법에 있어서,
    현실 세계의 구조물이 모델링된 디지털 모델에 대한 모델링 데이터에 기초하여, 상기 디지털 모델의 솔리드 구조를 획득하는 제 1 변환 단계;
    상기 솔리드 구조가 나타내는 경계 면의 종류에 기초하여 상기 솔리드 구조를 제 1 클래스의 제 1 형상들, 제 2 클래스의 제 2 형상들 및 제 3 클래스의 동작들 중 적어도 하나를 이용하여 나타내고, 상기 제 1,2 형상들 또는 동작들 중 적어도 하나로부터 상기 디지털 모델의 형상을 나타내는 파라미터들을 획득하는 분류 단계; 및
    상기 제 1,2 형상들 또는 동작들 중 적어도 하나에 기초하여 상기 디지털 모델을 웹 브라우저 상에서 가시화하기 위한 솔리드 그래픽 함수를 그래픽 라이브러리로부터 불러오고, 상기 솔리드 그래픽 함수와 상기 파라미터들을 웹 기반 그래픽 프로그램으로 출력하는 제 2 변환 단계를 포함하되,
    상기 분류 단계는 상기 솔리드 구조를 상기 제 1 형상들 중 하나로 나타내거나 상기 제 2 형상들 중 하나로 나타내거나 상기 솔리드 구조가 상기 제 1 형상들 및 상기 제 2 형상들 중 어떤 형상들에게 상기 동작들 중 어떤 동작이 수행되어 형성된 것인지를 나타내고,
    상기 제 1 형상들은 라인(Line), 커브(Curve), 박스(Box), 실린더(Cylinder), 콘(Cone), 및 플레인(Plane)을 포함하고,
    상기 제 2 형상들은 스핀(Spin), 돌출(Extrude), 커스텀 돌출(Custom Extrude) 및 튜브(Tube)를 포함하고,
    상기 동작들은 CSG(Constructive Solid Geometry) 방법에 기초하고, 교차(Intersect), 빼기(Subtract) 및 결합(Union)을 포함하되,
    상기 제 1 형상들, 상기 제 2 형상들 및 상기 동작들은 각각에 대응하는 솔리드 그래픽 함수들의 복잡도에 따라 상기 제 1 클래스, 상기 제 2 클래스 및 상기 제 3 클래스 중 하나로 분류된 데이터 변환 방법.
  2. 제 1 항에 있어서,
    상기 솔리드 구조는 방향성과 경계가 있는 곡면들로 솔리드를 표현하는 B-rep(Boundary Representation) 구조인 데이터 변환 방법.
  3. 제 1 항에 있어서,
    상기 웹 기반 그래픽 프로그램은 웹 브라우저 상에서 동작하는 three.js 또는 babylon.js이고,
    상기 솔리드 그래픽 함수는 상기 웹 기반 그래픽 프로그램에서 상기 디지털 모델을 구현하기 위해 이용되는 함수이고,
    상기 파라미터들은 상기 솔리드 그래픽 함수의 인자들인 데이터 변환 방법.
  4. 제 1 항에 있어서,
    상기 분류 단계는 상기 솔리드 구조의 경계 면에 내부 홀(inner loop)이 있는 경우, 상기 솔리드 구조를 상기 제 2 형상들 중 하나로 나타내거나 상기 솔리드 구조가 상기 제 2 형상들 중 어떤 형상들에게 상기 동작들 중 어떤 동작이 수행되어 형성된 것인지를 나타내는 데이터 변환 방법.
  5. 제 1 항에 있어서,
    상기 제 1 변환 단계는 상기 솔리드 구조가 상기 제 1 형상들, 상기 제 2 형상들 및 상기 동작들로 표현되지 않는 경우, 상기 모델링 데이터에 기초하여 상기 디지털 모델의 메쉬 구조를 획득하고,
    상기 분류 단계는 상기 메쉬 구조에 기초하여, 상기 디지털 모델의 상기 형상이 메쉬 모형들에게 상기 동작들 중 어떤 동작이 수행되어 형성된 것인지를 선택하고,
    상기 제 2 변환 단계는 상기 선택된 동작을 상기 웹 브라우저 상에서 구현하기 위한 메쉬 그래픽 함수를 상기 그래픽 라이브러리로부터 불러오고, 상기 메쉬 그래픽 함수와 상기 메쉬 모형들을 상기 웹 기반 그래픽 프로그램으로 출력하는 데이터 변환 방법.
  6. 제 1 항에 있어서,
    상기 구조물이 장비, 기계와 같이 이동가능한 경우, 상기 디지털 모델은 캐드 프로그램에 의해 모델링되고,
    상기 제 2 구조물이 건물과 같이 이동불가능한 경우, 상기 디지털 모델은 BIM(Building Information Modeling) 프로그램에 의해 모델링 되고,
    상기 BIM 프로그램에서 생성된 상기 모델링 데이터는 IFC(Industry Foundation Class) 형식인 데이터 변환 방법.
  7. 제 1 항에 있어서,
    상기 제 1 변환 단계는 상기 모델링 데이터가 메쉬 기반 프로그램에서 생성된 경우 상기 모델링 데이터에 기초하여 상기 디지털 모델의 메쉬 구조를 획득하고,
    상기 분류 단계는 상기 메쉬 구조에 기초하여, 상기 디지털 모델의 상기 형상을 상기 제 1 형상들, 상기 제 2 형상들 및 상기 동작들 중 적어도 하나의 요소를 이용하여 나타내고, 상기 제 1,2 형상들 또는 동작들 중 적어도 하나의 상기 요소에 기초하여 상기 디지털 모델의 상기 형상과 관련된 메쉬 파라미터들을 획득하고,
    상기 제 2 변환 단계는 상기 제 1,2 형상들 또는 동작들 중 적어도 하나의 상기 요소를 상기 웹 브라우저 상에서 가시화하기 위한 메쉬 그래픽 함수를 상기 그래픽 라이브러리로부터 불러오고, 상기 메쉬 그래픽 함수와 상기 메쉬 파라미터들을 상기 웹 기반 그래픽 프로그램으로 출력하는 데이터 변환 방법.
  8. 제 7 항에 있어서,
    상기 분류 단계는 상기 메쉬 구조에 대한 정보를 인공지능 기반 알고리즘에 입력하여, 상기 제 1,2 형상들 또는 동작들 중 적어도 하나의 상기 요소를 결정하는 데이터 변환 방법.
  9. 제 7 항에 있어서,
    상기 메쉬 기반 프로그램은 메쉬 방법을 이용하여 디지털 모델을 구현하는 3D MAX 및 Google SketchUp 중 하나인 데이터 변환 방법.
  10. 제 1 항에 있어서,
    상기 솔리드 구조가 상기 제 1 형상들 및 상기 제 2 형상들 중 상기 적어도 하나로 표현되는 경우, 상기 파라미터들은 상기 제 1,2 형상들 중 적어도 하나의 경계면의 위치, 모양을 나타내기 위한 인자들인 데이터 변환 방법.
  11. 제 1 항에 있어서,
    상기 제 1 변환 단계는 스캔 데이터가 수신되는 경우, 상기 스캔 데이터로부터 상기 구조물의 메쉬 구조를 획득하는 단계를 더 포함하고,
    상기 분류 단계는 상기 메쉬 구조에 기초하여, 상기 구조물을 상기 제 1 형상들, 상기 제 2 형상들 및 상기 동작들 중 적어도 하나의 요소를 이용하여 나타내고, 상기 제 1,2 형상들 또는 동작들 중 적어도 하나의 상기 요소에 기초하여 상기 구조물을 나타내기 위한 메쉬 파라미터들을 획득하는 단계를 더 포함하고,
    상기 제 2 변환 단계는 상기 구조물을 상기 웹 브라우저 상에서 모델링하기 위한 메쉬 그래픽 함수를 상기 그래픽 라이브러리로부터 불러오고, 상기 메쉬 그래픽 함수와 상기 메쉬 파라미터들을 상기 웹 기반 그래픽 프로그램으로 출력하는 단계를 더 포함하되,
    상기 스캔 데이터는 상기 구조물이 스캔되어 메쉬 구조로 표현된 정보를 포함하는 데이터 변환 방법.
  12. 프로세서;
    상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리;
    현실 세계의 구조물이 모델링된 디지털 모델에 대한 모델링 데이터에 기초하여, 상기 디지털 모델의 솔리드 구조를 획득하는 캐드(CAD) 변환기;
    상기 솔리드 구조가 나타내는 경계 면의 종류에 기초하여 상기 솔리드 구조를 제 1 클래스의 제 1 형상들, 제 2 클래스의 제 2 형상들 및 제 3 클래스의 동작들 중 적어도 하나를 이용하여 나타내고, 상기 제 1,2 형상들 또는 동작들 중 적어도 하나로부터 상기 디지털 모델의 형상을 나타내는 파라미터를 획득하는 분류기; 및
    상기 프로세서를 이용하여 상기 명령어들을 실행함으로써, 상기 제 1,2 형상들 또는 동작들 중 적어도 하나에 기초하여 상기 디지털 모델을 웹 브라우저 상에서 가시화하기 위한 솔리드 그래픽 함수를 그래픽 라이브러리로부터 불러오고, 상기 솔리드 그래픽 함수와 상기 파라미터들을 웹 기반 그래픽 프로그램으로 출력하는 그래픽 변환기를 포함하되,
    상기 솔리드 구조는 방향성과 경계가 있는 곡면들로 솔리드를 표현하는 B-rep(Boundary Representation) 구조이고,
    상기 분류기는 상기 솔리드 구조를 상기 제 1 형상들 중 하나로 나타내거나 상기 제 2 형상들 중 하나로 나타내거나 상기 솔리드 구조가 상기 제 1 형상들 및 상기 제 2 형상들 중 어떤 형상들에게 상기 동작들 중 어떤 동작이 수행되어 형성된 것인지를 나타내고,
    상기 제 1 형상들은 라인(Line), 커브(Curve), 박스(Box), 실린더(Cylinder), 콘(Cone), 및 플레인(Plane)을 포함하고,
    상기 제 2 형상들은 스핀(Spin), 돌출(Extrude), 커스텀 돌출(Custom Extrude) 및 튜브(Tube)를 포함하고,
    상기 동작들은 CSG(Constructive Solid Geometry) 방법에 기초하고, 교차(Intersect), 빼기(Subtract) 및 결합(Union)을 포함하되,
    상기 제 1 형상들, 상기 제 2 형상들 및 상기 동작들은 각각에 대응하는 솔리드 그래픽 함수들의 복잡도에 따라 상기 제 1 클래스, 상기 제 2 클래스 및 상기 제 3 클래스 중 하나로 분류된 데이터 변환 장치.
  13. 제 12 항에 있어서,
    상기 캐드 변환기는 캐드 커널이고, ACIS, Parasolid, Open CASCADE 중 하나인 데이터 변환 장치.
  14. 제 12 항에 있어서,
    상기 분류기는 상기 모델링 데이터가 BIM 프로그램에서 생성된 경우, 상기 모델링 데이터가 나타내는 함수로부터 상기 제 1,2 형상들 또는 동작들 중 적어도 하나에 관한 정보 및 상기 파라미터를 추출하는 데이터 변환 장치.
  15. 삭제
  16. 삭제
KR1020210026281A 2021-02-26 2021-02-26 데이터 변환 방법 및 데이터 변환 장치 KR102522100B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210026281A KR102522100B1 (ko) 2021-02-26 2021-02-26 데이터 변환 방법 및 데이터 변환 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210026281A KR102522100B1 (ko) 2021-02-26 2021-02-26 데이터 변환 방법 및 데이터 변환 장치

Publications (2)

Publication Number Publication Date
KR20220122092A KR20220122092A (ko) 2022-09-02
KR102522100B1 true KR102522100B1 (ko) 2023-04-14

Family

ID=83280932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210026281A KR102522100B1 (ko) 2021-02-26 2021-02-26 데이터 변환 방법 및 데이터 변환 장치

Country Status (1)

Country Link
KR (1) KR102522100B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006235A (ja) * 2001-06-21 2003-01-10 Dainippon Printing Co Ltd Cadデータ変換支援システム、サーバ及び記憶媒体
KR101356463B1 (ko) * 2013-07-30 2014-02-04 덕산메카시스 주식회사 Ifc 기반 3차원 랜더링 방법 및 이를 이용한 3차원 가시화 장치
JP2019008337A (ja) * 2015-10-26 2019-01-17 三郎 山内 物体識別システム、物体識別方法、プログラム及びコンピュータ記憶媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101927401B1 (ko) * 2017-04-04 2019-02-26 대한민국(국가기록원) 웹 기반의 3d 콘텐츠 전시 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006235A (ja) * 2001-06-21 2003-01-10 Dainippon Printing Co Ltd Cadデータ変換支援システム、サーバ及び記憶媒体
KR101356463B1 (ko) * 2013-07-30 2014-02-04 덕산메카시스 주식회사 Ifc 기반 3차원 랜더링 방법 및 이를 이용한 3차원 가시화 장치
JP2019008337A (ja) * 2015-10-26 2019-01-17 三郎 山内 物体識別システム、物体識別方法、プログラム及びコンピュータ記憶媒体

Also Published As

Publication number Publication date
KR20220122092A (ko) 2022-09-02

Similar Documents

Publication Publication Date Title
US10275942B2 (en) Compression of a three-dimensional modeled object
US9171403B2 (en) Contour completion for augmenting surface reconstructions
US10643382B2 (en) Application of convolutional neural networks to object meshes
CN112347546A (zh) 基于轻量级设备的bim渲染方法、设备和计算机可读存储介质
CN108352082B (zh) 将3d对象推挤到平面中的技术
Xian et al. Automatic cage generation by improved obbs for mesh deformation
Kharroubi et al. Classification and integration of massive 3d points clouds in a virtual reality (VR) environment
CN106463003A (zh) 制造带浮雕的三维对象
US11893690B2 (en) 3D reconstruction with smooth maps
Stojanovic et al. Generation of Approximate 2D and 3D Floor Plans from 3D Point Clouds.
KR102620835B1 (ko) 3D 기하 객체 정보를 이용한 CityGML 기반의 빌딩 객체 정보 생성 방법, 빌딩 객체 정보 생성 시스템, 이를 위한 컴퓨터 프로그램
KR20190100305A (ko) 혼합 현실에서 동적 가상 콘텐츠들을 생성하기 위한 디바이스 및 방법
KR102522100B1 (ko) 데이터 변환 방법 및 데이터 변환 장치
CN109472863B (zh) 一种基于笔画交互的实时3d黏土建模方法
US10783707B2 (en) Determining a set of facets that represents a skin of a real object
JP5125859B2 (ja) 皮革形状データ生成装置、皮革形状データ生成方法及び皮革形状データ生成プログラム
Arranz et al. Multiresolution energy minimisation framework for stereo matching
JP2010072765A (ja) 演算処理装置、演算処理方法、及び演算処理プログラム並びに記録媒体
US11822311B2 (en) Generation of representations of three-dimensional objects using Boolean operations
JP4910990B2 (ja) 皮革形状データ生成装置、皮革形状データ生成方法及び皮革形状データ生成プログラム
US20230036982A1 (en) Three-dimensional visualization of wi-fi signal propagation based on building plan with implicit geometry
CN116630552B (zh) 面向大规模的三维流程工厂模型的优化渲染方法
Bae et al. User‐guided volumetric approximation using swept sphere volumes for physically based animation
WO2024047782A1 (ja) 点群データ描画システム、サーバ、点群データ描画装置、および点群データ描画方法
Martijn et al. Detect illegal buildings based on LiDAR point cloud data

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant