KR102583104B1 - 2d 도면을 이용하여 3d 객체를 생성하는 방법 및 장치 - Google Patents
2d 도면을 이용하여 3d 객체를 생성하는 방법 및 장치 Download PDFInfo
- Publication number
- KR102583104B1 KR102583104B1 KR1020220158112A KR20220158112A KR102583104B1 KR 102583104 B1 KR102583104 B1 KR 102583104B1 KR 1020220158112 A KR1020220158112 A KR 1020220158112A KR 20220158112 A KR20220158112 A KR 20220158112A KR 102583104 B1 KR102583104 B1 KR 102583104B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- processor
- space
- objects
- type
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 28
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 description 20
- 238000011960 computer-aided design Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/18—Details relating to CAD techniques using virtual or augmented reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 개시는 2D 도면을 이용하여 3D 객체를 생성하는 방법 및 장치에 관한 것이다. 본 개시의 일 실시 예에 따른 방법은, 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 수신하고, 객체의 2D 데이터를 타입 별로 분류하여 저장하고, 저장된 2D 데이터를 3D 데이터로 변환하고, 3D 데이터를 이용하여 2D 도면에 3D 매핑을 수행함으로써, 객체가 3D 공간에 배열되는 3D 객체를 생성할 수 있다.
Description
본 발명은 2D 도면을 이용하여 3D 객체를 생성하는 방법 및 장치에 관한 것이다.
캐드(Competer Aided Design, CAD)은 컴퓨터를 사용하여 그래픽 자료를 만들거나 창작하는 작업 일체를 의미하며, 거의 모든 산업의 디자인 과정을 완전히 변화시켜 제품 디자인이나 빌딩 설계도의 계획, 수정, 최적화를 더욱 쉽고 간편하게 할 수 있도록 해준다.
건축물/토목물 등의 구조물 등의 디자인과 공간 활용성을 극대화하기 위하여 평면 형상이 비정형인 경우나 구조물의 기존 설계 현황이 복잡한 경우가 많다. 이러한 경우 구조물에 대한 설계 도면의 작성 및 그 구조물의 각 부재에 대한 설계 도면을 작성하는 경우, 설계 실무자는 구조물 간섭을 고려하여 각 객체의 부재를 설계해야 하므로 많은 어려움을 겪고 있다.
또한 기존의 캐드 시스템에서는 구조물의 설계 도면을 제공하기는 하지만 캐드에서 제공하는 설계 도면은 각 객체의 부재 속성을 부여할 수 없으므로, 캐드 시스템으로는 구조물 및 구조물의 부재가 함께 도시된 설계 도면을 그리기가 힘들다.
구조물 및 그 구조물의 부재까지 함께 설계한다 해도 캐드 시스템으로는 캐드 정보 내의 각 객체와 그 객체의 부재를 함께 연동시킬 수 없기 때문에, 설계가 자주 변경되는 경우 캐드 정보 및 부재 정보를 따로 변경해야 하는 문제점이 있으며, 그에 따라 캐드 시스템으로 작성된 2차원 모델을 3차원 모델로 변경시킨다 해도 구조 해석이나 최적화 설계를 위해서는 생성된 3차원 모델을 수작업으로 변경시켜야 하므로 많은 시간과 비용이 투입되는 단점이 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명은 2D 도면을 이용하여 3D 객체를 생성하는 방법 및 장치를 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 적어도 하나의 객체의 2D 데이터를 포함하는 2D 도면을 수신하는 단계; 상기 객체의 2D 데이터를 타입 별로 분류하여 저장하는 단계; 상기 저장된 2D 데이터를 3D 데이터로 변환하는 단계; 및 상기 3D 데이터를 이용하여 상기 2D 도면에 3D 매핑을 수행함으로써, 상기 객체가 3D 공간에 배열되는 3D 객체를 생성하는 단계;를 포함하는, 방법을 제공할 수 있다.
본 개시의 제2 측면은, 적어도 하나의 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는, 적어도 하나의 객체의 2D 데이터를 포함하는 2D 도면을 수신하고, 상기 객체의 2D 데이터를 타입 별로 분류하여 저장하고, 상기 저장된 2D 데이터를 3D 데이터로 변환하고, 상기 3D 데이터를 이용하여 상기 2D 도면에 3D 매핑을 수행함으로써, 상기 객체가 3D 공간에 배열되는 3D 객체를 생성하는 것인, 컴퓨팅 장치를 제공할 수 있다.
본 개시의 제3 측면은, 제1 측면에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
전술한 본 개시의 과제 해결 수단에 의하면, 본 개시에서는 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 수신하고, 객체의 2D 데이터를 타입 별로 분류하여 저장하고, 저장된 2D 데이터를 3D 데이터로 변환하고, 3D 데이터를 이용하여 2D 도면에 3D 매핑을 수행함으로써, 더 높은 정확도로 2D 도면에 대응하는 3D 객체를 생성할 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 2D 도면을 이용하여 3D 객체를 생성하는 시스템의 일 예를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 사용자 단말의 일 예를 도시한 구성도이다.
도 3은 일 실시예에 따른 2D 도면을 이용하여 3D 객체를 생성하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 객체의 2D 데이터의 일 예를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 프로세서가 생성한 3D 객체의 일 예를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 프로세서가 생성한 3D 객체의 다른 예를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 사용자 단말의 일 예를 도시한 구성도이다.
도 3은 일 실시예에 따른 2D 도면을 이용하여 3D 객체를 생성하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 객체의 2D 데이터의 일 예를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 프로세서가 생성한 3D 객체의 일 예를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 프로세서가 생성한 3D 객체의 다른 예를 설명하기 위한 도면이다.
이하, 본 개시의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 개시의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나 이는 본 개시의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 개시의 다양한 실시예에서 사용될 수 있는 "포함한다." 또는 "포함할 수 있다." 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 개시의 다양한 실시예에서, "포함하다." 또는 "가지다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 개시의 다양한 실시예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 개시의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
본 개시의 다양한 실시예에서 사용한 용어는 단지 특정일 실시예를 설명하기 위해 사용된 것으로, 본 개시의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단" 및 "구성" 등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 첨부된 도면을 이용하여 본 발명의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1은 일 실시예에 따른 2D 도면을 이용하여 3D 객체를 생성하는 시스템의 일 예를 설명하기 위한 도면이다.
도 1을 참조하면, 시스템(1)은 사용자 단말(10) 및 서버(20)를 포함한다. 예를 들어, 사용자 단말(10)과 서버(20)는 유선 또는 무선 통신 방식으로 연결되어 상호 간에 데이터(예를 들어, 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면 등)를 송수신할 수 있다.
설명의 편의를 위하여, 도 1에는 시스템(1)에 사용자 단말(10) 및 서버(20)가 포함되는 것으로 도시하였으나, 이에 한정되지 않는다. 예를 들어, 시스템(1)에는 다른 외부 디바이스(미도시)가 포함될 수 있으며, 이하에서 설명될 사용자 단말(10) 및 서버(20)의 동작이 단일 디바이스(예를 들어, 사용자 단말(10) 또는 서버(20))에 의하여 구현될 수도 있다.
사용자 단말(10)은 디스플레이 장치 및 사용자 입력을 수신하는 장치(예를 들어, 키보드, 마우스 등)를 구비하고, 메모리와 프로세서를 포함하는 컴퓨팅 장치일 수 있다. 예를 들어, 사용자 단말(10)은 노트북(notebook) PC, 데스크탑(desktop) PC, 랩탑(laptop), 테블릿 컴퓨터(tablet computer), 스마트 폰 등이 해당될 수 있으나, 이에 한정되지 않는다.
서버(20)는 사용자 단말(10)을 포함하여 외부 디바이스(미도시)와 통신하는 장치일 수 있다. 예를 들어, 서버(20)는 2D 도면 및 하나 이상의 객체의 2D 데이터를 포함하여 다양한 데이터를 저장하는 장치일 수 있고, 경우에 따라 자체적인 연산 능력을 갖춘 장치일 수 있다. 예를 들어, 서버(20)는 클라우드(cloud) 서버일 수도 있으나, 이에 한정되지 않는다.
일 실시예에 따른 시스템(1)은 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 이용하여 3D 객체를 생성한다. 구체적으로, 사용자 단말(10)은 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 수신하고, 객체의 2D 데이터를 타입 별로 분류하여 저장하고, 저장된 2D 데이터를 3D 데이터로 변환하고, 3D 데이터를 이용하여 2D 도면에 3D 매핑을 수행함으로써, 객체가 3D 공간에 배열되는 3D 객체를 생성한다. 사용자(30)는 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 이용하여 생성한 3D 도면에 대한 정보를 확인할 수 있다.
이하, 도 2 내지 도 4를 참조하여, 사용자 단말(10)이 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 이용하여 3D 객체를 생성하는 예들을 설명한다. 한편, 도 2 내지 도 4를 참조하여 후술할 동작은 서버(20)에서 수행될 수도 있음은 도 1을 참조하여 상술한 바와 같다.
도 2는 일 실시예에 따른 사용자 단말의 일 예를 도시한 구성도이다.
도 2를 참조하면, 사용자 단말(100)은 프로세서(110) 및 메모리(120)를 포함한다. 설명의 편의를 위하여, 도 2에는 본 발명과 관련된 구성요소들만이 도시되어 있다. 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 사용자 단말(100)에 더 포함될 수 있다. 일 예로서, 사용자 단말(100)은 입출력 인터페이스(미도시) 및/또는 통신 모듈(미도시)을 포함할 수 있다. 또한, 도 2에 도시된 프로세서(110) 및 메모리(120)는 독립된 장치로 구현될 수도 있음은 본 발명과 관련된 기술 분야에서의 통상의 지식을 가진 자에게 자명하다.
프로세서(110)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리할 수 있다. 여기에서, 명령은 메모리(120) 또는 외부 장치(예를 들어, 서버(20) 등)로부터 제공될 수 있다. 또한, 프로세서(110)는 사용자 단말(100)에 포함된 다른 구성요소들의 동작을 전반적으로 제어할 수 있다.
특히, 프로세서(110)는 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 이용하여 3D 객체를 생성한다. 구체적으로, 프로세서(110)는 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 수신하고, 객체의 2D 데이터를 타입 별로 분류하여 저장하고, 저장된 2D 데이터를 3D 데이터로 변환하고, 3D 데이터를 이용하여 2D 도면에 3D 매핑을 수행함으로써, 객체가 3D 공간에 배열되는 3D 객체를 생성한다.
일 실시예에 따른 프로세서(110)가 동작하는 구체적인 예들은 도 3 내지 도 4를 참조하여 설명한다.
프로세서(110)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 예를 들어, 프로세서(110)는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함할 수 한다. 일부 환경에서, 프로세서(110)는 주문형 반도체(ASIC), 프로그램 가능 로직 디바이스(PLD), 필드 프로그램 가능 게이트 어레이(FPGA) 등을 포함할 수도 있다. 예를 들어, 프로세서(110)는 디지털 신호 프로세서(DSP)와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, 디지털 신호 프로세서(DSP) 코어와 결합된 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
메모리(120)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 예로서, 메모리(120)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치일 수 있다. 또한, 메모리(210)에는 운영체제(OS)와 적어도 하나의 프로그램 코드(예를 들어, 도 3 내지 도 4를 참조하여 후술할 동작을 프로세서(110)가 수행하기 위한 코드)가 저장될 수 있다.
이러한 소프트웨어 구성요소들은 메모리(120)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 사용자 단말(100)에 직접 연결될 수 있는 기록 매체일 수 있고, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 또는, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(미도시)을 통해 메모리(120)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(미도시)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(예를 들어, 도 3 내지 도 4를 참조하여 후술할 동작을 프로세서(110)가 수행하기 위한 컴퓨터 프로그램 등)에 기반하여 메모리(120)에 로딩될 수 있다.
입출력 인터페이스(미도시)는 사용자 단말(100)과 연결되거나 사용자 단말(100)에 포함될 수 있는 입력 또는 출력을 위한 장치(예를 들어, 키보드, 마우스 등)와의 인터페이스를 위한 수단일 수 있다. 입출력 인터페이스(미도시)가 프로세서(110)와 별도로 구성될 수 있으나, 이에 한정되지 않으며, 입출력 인터페이스(미도시)가 프로세서(110)에 포함되도록 구성될 수도 있다.
통신 모듈(미도시)은 네트워크를 통해 서버(20)와 사용자 단말(100)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있다. 또한, 통신 모듈(미도시)은 사용자 단말(100)이 다른 외부 디바이스와 통신하기 위한 구성 또는 기능을 제공할 수 있다. 예를 들어, 프로세서(110)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(미도시)과 네트워크를 거쳐 서버(20) 및/또는 외부 디바이스로 전송될 수 있다.
한편, 도 2에는 도시되지 않았으나, 사용자 단말(100)은 디스플레이 장치를 더 포함할 수 있다. 또는, 사용자 단말(100)은 독립적인 디스플레이 장치와 유선 또는 무선 통신 방식으로 연결되어 상호 간에 데이터를 송수신할 수 있다.
도 3은 일 실시예에 따른 2D 도면을 이용하여 3D 객체를 생성하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 3을 참조하면, 2D 도면을 이용하여 3D 객체를 생성하는 방법은 도 1 및 2에 도시된 사용자 단말(10, 100) 또는 프로세서(110)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 및 도 2에 도시된 사용자 단말(10, 100) 또는 프로세서(110)에 관하여 이상에서 기술된 내용은 도 3의 2D 도면을 이용하여 3D 객체를 생성하는 방법에도 적용될 수 있다.
310 단계에서, 프로세서는 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 수신한다.
2D 도면은, 사용자에 의해 제작되는 2차원의 건축 설계 도면을 의미할 수 있다. 일 예로서, 2D 도면은 건축 설계 대상이 되는 실내 건축 공간에 대한 CAD 도면으로서, DWG 또는 DXF 확장자로 생성되는 전자 파일일 수 있다. 2D 도면은 건축 설계 대상에 배치되는 하나 이상의 객체의 2D 데이터를 포함할 수 있다.
객체는, 바닥 객체, 천장 객체, 벽 객체, 문 객체, 창문 객체, 가구 객체 및 소품 객체를 포함할 수 있다. 2D 설계 도면 상에서는 설계 객체들이 2차원으로 표현될 수 있다. 설계 객체들의 치수, 색상 및 재질 등과 같은 특성 데이터들 및 설계 객체들이 배열되는 다양한 조합에 의해, 건축 설계 대상이 어떠한 구조로 건축될지가 설계될 수 있다.
객체의 2D 데이터는, 상기 객체의 타입 데이터, 상기 객체의 색상 데이터, 상기 객체의 레이어 데이터 및 상기 객체의 위치 데이터 중 적어도 하나를 포함한다.
타입 데이터는, 객체의 타입에 관한 정보를 포함할 수 있다. 객체의 타입은 LINE 타입, LWPOLYLINE 타입, CIRCLE 타입 및 ARC 타입 중 적어도 하나를 포함할 수 있다. 프로세서는 타입 데이터를 이용하여 높은 정확도로 객체의 형태를 파악하여 3D 객체를 생성할 수 있으며, 사용자는 타입 데이터를 통해 객체의 형태를 파악할 수 있다.
색상 데이터는, 객체를 구분하기 위한 가시적 정보를 포함할 수 있다.
레이어 데이터는, 2D 도면에 포함된 객체들을 효과적으로 분류하여 관리하기 위한 변수를 포함할 수 있다. 색상 데이터만으로는 객체의 분류가 용이하지 않기 때문에, 레이어 데이터를 사용하여 객체를 분류하여 파악할 수 있다. 일 예로서, 레이더 데이터는, 색상 데이터와 별개로 색상에 관한 정보를 포함할 수 있다.
위치 데이터는, 객체의 위치에 관한 정보를 포함할 수 있다. 일 예로서, 타입 데이터가 CIRCLE 타입에 관한 정보를 포함하는 경우에는, 위치 데이터는 중심점 좌표에 대한 정보 및 반지름에 대한 정보를 포함할 수 있다. 다른 예로서, 위치 데이터는 객체의 2D 좌표로서 x축 좌표 값 및 y축 좌표 값을 포함할 수 있다.
한편, 프로세서는 색상 데이터 및 레이어 데이터를 이용하여 해당 객체의 소재, 해당 객체의 방향 등의 해당 객체의 구체적인 정보를 확인할 수 있다. 일 예로서, 프로세서는 색상 데이터 및 레이어 데이터를 이용하여 벽의 내/외부를 파악할 수 있다. 다른 예로서, 프로세서는, 색상 데이터 및 레이어 데이터를 이용하여 벽의 소재를 확인할 수 있다.
한편, 프로세서는 하나 이상의 객체의 2D 데이터를 포함하는 2D 도면을 분할하여 수신할 수 있다. 예를 들면, CAD에 의해 생성된 2D 도면을 수신하여 Unity 프로그램에서 3D 객체를 생성하는 경우에는, Unity 프로그램에서 사용되는 좌표계는 CAD의 좌표계에 비해 지원하는 좌표의 최대값 및 최소값의 범위가 작기 때문에 2D 도면을 분할하여 수신함으로써 더 높은 정확도로 2D 도면에 대응하는 3D 객체를 생성할 수 있다.
이하, 도 4를 참조하여, 프로세서가 수신한 도면에 포함된 객체의 2D 데이터의 일 예를 설명한다.
도 4는 일 실시예에 따른 객체의 2D 데이터의 일 예를 설명하기 위한 도면이다.
도 4를 참조하면, 프로세서가 저장한 객체의 2D 데이터의 일 예를 확인할 수 있다. 일 실시예에 따른 객체의 2D 데이터는, 데이터라인 및 정보로 구성되는 L-D형 구조의 Assembly 언어 형태를 가질 수 있다. 구체적으로, 숫자 0으로 해당 객체의 타입 데이터가 시작됨을 확인할 수 있고, 그 외 해당 객체의 타입 데이터, 해당 객체의 레이어 데이터 및 해당 객체의 위치 데이터가 포함되어 있음을 확인할 수 있다.
마찬가지로, 숫자 8로 해당 객체의 레이어 데이터가 시작하고, 숫자 8 밑에 레이어 데이터가 포함된 것을 확인할 수 있다. 그리고, 도 4에 도시되지 않았지만, 2D 데이터는 숫자 62를 이용하여 색상 데이터를 포함할 수 있다.
다시 도 3을 참조하면, 320 단계에서, 프로세서는 객체의 2D 데이터를 타입 별로 분류하여 저장한다.
일 예로서, 프로세서는 2D 데이터에 포함된 타입 데이터를 이용하여 객체의 2D 데이터를 타입 별로 분류하여 저장할 수 있다.
330 단계에서, 프로세서는 저장된 2D 데이터를 3D 데이터로 변환한다.
3D 데이터는, 저장된 2D 데이터에 포함된 정보들에 대하여 3D 매핑을 수행할 목적으로 변환한 것을 의미한다. 일 예로서, 3D 데이터는 2D 데이터에 포함된 타입 데이터, 색상 데이터, 레이어 데이터 및 위치 데이터 중 적어도 하나를 3D 매핑을 수행할 목적으로 변환한 정보를 포함할 수 있다.
한편, 3D 데이터는, 저장된 2D 데이터에 포함된 정보들에 대하여 3D 매핑을 수행하기 위해 분석한 것을 의미할 수 있다.
한편, 3D 데이터는 3D 모델링 구동 엔진을 이용하여 3D 모델링을 구현하기 위해 사용되는 데이터일 수 있다. 일 예로서, 3D 데이터는 Unity 프로그램을 이용하여 3D 모델링을 구현하기 위해 사용되는 데이터일 수 있다.
프로세서는 저장된 2D 데이터를 3D 데이터로 변환할 수 있다. 구체적으로, 프로세서는 저장된 2D 데이터에 포함된 타입 데이터, 색상 데이터, 레이어 데이터 및 위치 데이터 중 적어도 하나를 3D 데이터에 포함된 타입 데이터, 색상 데이터, 레이어 데이터 및 위치 데이터로 변환할 수 있다. 이때, 프로세서는 2D 데이터에 존재하지 않는 객체의 정보에 대해, 기설정된 디폴트 값을 사용하여 3D 데이터를 생성할 수 있다.
일 예로서, 프로세서는 2D 데이터에 포함된 위치 데이터를 3D 데이터에 포함된 위치 데이터로 변환할 수 있다. 일 예로서, 프로세서는 2D 데이터에 포함되는 x축 좌표 값 및 y축 좌표 값을 이용하여, 3D 데이터에 포함되는 x축 좌표 값 및 y축 좌표 값으로 변환할 수 있다. 프로세서는 2D 데이터에 포함되는 x축 좌표 값을 3D 데이터에 포함되는 x축 좌표 값으로 변환할 수 있고, 2D 데이터에 포함된 y축 좌표 값을 3D 데이터에 포함되는 y축 좌표 값으로 변환할 수 있다. 이때, 2D 데이터에 포함된 위치 데이터에는 객체의 z축 좌표 값이 포함되어 있지 않으므로, 3D 좌표에 포함되는 z축 좌표 값을 기설정된 디폴트 값으로 설정할 수 있다. 기설정된 디폴트 값은 0일 수 있다.
한편, 프로세서는, 2D 데이터에 3D 모델링을 위한 데이터가 포함되어 있는 경우에는, 기설정된 디폴트 값을 사용하지 않고 2D 데이터에 포함된 3D 모델링을 위한 데이터를 사용하여 3D 데이터를 생성할 수 있다. 일 예로서, 프로세서는, 2D 데이터에 객체의 z축 좌표 값이 포함되어 있는 경우에는, 기설정된 디폴트 값을 사용하지 않고 2D 데이터에 포함된 객체의 z축 좌표 값을 3D 데이터에 포함되는 z축 좌표 값으로 변환할 수 있다.
한편, 프로세서는 기설정된 변환 비율에 따라 2D 데이터에 포함된 위치 데이터를 3D 데이터에 포함된 위치 데이터로 변환할 수 있다. 일 예로서, 2D 데이터에 포함된 좌표 값 : 3D 데이터에 포함된 좌표 값의 비율을 100 : 1 의 비율로 하여 2D 데이터에 포함된 좌표 값을 3D 데이터에 포함된 좌표 값으로 변환할 수 있다. 다른 예로서, CAD의 좌표 값 : Unity의 좌표 값의 비율을 100 : 1 의 비율로 하여 2D 데이터에 포함된 좌표 값을 3D 데이터에 포함된 좌표 값으로 변환할 수 있다.
한편, 프로세서는 2D 데이터에 축척 값이 포함된 경우에는, 기설정된 변환 비율을 사용하지 않고 2D 데이터에 포함된 축척 값을 이용하여 2D 데이터에 포함된 위치 데이터를 3D 데이터에 포함된 위치 데이터로 변환할 수 있다.
한편, 프로세서는 2D 데이터 및 3D 데이터에 대하여, 연결 리스트(Linked List) 구조를 사용하여 저장할 수 있다. 일 예로서, 프로세서는 각 데이터에 포함된 타입 데이터를 헤더로서 연결 리스트 구조를 사용하여 저장할 수 있다.
한편, 프로세서는 변환된 3D 데이터를 사용자가 검토하여 수정한 3D 데이터로 업데이트할 수 있다. 구체적으로, 프로세서는 2D 데이터가 변환되어 생성된 3D 데이터를 사용자에게 전송하고, 사용자는 생성된 3D 데이터로부터 오류가 없는지, 수정할 사항이 없는지 검토할 수 있다. 사용자는 생성된 3D 데이터로부터 오류가 있거나 수정할 사항이 있는 경우 3D 데이터를 수정하고 다시 프로세서에 전송할 수 있다. 프로세서는 수정된 3D 데이터를 수신하여 업데이트할 수 있다.
본 발명의 일 실시예에 따르면, 원하는 특정 타입 데이터를 호출하거나, 최종 결과물인 3D 객체를 확인할 때, 각 데이터를 비교하거나 수정하기 용이하다는 장점이 있다.
340 단계에서, 프로세서는 3D 데이터를 이용하여 2D 도면에 3D 매핑을 수행함으로써, 객체가 3D 공간에 배열되는 3D 객체를 생성한다. 구체적으로, 프로세서는 3D 데이터에 포함된 타입 데이터, 색상 데이터, 레이어 데이터 및 위치 데이터를 이용하여 2D 도면에 3D 매핑을 수행하고, 객체를 3D 공간에 배열하여 3D 객체를 생성한다.
3D 매핑(mapping)은 2D 도면의 객체들을 3D 공간에 배열하는 과정을 의미할 수 있다. 3D 매핑에 의하면 2D 도면에서 설계된 바에 따라 객체들이 3차원 공간 상에 배치되어 3D 구조 도면이 생성될 수 있다.
프로세서는 변환된 3D 데이터를 통해 객체의 x축 좌표 값 및 y축 좌표 값뿐만 아니라 객체의 z축 좌표 값을 알고 있으므로 객체의 위치를 파악할 수 있다.
그리고, 프로세서는 파악된 객체의 위치에 3D 매핑을 수행하여 2D 도면의 객체들이 3D 공간에 배열되는 3D 객체를 생성할 수 있다. 이때 프로세서는 2D 도면에 포함된 객체의 2D 데이터를 이용하여 3D 매핑을 수행할 수 있다. 일 예로서, 프로세서는 객체의 2D에 포함된 타입 데이터, 색상 데이터 및 레이어 데이터 중 적어도 하나를 이용하여 3D 매핑을 수행할 수 있다. 프로세서는 파악된 객체의 위치에 객체의 2D에 포함된 타입 데이터, 색상 데이터 및 레이어 데이터 중 적어도 하나를 이용하여, 해당 위치에 3D 매핑을 수행함으로써 2D 도면의 객체를 3D 공간에 배열하여 3D 객체를 생성할 수 있다.
한편, 프로세서는 제1 객체의 3D 데이터를 이용하여 2D 도면에 3D 매핑을 수행함으로써, 제1 객체를 3D 공간에 배열하여 제1 객체에 대응하는 3D 객체를 생성할 수 있다. 그리고, 프로세서는 제1 객체의 3D 데이터를 탐색함으로써 제2 객체의 3D 데이터를 생성할 수 있다. 그리고, 프로세서는 생성된 제2 객체의 3D 데이터를 이용하여 3D 매핑을 수행함으로써, 제2 객체를 제1 객체에 대응하는 3D 객체가 포함된 3D 공간에 배열하여 제2 객체에 대응하는 3D 객체를 생성할 수 있다.
제2 객체는 제1 객체와 인접하여 배열되는 객체를 지칭하는 것일 수 있다. 일 예로서, 제2 객체는 벽에 해당하는 제1 객체의 빈 공간에 배열되는 창문일 수 있다. 다른 예로서, 제2 객체는 창문에 해당하는 제1 객체를 둘러싸는 벽일 수 있다. 또 다른 예로서, 제2 객체는 화장실 벽에 해당하는 제1 객체의 옆에 배열되는 욕조일 수 있다.
한편, 프로세서는 제1 객체에 대응하는 3D 데이터를 탐색할 수 있다. 일 예로서, 프로세서는, 제1 객체에 대응하는 3D 데이터를 탐색함으로써, 제1 객체에 인접하여 배열될 제2 객체의 배열될 공간을 확인할 수 있다. 프로세서는, 벽인 제1 객체에 대응하는 3D 데이터를 탐색함으로써, 벽의 빈 공간에 배열될 창문인 제2 객체의 배열될 공간을 확인할 수 있다. 다른 예로서, 프로세서는 제1 객체에 대응하는 3D 데이터를 탐색함으로써, 제1 객체의 내/외부 방향을 확인하여 제2 객체의 배열될 공간을 확인할 수 있다. 프로세서는 벽인 제1 객체에 대응하는 3D 데이터를 탐색함으로써, 벽의 내/외부 방향을 확인하고, 창문인 제2 객체의 내/외부 방향을 확인하여 배열될 공간을 확인할 수 있다.
일 예로서, 프로세서는 제1 객체의 3D 데이터를 이용하여 2D 도면에 3D 매핑을 수행함으로써, 제1 객체를 3D 공간에 배열하여 제1 객체에 대응하는 3D 객체를 생성할 수 있다. 여기에서, 제1 객체는 벽으로 가정하고 설명하도록 하나, 이에 제한되지 않는다. 벽(제1 객체)의 3D 데이터에는, 벽(제1 객체)에 대응하는 타입 데이터, 색상 데이터, 레이어 데이터 및 위치 데이터 중 적어도 하나를 포함할 수 있다. 프로세서는, 벽(제1 객체)의 3D 데이터에 포함된 타입 데이터 및 위치 데이터를 이용하여, 벽(제1 객체)의 좌표에 따른 모양을 추출하여 3D 매핑을 수행할 수 있다. 따라서, 프로세서는, 문이 존재하는 벽의 구간에서는 문이 존재할 공간만큼 빈 공간을 가지는 벽의 모양을 추출하여 3D 매핑을 수행할 수 있다. 또한, 프로세서는, 창문이 존재하는 벽의 구간에서는 창문이 존재할 공간만큼 빈 공간을 가지는 벽의 모양을 추출하여 3D 매핑을 수행할 수 있다. 그리고, 프로세서는, 벽인 제1 객체를 3D 공간에 배열하여 제1 객체에 대응하는 3D 객체를 생성하면, 제2 객체를 제1 객체에 대응하는 3D 객체가 포함된 3D 공간에 배열하여 제2 객체에 대응하는 3D 객체를 생성할 수 있다. 여기에서, 제2 객체는 창문으로 가정하고 설명하도록 하나, 이에 제한되지 않는다. 구체적으로, 프로세서는, 창문(제2 객체)의 2D 데이터가 존재하는 경우, 창문(제2 객체)의 2D 데이터를 3D 데이터로 변환하고, 변환된 3D 데이터를 이용하여 2D 도면에 3D 매핑을 수행함으로써, 창문(제2 객체)을 3D 공간에 배열하여 창문(제2 객체)에 대응하는 3D 객체를 생성할 수 있다. 다만, 프로세서는, 창문(제2 객체)의 2D 데이터가 존재하지 않는 경우, 벽(제1 객체)을 탐색함으로써 창문(제2 객체)의 3D 데이터를 생성할 수 있다. 프로세서는, 벽(제1 객체)을 탐색함으로써 창문(제2 객체)의 3D 데이터에 포함된 타입 데이터, 색상 데이터, 레이어 데이터 및 위치 데이터 중 적어도 하나를 창문(제2 객체)이 배치될 3D 공간에 대응되도록 생성할 수 있다. 예를 들면, 창문이 배치될 3D 공간이 한 변의 길이가 30cm인 정사각형 모양을 가지고 있다면, 프로세서는 한 변의 길이가 30cm 인 정사각형 모양을 가지도록 창문의 3D 데이터를 생성할 수 있다. 또한, 프로세서는, 벽(제1 객체)을 탐색함으로써 기설정된 창문의 3D 데이터를 변경하여 창문(제2 객체)의 3D 데이터를 생성할 수 있다. 기설정된 창문의 3D 데이터는 제2 객체가 아닌 일반적인 창문에 대해 미리 설정된 3D 데이터를 지칭하는 것일 수 있다. 예를 들면, 기설정된 창문의 3D 데이터가 지름 50cm의 원 모양을 가지는 창문의 3D 데이터에 해당한다면, 프로세서는 지름 50cm의 원 모양을 가지는 창문을 한 변의 길이가 30cm 인 정사각형 모양을 가지도록 창문의 3D 데이터를 조절할 수 있다. 그리고, 프로세서는 생성된 창문(제2 객체)의 3D 데이터를 이용하여 3D 매핑을 수행함으로써, 창문(제2 객체)을 벽(제1 객체)이 포함된 3D 공간에 배열하여 창문(제2 객체)에 대응하는 3D 객체를 생성할 수 있다.
한편, 프로세서는 제1 객체를 탐색함으로써 제2 객체를 배열한 방법과 동일한 방법으로, 제1 객체 및 제2 객체를 탐색함으로써 제3 객체를 동일한 3D 공간에 배열하여 제3 객체에 대응하는 3D 객체를 생성할 수 있다. 예를 들면, 프로세서는, 화장실의 벽(제1 객체) 및 창문(제2 객체)가 3D 공간에 배열된 후, 화장실의 벽(제1 객체) 및 창문(제2 객체)를 탐색함으로써 욕조(제3 객체)의 3D 데이터를 생성할 수 있다. 그리고, 프로세서는 생성된 욕조(제3 객체)의 3D 데이터를 이용하여 3D 매핑을 수행함으로써, 욕조(제3 객체)를 화장실의 벽(제1 객체) 및 창문(제2 객체)가 포함된 3D 공간에 배열하여 욕조(제3 객체)에 대응하는 3D 객체를 생성할 수 있다.
그 외 도기, 수도, 가스, 실외기, 발코니 등의 객체가 위와 동일한 방식으로 3D 공간에 배열될 수 있다.
한편, 본 발명의 일 실시예에 따른 컴퓨팅 장치는, 객체가 3D 공간에 배열되는 3D 객체를 외부 관찰시점 또는 내부 관찰시점으로 볼 수 있는 인터페이스를 제공할 수 있다. 사용자는 원하는 시점에 따라 생성된 3D 객체를 관찰할 수 있다.
그리고, 일 실시예에 따른 인터페이스는, 생성된 3D 객체를 확대/축소하거나, 생성된 3D 객체에 대응하는 원본 2D 도면을 제공하거나, 3D 객체에 대응하는 3D 데이터를 제공하거나, 추가적으로 3D 공간에 추가 객체를 배열하거나, 객체의 색을 변경하는 등의 기능을 제공할 수 있다.
도 5는 일 실시예에 따른 프로세서가 생성한 3D 객체의 일 예를 설명하기 위한 도면이다.
도 5를 참조하면, 프로세서가 생성한 3D 객체를 외부 관찰시점에서 확인할 수 있다. 일 실시예에 따른 인터페이스는, 프로세서가 생성한 3D 객체를 외부 관찰시점으로 볼 수 있도록 제공할 수 있다.
또한, 프로세서는, 프로세서가 생성한 3D 객체를 확대/축소하거나, 생성된 3D 객체에 대응하는 원본 2D 도면을 제공하거나, 3D 객체에 대응하는 3D 데이터를 제공하거나, 3D 공간에 추가 객체를 배열할 수 있도록 추가 2D 도면을 추가하는 등의 기능을 제공할 수 있다.
도 6은 일 실시예에 따른 프로세서가 생성한 3D 객체의 다른 예를 설명하기 위한 도면이다.
도 6을 참조하면, 프로세서가 생성한 3D 객체를 내부 관찰시점에서 확인할 수 있다. 일 실시예에 따른 인터페이스는, 프로세서가 생성한 3D 객체를 내부 관찰시점으로 볼 수 있도록 제공할 수 있다.
한편, 상술한 방법은 Unity 프로그램을 기반으로 수행될 수 있다.
상술한 바에 따르면, 프로세서는 2D 도면을 이용하여 3D 객체를 생성한다. 사용자는 높은 정확도 및 향상된 신뢰도를 가지는 3D 객체를 확인할 수 있다.
한편, 상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 램, USB, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하며, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점을 포함하는 것으로 해석되어야 할 것이다.
Claims (8)
- 2D 도면을 이용하여 3D 객체를 생성하는 방법에 있어서,
적어도 하나의 객체의 2D 데이터를 포함하는 2D 도면을 수신하는 단계;
상기 객체의 2D 데이터를 타입 별로 분류하여 저장하는 단계;
상기 저장된 2D 데이터를 3D 데이터로 변환하는 단계; 및
상기 3D 데이터를 이용하여 상기 2D 도면에 3D 매핑을 수행함으로써, 상기 객체가 3D 공간에 배열되는 3D 객체를 생성하는 단계;를 포함하고,
상기 변환하는 단계는,
상기 2D 데이터 및 상기 3D 데이터에 대하여, 연결 리스트(Linked List) 구조를 사용하여 저장하는 단계;를 더 포함하고,
상기 3D 객체를 생성하는 단계는,
상기 3D 데이터에 기초하여 제1 객체를 3D 공간에 배열함으로써 상기 제1 객체에 대응하는 3D 객체를 생성하는 단계;
상기 제1 객체의 3D 데이터를 탐색함으로써 상기 제1 객체에 인접하여 배열될 제2 객체의 배열될 공간을 확인하는 단계; 및
상기 확인된 공간에 상기 제2 객체를 배열함으로써 상기 제2 객체에 대응하는 3D 객체를 생성하는 단계;를 포함하는, 방법. - 제1 항에 있어서,
상기 2D 도면은,
DXF 확장자로 생성되는 전자 파일인 것인, 방법. - 제1 항에 있어서,
상기 2D 데이터는,
상기 객체의 타입 데이터, 상기 객체의 색상 데이터, 상기 객체의 레이어 데이터 및 상기 객체의 위치 데이터 중 적어도 하나를 포함하는 것인, 방법. - 제1 항에 있어서,
상기 수신하는 단계는,
상기 2D 도면을 분할하여 수신하는 단계;를 포함하는, 방법. - 제1 항에 있어서,
상기 타입은,
LINE 타입, LWPOLYLINE 타입, CIRCLE 타입 및 ARC 타입 중 적어도 하나를 포함하는 것인, 방법. - 삭제
- 제1 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 적어도 하나의 메모리; 및
적어도 하나의 프로세서;를 포함하고,
상기 적어도 하나의 프로세서는,
적어도 하나의 객체의 2D 데이터를 포함하는 2D 도면을 수신하고, 상기 객체의 2D 데이터를 타입 별로 분류하여 저장하고, 상기 저장된 2D 데이터를 3D 데이터로 변환하고, 상기 3D 데이터를 이용하여 상기 2D 도면에 3D 매핑을 수행함으로써, 상기 객체가 3D 공간에 배열되는 3D 객체를 생성하고,
상기 변환하는 것은,
상기 2D 데이터 및 상기 3D 데이터에 대하여, 연결 리스트(Linked List) 구조를 사용하여 저장하는 것을 더 포함하고,
상기 3D 객체를 생성하는 것은,
상기 3D 데이터에 기초하여 제1 객체를 3D 공간에 배열함으로써 상기 제1 객체에 대응하는 3D 객체를 생성하고, 상기 제1 객체의 3D 데이터를 탐색함으로써 상기 제1 객체에 인접하여 배열될 제2 객체의 배열될 공간을 확인하고, 상기 확인된 공간에 상기 제2 객체를 배열함으로써 상기 제2 객체에 대응하는 3D 객체를 생성하는 것을 포함하는 것인, 컴퓨팅 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220158112A KR102583104B1 (ko) | 2022-11-23 | 2022-11-23 | 2d 도면을 이용하여 3d 객체를 생성하는 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220158112A KR102583104B1 (ko) | 2022-11-23 | 2022-11-23 | 2d 도면을 이용하여 3d 객체를 생성하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102583104B1 true KR102583104B1 (ko) | 2023-09-27 |
Family
ID=88189079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220158112A KR102583104B1 (ko) | 2022-11-23 | 2022-11-23 | 2d 도면을 이용하여 3d 객체를 생성하는 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102583104B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102336069B1 (ko) | 2020-10-29 | 2021-12-08 | 주식회사 에이디 | 건축 설계 협업을 위한 장치 및 방법 |
KR20220067743A (ko) * | 2020-11-18 | 2022-05-25 | 아주대학교산학협력단 | 3차원 캐드 이미지 모델링 방법 |
KR20220143612A (ko) * | 2021-04-16 | 2022-10-25 | 주식회사 팀솔루션 | 3d 모델링 객체의 3d 프린터 출력을 위한 3d cad 데이터 변환 방법, 프로그램 및 이를 위한 장치 |
-
2022
- 2022-11-23 KR KR1020220158112A patent/KR102583104B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102336069B1 (ko) | 2020-10-29 | 2021-12-08 | 주식회사 에이디 | 건축 설계 협업을 위한 장치 및 방법 |
KR20220067743A (ko) * | 2020-11-18 | 2022-05-25 | 아주대학교산학협력단 | 3차원 캐드 이미지 모델링 방법 |
KR20220143612A (ko) * | 2021-04-16 | 2022-10-25 | 주식회사 팀솔루션 | 3d 모델링 객체의 3d 프린터 출력을 위한 3d cad 데이터 변환 방법, 프로그램 및 이를 위한 장치 |
Non-Patent Citations (2)
Title |
---|
MONICA CARFAGNI et al. "3D reconstruction problem": an automated procedure. Applications of Mathematics and Computer Engineering, 99-104 pages. 2011.01.* * |
송슬기 외 3명. 대용량 2D CAD의 3D 모델링 자동화를 위한 전처리 모듈 설계. 2022년 대한전자공학회 하계학술대회 논문집, 1910-1911 페이지. 2022.06.* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372839B2 (en) | Project management system providing optimized interaction with digital models | |
US10108756B2 (en) | Method, computer program product and apparatus for providing a building options configurator | |
Garagnani et al. | Parametric accuracy: building information modeling process applied to the cultural heritage preservation | |
US12067648B2 (en) | Pattern matching tool | |
US12038880B2 (en) | Synchronization of graphical data | |
KR102357429B1 (ko) | 3차원 모델링 데이터의 공간정보 설정 및 활용 방법, 장치 및 컴퓨터-판독가능 기록매체 | |
AU2019245374A1 (en) | Digital design tools for building construction | |
EP3996055A1 (en) | Machine learning techniques for extracting floorplan elements from architectural drawings | |
US20160275216A1 (en) | Providing building information modeling data | |
CN115205476A (zh) | 三维地质建模方法、装置、电子设备及存储介质 | |
US20120284735A1 (en) | Interaction-Based Interface to a Logical Client | |
KR102583104B1 (ko) | 2d 도면을 이용하여 3d 객체를 생성하는 방법 및 장치 | |
US20240061813A1 (en) | Synchronizing Design Models | |
US10204184B2 (en) | Apparatus and method for modeling cultural heritage building | |
Shkundalov et al. | A new approach for extending the possibilities of collaboration between BIM, GIS and Web environments to increase the efficiency of building space management | |
CN112464326B (zh) | 识别屋面和墙体的方法、装置、计算机设备和存储介质 | |
EP3035294B1 (en) | 3d models utilizing 3d markers to indicate engineering requirements | |
Boeykens et al. | Improving design workflow in architectural design applications | |
KR102666168B1 (ko) | 웹 환경에서 3d 컴포넌트를 생성하는 방법 및 장치 | |
CN111814237B (zh) | 基于Revit基建模型的插件的坐标输出方法及装置 | |
US20240005570A1 (en) | Floor Plan Extraction | |
Cheng et al. | A new software for block theory and its applications in rock engineering | |
Du et al. | Text2BIM: Generating Building Models Using a Large Language Model-based Multi-Agent Framework | |
CN107636681A (zh) | 绘图对象推断系统和方法 | |
Proko | Using Programmatic Methods to Enhance the Interoperability of Architectural and Structural Models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |