KR102513931B1 - 제품 시각화 시스템 - Google Patents

제품 시각화 시스템 Download PDF

Info

Publication number
KR102513931B1
KR102513931B1 KR1020160083520A KR20160083520A KR102513931B1 KR 102513931 B1 KR102513931 B1 KR 102513931B1 KR 1020160083520 A KR1020160083520 A KR 1020160083520A KR 20160083520 A KR20160083520 A KR 20160083520A KR 102513931 B1 KR102513931 B1 KR 102513931B1
Authority
KR
South Korea
Prior art keywords
objects
product
group
dimensional model
displayed
Prior art date
Application number
KR1020160083520A
Other languages
English (en)
Other versions
KR20170006262A (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 더 보잉 컴파니
Publication of KR20170006262A publication Critical patent/KR20170006262A/ko
Application granted granted Critical
Publication of KR102513931B1 publication Critical patent/KR102513931B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Development Economics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Manufacturing & Machinery (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

제품(102)을 디스플레이하기 위한 방법 및 장치가 제공된다. 3차원 모델(110)은 객체들(130) 및 객체들(130)의 서로에 대한 공간적 관계(132)를 포함한다. 제품(102)의 부분(136)을 선택하는 사용자 입력(109)에 적용되는 정책(134)을 기초로 3차원 모델(110) 내 객체들(130)의 그룹이 식별되고, 객체들(130)의 그룹과 연관된 속성들(138)의 그룹에 값(140)을 할당한다. 속성들(138)의 그룹에 할당된 값(140)은 객체들(130)의 그룹이 디스플레이 시스템(111) 상에 디스플레이되어야 함을 표시한다. 객체들 중에서 그 값(140)이 없는 속성들(138)을 갖는 다른 객체들(130)은 디스플레이되지 않는다. 객체들(130)과 연관된 속성들(138)이 출력되며, 여기서 객체들(130)과 연관된 속성들(138)을 사용하여 디스플레이 시스템(111) 상에 객체들(130)의 그룹이 3차원으로 디스플레이되어, 제품(102)의 3차원 모델(110)을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.

Description

제품 시각화 시스템{PRODUCT VISUALIZATION SYSTEM}
본 개시는 일반적으로 제조에 관한 것으로, 특히 제조되는 제품들을 시각화하기 위한 방법 및 장치에 관한 것이다. 또 보다 구체적으로, 본 개시는 제품들의 모델들을 시각화하기 위한 방법 및 장치를 제공한다.
제품들의 제조시, 제품의 설계는 흔히 컴퓨터 지원 설계(CAD: computer-aided design) 시스템들을 사용하여 생성된다. 이러한 제품들은 예를 들어, 항공기, 건물들, 우주선, 엔진들 및 다른 타입들의 제품들을 포함할 수 있다.
이러한 제품들 중 다수에 대한 모델들은 대용량(massive) 모델들의 형태를 취할 수도 있다. 대용량 모델은 더 작은 타입들의 모델들의 1000만 개의 다각형들과 비교해 예를 들어, 6억 5천 개 또는 그보다 많은 다각형들을 포함할 수도 있는 3차원 모델이다. 이러한 모델들의 크기는 기가바이트들 그리고 심지어 테라바이트들인 크기들을 가질 수도 있다.
이러한 크기들로, 모델들을 디스플레이하고 처리하는 것은 흔히 도전적이다. 모델들을 디스플레이하고, 컴퓨터 지원 설계 소프트웨어와 같은 대화형 3차원 애플리케이션들을 사용하여 모델들과 상호 작용하는 능력을 오퍼레이터에게 제공하는 데 있어 특히 도전들이 제기된다. 하드웨어에서 많은 발전들이 이루어졌다. 예를 들어, 프로세서들은 더 많은 정보를 더 빠르고 더 양호하게 다룰 수 있게 되었다. 그러나 프로세서들에 의해 액세스 가능한 메모리 크기 및 메인 메모리와 하드 디스크들과 같은 메모리에 대한 액세스 속도는 더 느리게 증가해왔다. 그 결과, 이러한 타입의 액세스는 대용량 모델의 임의의 선택된 서브세트와의 원하는 레벨의 상호 작용 제공에 있어 병목 현상이 된다.
따라서 앞서 논의한 문제들 중 적어도 일부는 물론, 다른 가능한 문제들도 고려하는 방법 및 장치를 갖는 것이 바람직할 것이다. 예를 들어, 현재 이용 가능한 컴퓨터 시스템들을 사용하여 대용량 모델의 임의의 선택된 서브세트와의 원하는 성능 레벨의 상호 작용을 제공하는 데 있어서의 기술적 문제점을 극복하는 방법 및 장치를 갖는 것이 바람직할 것이다.
본 개시의 한 실시예는 제품을 디스플레이하기 위한 방법을 제공한다. 이 방법은 컴퓨터 시스템에서 제품의 3차원 모델에 액세스한다. 3차원 모델은 객체들 및 객체들의 서로에 대한 공간적 관계를 포함한다. 이 방법은 그 다음에, 제품의 부분을 선택하는 사용자 입력에 적용되는 정책을 기초로 컴퓨터 시스템의 디스플레이 시스템 상에 디스플레이될 3차원 모델 내 객체들의 그룹을 식별하고, 객체들의 그룹과 연관된 속성들의 그룹에 값을 할당한다. 속성들의 그룹에 할당된 값은 객체들의 그룹이 디스플레이 시스템 상에 디스플레이되어야 함을 표시한다. 객체들 중에서 그 값이 없는 속성들을 갖는 다른 객체들은 디스플레이되지 않는다. 다음에, 이 방법은 객체들과 연관된 속성들을 출력하는데, 여기서 객체들과 연관된 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹이 3차원으로 디스플레이되어, 디스플레이 시스템 상에서 제품의 3차원 모델을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.
본 개시의 다른 실시예는 디스플레이 시스템과 통신하는 제품 시각화 시스템을 포함하는 장치를 제공한다. 제품 시각화 시스템은 컴퓨터 시스템에서 제품의 3차원 모델에 액세스하도록 구성된다. 3차원 모델은 객체들 및 객체들의 서로에 대한 공간적 관계를 포함한다. 제품 시각화 시스템은 제품의 부분을 선택하는 사용자 입력에 적용되는 정책을 기초로 컴퓨터 시스템의 디스플레이 시스템 상에 디스플레이될 3차원 모델 내 객체들의 그룹을 식별하고, 객체들의 그룹과 연관된 속성들의 그룹에 값을 할당한다. 속성들의 그룹에 할당된 값은 객체들의 그룹이 디스플레이 시스템 상에 디스플레이되어야 함을 표시한다. 객체들 중에서 그 값이 없는 속성들을 갖는 다른 객체들은 디스플레이되지 않는다. 제품 시각화 시스템은 또한 객체들과 연관된 속성들을 출력하는데, 여기서 객체들과 연관된 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹이 3차원으로 디스플레이되어, 디스플레이 시스템 상에서 제품의 3차원 모델을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.
본 개시의 또 다른 실시예는 디스플레이 시스템과 통신하는 제품 시각화 시스템을 포함하는 제품 관리 시스템을 제공한다. 제품 시각화 시스템은 컴퓨터 시스템의 데이터베이스에 로케이팅된 제품의 3차원 모델에 액세스한다. 3차원 모델은 객체들 및 객체들의 서로에 대한 공간적 관계를 포함한다. 제품 시각화 시스템은 제품의 부분을 선택하는 사용자 입력에 적용되는 정책을 기초로 컴퓨터 시스템의 디스플레이 시스템 상에 디스플레이될 3차원 모델 내 객체들의 그룹을 식별하고, 객체들의 그룹과 연관된 속성들의 그룹에 값을 할당한다. 속성들의 그룹에 할당된 값은 객체들의 그룹이 디스플레이 시스템 상에 디스플레이되어야 함을 표시한다. 객체들 중에서 그 값이 없는 속성들을 갖는 다른 객체들은 디스플레이되지 않는다. 제품 시각화 시스템은 또한 객체들과 연관된 속성들을 출력하는데, 여기서 속성들은 객체들의 그룹의 식별에 응답하여 데이터베이스로부터 메인 메모리로 3차원 모델의 객체들을 로드하는 것 또는 메인 메모리로부터 3차원 모델의 객체들을 언로드하는 것 중 적어도 하나가 없이도 객체들의 그룹이 디스플레이되는 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹을 3차원으로 디스플레이하는 데 사용되어, 디스플레이 시스템 상에서 제품의 3차원 모델을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.
특징들 및 기능들은 본 개시의 다양한 실시예들에서 독립적으로 달성될 수 있고 또는 다음 설명 및 도면들을 참조로 추가 세부사항들이 확인될 수 있는 또 다른 실시예들로 결합될 수도 있다.
첨부된 청구항들에서는 예시적인 실시예들의 특성으로 여겨지는 신규 특징들이 제시된다. 그러나 예시적인 실시예들뿐만 아니라, 선호되는 사용 모드, 추가 목적들 및 이들의 특징들 또한 본 개시의 예시적인 실시예의 다음의 상세한 설명을 참조로 첨부 도면들과 함께 읽을 때 가장 잘 이해될 것이다.
도 1은 한 예시적인 실시예에 따른 제품 시각화 환경의 블록도의 예시이다.
도 2는 한 예시적인 실시예에 따른 3차원 모델의 디스플레이에서 데이터 흐름의 블록도의 예시이다.
도 3은 한 예시적인 실시예에 따른 그래픽 사용자 인터페이스에 디스플레이되는 항공기의 3차원 모델의 예시이다.
도 4는 한 예시적인 실시예에 따른 그래픽 사용자 인터페이스에 디스플레이되는 항공기의 더 자세한 뷰(view)의 예시이다.
도 5는 한 예시적인 실시예에 따른 그래픽 사용자 인터페이스에 디스플레이되는 항공기 일부분의 선택에 대한 3차원 모델의 예시이다.
도 6은 한 예시적인 실시예에 따른 그래픽 사용자 인터페이스에 디스플레이되는 항공기 일부분의 예시이다.
도 7은 한 예시적인 실시예에 따른 그래픽 사용자 인터페이스에 디스플레이되는 항공기 일부분의 예시이다.
도 8은 한 예시적인 실시예에 따라 제품을 디스플레이하기 위한 프로세스의 흐름도의 예시이다.
도 9는 한 예시적인 실시예에 따라 3차원 모델 내 객체들과 연관된 속성들에 값을 할당하기 위한 프로세스의 흐름도의 예시이다.
도 10은 한 예시적인 실시예에 따른 데이터 처리 시스템의 블록도의 예시이다.
도 11은 한 예시적인 실시예에 따른 항공기 제조 및 서비스 방법의 블록도의 예시이다.
도 12는 한 예시적인 실시예에 따른 항공기의 블록도의 예시이다.
도 13은 한 예시적인 실시예에 따른 제품 관리 시스템의 블록도의 예시이다.
예시적인 실시예들은 하나 또는 그보다 많은 서로 다른 고려사항들을 인지하여 고려한다. 예를 들어, 예시적인 실시예들은 대화식 환경에서 모델들을 디스플레이하는 데 있어 하드웨어 자원들의 보다 효율적인 사용이 이루어질 수도 있음을 인지하여 고려한다. 예를 들어, 예시적인 실시예들은 현재 사용되고 있는 컴퓨터 지원 설계 애플리케이션들이 쿼리에 응답하여 객체들을 로드하고 객체들을 언로드함을 인지하여 고려한다. 현재 메모리 내의 어떤 객체들이 쿼리를 충족하는지 그리고 어떤 다른 객체들이 필요한지에 관한 결정이 이루어진다. 객체들의 크기가 가용 메모리의 크기를 초과할 때 특히, 필요하지 않은 객체들이 메모리로부터 언로드되고 다른 객체들이 메모리에 로드된다.
예를 들어, 제품은 항공기일 수도 있다. 오퍼레이터가 시각적으로 항공기 사이로 움직일 때, 오퍼레이터가 항공기에서 무엇을 볼지를 결정하기 위해 쿼리들이 발생한다. 쿼리들을 기초로 객체들이 로드 및 언로드되어, 오퍼레이터에 의해 확인되는 항공기의 객체들을 디스플레이한다.
객체들을 로드 및 언로드하는 이러한 프로세스는 시간이 오래 걸리고, 대역폭을 사용하며, 오퍼레이터에 대해 원하는 것보다 낮은 상호 작용 성능으로 이어질 수도 있다. 예를 들어, 원하는 레벨의 상호 작용 성능은 초당 10개의 프레임들로 변경들을 디스플레이하는 것일 수도 있다. 초당 10개 미만의 프레임들에서, 항공기를 통한 움직임 또는 항공기의 회전은 원하는 것보다 더 느리거나 덜 반응할 수도 있다. 움직임의 지연들 또는 움직임의 점프들이 발생할 수도 있다.
따라서 예시적인 실시예들은 모델을 디스플레이하기 위한 방법 및 장치를 제공한다. 이 프로세스는 임의의 모델에 적용될 수 있지만, 이용 가능한 것보다 더 많은 물리적 중앙 처리 유닛(CPU: central processing unit) 메모리 또는 그래픽 처리 유닛(GPU: graphics processing unit) 메모리를 사용하는 것들과 같은 대용량 모델들에 특히 적합할 수도 있다.
예시적인 일례로, 제품을 디스플레이하기 위한 방법이 제시된다. 컴퓨터 시스템에서 제품의 3차원 모델이 액세스된다. 모델은 제품을 형성하는 객체들 및 객체들의 서로에 대한 공간적 관계의 설명을 갖는다. 제품의 부분을 선택하는 사용자 입력에 적용되는 정책을 기초로 컴퓨터 시스템의 디스플레이 시스템 상에 디스플레이될 모델 내 객체들의 그룹이 식별된다. 객체들의 그룹에서 각각의 객체와 연관된 속성에 값이 할당된다. 속성은 객체가 디스플레이되어야 하는지 여부를 표시하고, 속성에 할당된 값은 객체들의 그룹의 각각의 객체가 디스플레이 시스템 상에 디스플레이되어야 함을 표시한다. 값이 없는 속성들을 갖는 다른 객체들은 디스플레이되지 않는다. 객체들과 연관된 속성들이 출력되는데, 여기서 객체들과 연관된 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹이 3차원으로 디스플레이되어, 디스플레이 시스템 상에서 제품의 3차원 모델을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.
본 명세서에서 사용되는 바와 같이, 항목들과 관련하여 사용될 때 "~의 그룹"은 하나 또는 그보다 많은 항목들을 의미한다. 예를 들어, "객체들의 그룹"은 하나 또는 그보다 많은 객체들이다.
이제 도면들을 참조하여, 그리고 특히 도 1을 참조하여, 한 예시적인 실시예에 따른 제품 시각화 환경의 블록도의 예시가 도시된다. 도시된 바와 같이, 제품 관리 환경(100)은 제품 시각화 시스템(106)을 사용하여 오퍼레이터(104)에 의해 제품(102)이 시각화될 수 있는 환경의 일례이다.
예시적인 예에서, 제품(102)은 다양한 형태들을 취할 수도 있다. 예를 들어, 제품(102)은 항공기, 수상함, 차량, 기차, 우주선, 건물, 제조 시설, 발전소, 다리, 엔진, 컴퓨터 네트워크 노드들, 날개, 또는 다른 어떤 적당한 제품 중 하나로부터 선택될 수도 있다.
예시적인 예에서, 오퍼레이터(104)가 휴먼 오퍼레이터일 때, 오퍼레이터(104)는 제품(102)을 시각화하여 동작(108)을 수행한다. 동작(108)은 예를 들어, 제품(102)의 설계를 변경하는 것, 제품(102)을 보고 공장 주문(shop order)을 위한 작업을 구성하는 것, 제품(102)의 제조 상태를 검토하는 것, 그리고 제품(102)의 시각화를 이용하여 수행될 수 있는 다른 적당한 타입들의 동작들을 중 하나로부터 선택될 수도 있다.
예시적인 예에서, 오퍼레이터(104)는 또한 컴퓨터, 소프트웨어, 또는 사용자 입력(109)을 생성할 수도 있는 다른 어떤 적당한 엔티티일 수도 있다. 이 경우, 오퍼레이터(104)는 고객들, 제조 직원, 또는 다른 적당한 사람들과 같은 휴먼 뷰어들로의 제시에서 3차원 모델(110)을 사용하여 제품(102)의 시각화를 발생시킬 수 있다.
이러한 예시적인 예에서, 제품 시각화 시스템(106)은 제품(102)의 시각화를 디스플레이한다. 제품 시각화 시스템(106)은 소프트웨어, 하드웨어, 펌웨어 또는 이들의 결합으로 구현될 수도 있다. 소프트웨어가 사용될 때, 제품 시각화 시스템(106)에 의해 수행되는 동작들은 프로세서 유닛과 같은 하드웨어 상에서 실행되도록 구성된 프로그램 코드로 구현될 수도 있다. 펌웨어가 사용될 때, 제품 시각화 시스템(106)에 의해 수행되는 동작들은 프로그램 코드 및 데이터로 구현되고 영구 메모리에 저장되어 프로세서 유닛 상에서 실행될 수도 있다. 하드웨어가 이용될 때, 하드웨어는 제품 시각화 시스템(106)에서 동작들을 수행하도록 작동하는 회로들을 포함할 수도 있다.
예시적인 예들에서, 하드웨어는 회로 시스템, 집적 회로, 주문형 집적 회로(ASIC: application-specific integrated circuit), 프로그래밍 가능한 로직 디바이스, 또는 다수의 동작들을 수행하도록 구성된 다른 어떤 적당한 타입의 하드웨어 형태를 취할 수도 있다. 프로그래밍 가능한 로직 디바이스에 의해, 디바이스는 다수의 동작들을 수행하도록 구성될 수도 있다. 디바이스는 나중에 재구성될 수도 있고 또는 다수의 동작들을 수행하도록 영구적으로 구성될 수도 있다. 프로그래밍 가능한 로직 디바이스는 예를 들어, 프로그래밍 가능한 로직 어레이, 프로그래밍 가능한 어레이 로직, 필드 프로그래밍 가능한 로직 어레이, 필드 프로그래밍 가능한 게이트 어레이 및 다른 적당한 하드웨어 디바이스들을 포함한다. 추가로, 프로세스들은 무기 컴포넌트들과 통합된 유기 컴포넌트들로 구현될 수도 있고 인간을 배제한 유기 컴포넌트들로 완전히 구성될 수도 있다. 예를 들어, 프로세스들은 유기 반도체들의 회로들로서 구현될 수도 있다.
도시된 바와 같이, 제품 시각화 시스템(106)은 컴퓨터 시스템(112)에 로케이팅될 수도 있다. 컴퓨터 시스템(112)은 하나 또는 그보다 많은 데이터 처리 시스템들을 포함하는 하드웨어 시스템이다. 하나보다 많은 데이터 처리 시스템이 존재할 경우, 그러한 데이터 처리 시스템들은 통신 매체를 사용하여 서로 통신할 수 있다. 통신 매체는 네트워크일 수도 있다. 데이터 처리 시스템들은 컴퓨터, 서버 컴퓨터, 워크스테이션, 태블릿 컴퓨터, 랩톱 컴퓨터, 모바일 전화, 또는 다른 어떤 적당한 데이터 처리 시스템 중 적어도 하나로부터 선택될 수도 있다.
본 명세서에서 사용되는 바와 같이, 항목들의 리스트와 관련하여 사용될 때 "~ 중 적어도 하나"라는 문구는 나열된 항목들 중 하나 또는 그보다 많은 항목의 서로 다른 결합들이 사용될 수도 있고 리스트 내 각각의 항목 중 단 하나만이 요구될 수도 있음을 의미한다. 즉, "~ 중 적어도 하나"는 리스트로부터 임의의 결합의 항목들 및 임의의 수의 항목들이 사용될 수도 있지만, 리스트 내 항목들 전부가 필요한 것은 아님을 의미한다. 항목은 특정 객체, 물건 또는 카테고리일 수도 있다.
예를 들어, 제한 없이, "항목 A, 항목 B 또는 항목 C 중 적어도 하나"는 항목 A, 항목 A와 항목 B, 또는 항목 B를 포함할 수도 있다. 이 예는 또한 항목 A, 항목 B, 그리고 항목 C 또는 항목 B와 항목 C를 포함할 수도 있다. 물론, 이러한 항목들의 임의의 결합들이 존재할 수도 있다. 일부 예시적인 예들에서, "~ 중 적어도 하나"는 예를 들어, 제한 없이, 항목 A 중 2개; 항목 B 중 하나; 그리고 항목 C 중 10개; 항목 B 중 4개와 항목 C 중 7개; 또는 다른 적당한 결합들일 수도 있다.
도시된 바와 같이, 제품(102)의 3차원 모델(110)은 컴퓨터 시스템(112)의 데이터베이스(114)에 저장된다. 예를 들어, 데이터베이스(114)는 컴퓨터 시스템(112)에서 제품 시각화 시스템(106)이 로케이팅되는 컴퓨터 또는 원격 컴퓨터 중 하나로부터 선택된 위치에 로케이팅될 수도 있다.
도시된 바와 같이, 데이터베이스(114)는 데이터의 조직화된 집합이다. 이러한 예시적인 예에서, 데이터는 3차원 모델(110)을 포함한다. 데이터베이스(114)는 또한 다른 모델들 또는 다른 타입들의 데이터를 포함할 수도 있다.
이러한 예시적인 예에서, 3차원 모델(110)은 예를 들어, 대용량 모델(116)일 수도 있다. 예시적인 예에서, 대용량 모델(116)은 모델의 전체 레벨 상세가 흔히 실시간 시각화 이상으로 충분히 크고 복잡한 모델이다. 추가로, 대용량 모델(116)의 크기는 흔히 현재 사용되고 있는 컴퓨터들의 컴퓨터 메모리 한계들을 초과한다. 예를 들어, 대용량 모델(116)이 민간 항공기 형태의 항공기에 대한 것일 때, 대용량 모델(116)은 7억 개의 다각형들을 가질 수도 있다. 이러한 수의 다각형들은 하드 디스크 드라이브 또는 다른 저장 시스템에서 20 기가바이트를 사용할 수 있다.
오퍼레이터(104)는 제품 시각화 시스템(106)을 사용하여 컴퓨터 시스템(112)에서 3차원 모델(110)을 검토함으로써 제품(102)을 시각화한다. 예를 들어, 제품 시각화 시스템(106)은 디스플레이 시스템(111) 상에 디스플레이되는 그래픽 사용자 인터페이스(120)에서 3차원 모델(110)을 디스플레이한다.
디스플레이 시스템(111)은 하드웨어 시스템이며, 그래픽 사용자 인터페이스(120)가 디스플레이될 수 있는 하나 또는 그보다 많은 디스플레이 디바이스들을 포함한다. 도시된 바와 같이, 3차원 모델(110)이 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에 디스플레이된다. 디스플레이 디바이스들은 발광 다이오드 디스플레이(LED: light-emitting diode display), 액정 디스플레이(LCD: liquid crystal display), 유기 발광 다이오드 디스플레이(OLED: organic light-emitting diode display), 또는 그래픽 사용자 인터페이스(120)가 디스플레이될 수 있는 다른 어떤 적당한 디바이스 중 적어도 하나를 포함할 수도 있다. 오퍼레이터(104)는 컴퓨터 시스템(112)의 입력 디바이스(126)에 의해 생성된 사용자 입력(109)을 통해 그래픽 사용자 인터페이스(120)와 상호 작용할 수도 있다. 입력 디바이스(126)는 예를 들어, 마우스, 키보드, 트랙볼, 터치스크린, 스타일러스, 또는 다른 어떤 적당한 타입의 입력 디바이스일 수도 있다.
예시적인 예에서, 오퍼레이터(104)가 컴퓨터, 소프트웨어, 또는 다른 어떤 적당한 엔티티인 경우에, 오퍼레이터(104)는 오퍼레이터(104)가 컴퓨터 또는 소프트웨어일 때 컴퓨터 또는 소프트웨어에 의해 생성된 프로그램 입력의 형태로 사용자 입력(109)을 생성할 수도 있다. 프로그램 입력은 커맨드들, 데이터, 스크립트들, 또는 제품 시각화 시스템(106)과 상호 작용하는 데 사용될 수 있는 다른 적당한 정보일 수도 있다. 예를 들어, 입력 디바이스(126)는 오퍼레이터(104)가 소프트웨어일 때 제품 시각화 시스템(106)에 사용자 입력(109)을 전송하는 애플리케이션 프로그래밍 인터페이스들일 수도 있다.
제품 시각화 시스템(106)의 동작 동안, 제품 시각화 시스템(106)은 컴퓨터 시스템(112)에서 제품(102)의 3차원 모델(110)에 액세스한다. 이러한 예시적인 예에서, 3차원 모델(110)은 객체들(130) 및 객체들(130)의 서로에 대한 공간적 관계(132)를 포함한다. 즉, 객체들(130) 중의 객체는 객체를 디스플레이하는 데 사용되는 객체의 설명을 포함할 수도 있고, 객체들(130) 중의 다른 객체들에 대한 관계들에 관한 정보를 포함할 수도 있다. 객체들(130)은 예를 들어, 디스플레이할 객체들(130)의 3차원 형상을 형성하는 다각형들일 수도 있다.
예시적인 예에서, 3차원 모델(110)의 객체들(130)은 제품(102) 내 부품들(133)을 나타낸다. 제품(102)이 항공기일 때, 부품들(133)은 객체들(130)의 물리적 실현들의 디지털 버전들이다. 부품은 예를 들어, 볼트, 패널, 날개, 하우징, 플랩, 기어 시스템, 파이프, 밸브, 모터, 조립품, 하위 부품(subassembly), 또는 다른 어떤 적당한 타입의 부품일 수도 있다.
도시된 바와 같이, 객체들(130) 사이의 공간적 관계(132)는 예를 들어, 객체들(130) 중의 다른 객체에 대해 객체가 어떻게 포지셔닝되는지에 관한 스케일, 방향 또는 위치 중 적어도 하나를 설명할 수도 있다. 예시적인 예에서, 위치는 3차원 모델(110) 내의 제품(102)에 대한 좌표 시스템에서 변환 행렬로 설명될 수도 있다.
도시된 바와 같이, 제품 시각화 시스템(106)은 컴퓨터 시스템(112)에서 디스플레이 시스템(111) 상에 디스플레이될 3차원 모델(110) 내 객체들(130)의 그룹을 식별한다. 도시된 바와 같이, 제품(102)의 부분(136)을 선택하는 사용자 입력(109)에 적용되는 정책(134)을 기초로 객체들(130)의 그룹이 식별된다.
이 예시적인 예에서, 3차원 모델(110)의 객체들(130)은 속성들(138)과 연관된다. 도시된 바와 같이, 속성들(138)은 객체들(130)이 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에 디스플레이될지 여부를 표시하는 데 사용된다. 도시된 바와 같이, 속성들(138)은 객체들(130)의 디스플레이 상태를 표시한다. 제품 시각화 시스템(106)은 객체들(130)의 그룹에서 각각의 객체에 대한 속성들(138)의 그룹에 값(140)을 할당한다. 속성들(138)의 그룹에 할당된 값(140)은 객체들(130)의 그룹이 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에 디스플레이되어야 함을 표시하고, 값(140)이 없는 속성들(138)을 갖는 객체들(130) 중의 다른 객체들은 디스플레이되지 않는다.
제품 시각화 시스템(106)은 객체들(130)에 대한 속성들(138)을 출력하는데, 여기서 객체들(130)에 대한 속성들(138)을 사용하여 디스플레이 시스템(111) 상에 객체들(130)의 그룹이 3차원으로 디스플레이되어, 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에서 제품(102)의 3차원 모델(110)을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.
제품(102)의 시각화에 의해, 오퍼레이터(104)가 동작(108)을 수행할 수 있다. 예를 들어, 오퍼레이터(104)는 제품(102)의 설계를 변경하고, 부품들을 주문하고, 작업장 주문들을 셋업하고, 제품(102)의 성능을 분석하고, 다른 적당한 타입들의 동작들을 수행할 수도 있다.
한 예시적인 예에서, 제품 관리 시스템(148)을 제어하도록 동작(108)이 수행될 수도 있다. 예를 들어, 3차원 모델(110)에 반영된 것과 같은 제품(102)의 설계에 대한 변경들이 구현을 위해 제품 관리 시스템(148)에 전송될 수 있다. 다른 예로서, 오퍼레이터(104)는 동작(108)의 수행시 제품 관리 시스템(148)에 대해 작업장 주문을 할당 또는 생성할 수도 있다.
다음에 도 2를 참조하면, 한 예시적인 실시예에 따라 3차원 모델의 디스플레이에서 데이터 흐름의 블록도의 예시가 도시된다. 예시적인 예들에서는, 하나보다 많은 도면에 동일한 참조 번호가 사용될 수 있다. 서로 다른 도면들에서 참조 번호의 이러한 재사용은 서로 다른 도면들에서 동일한 엘리먼트들을 나타낸다. 이 도면에서, 컴퓨터 시스템(112)의 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에서 제품(102)의 디스플레이시 발생하는 데이터 흐름의 일례가 도시된다.
이 예시적인 예에서, 3차원 모델(110)을 포함하는 데이터베이스(114)는 저장 시스템(200) 및 컴퓨터 시스템(112)에 도시된다. 저장 시스템(200)은 하나 또는 그보다 많은 저장 디바이스들이며 메인 메모리(202)와는 별개이다. 저장 시스템(200)에 하나보다 많은 저장 디바이스가 존재하는 경우, 그러한 저장 디바이스들은 컴퓨터 시스템(112)과 동일한 또는 상이한 데이터 처리 시스템들에 있을 수도 있다. 도시된 바와 같이, 저장 시스템(200)은 하드디스크 드라이브, 솔리드 스테이트 드라이브, 랜덤 액세스 메모리, 또는 다른 어떤 적당한 타입의 저장 디바이스 중 적어도 하나로부터 선택될 수도 있다.
도시된 바와 같이, 3차원 모델(110)의 객체들은 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에서의 디스플레이를 위해 메인 메모리(202)에 로드된다. 도시된 바와 같이, 메인 메모리(202)는 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에 3차원 모델(110)을 디스플레이하기 위한 가장 빠른 액세스 시간을 제공하는 메모리이다.
예시적인 예에서, 버퍼(204)는 메인 메모리(202)의 일부를 사용하여 셋업된다. 버퍼(204)는 데이터를 일시적으로 저장하는 데 사용되는 메인 메모리(202) 영역이다. 이 예에서, 버퍼(204)는 3차원 모델(110)의 객체들(130)의 부분(206)을 저장한다. 객체들(130)의 부분(206)은 사용자 입력(109)을 기초로 디스플레이를 위해 부분(206) 내의 객체들(130)이 요구되어야 하는 경우에 객체들(130) 중에서 버퍼(204)에 배치되는 객체들일 수도 있다.
부분(206)에서 객체들(130)의 선택은 다수의 서로 다른 방식들로 수행될 수도 있다. 예를 들어, 제품 시각화 시스템(106)은 오퍼레이터(104)에 의해 다음에 제품(102)의 어떤 부분이 보이게 될 수 있는지를 예측하는 예측 프로세스를 포함할 수도 있다. 보일 것으로 예상되는 부분에 있는 객체들(130) 내의 객체들이 저장 시스템(200)의 데이터베이스(114)로부터 리트리브되어 메인 메모리(202)의 버퍼(204)에 배치된다.
이런 식으로, 저장 시스템(200) 내의 객체들에 액세스하는데 필요한 시간은 그러한 객체들을 버퍼(204)에 이미 저장함으로써 피할 수 있다. 컴퓨터 시스템(112)의 특정 구성에 따라 제품(102)에 대한 3차원 모델(110)의 객체들(130) 전체가 디스플레이될 수도 있다.
물론, 객체들(130)의 부분(206)을 버퍼링하기 위한 다른 기술들이 예측 프로세스에 추가로 또는 예측 프로세스 대신 사용될 수도 있다. 예를 들어, 프로세스들은 어떤 다각형들이 가장 잘 보이는지의 식별, 에지 병합 및 다른 적당한 기술들을 포함할 수도 있다.
예시적인 예에서, 처음에는 제품(102) 전체가 디스플레이될 수도 있다. 제품(102)의 디스플레이는 3차원 모델(110) 전체가 메인 메모리(202)에 로드되는 것을 의미하는 것은 아니다. 제품 시각화 시스템(106)에 의해 발생되는 제품(102)의 초기 뷰 또는 디폴트 뷰로서 제품(102) 전체의 디스플레이가 발생할 수도 있다.
렌더링 워크세트를 감소시키기 위한 상이한 기술들이 이용될 수도 있다. 예를 들어, 보일 것으로 결정되는 다각형들만이 렌더링될 수 있고, 기하학적 근사들이 사용될 수 있으며, 제품(102)을 디스플레이하는데 필요한 처리 자원들의 양을 감소시키기 위해 다른 기술들이 사용될 수도 있다. 이러한 예시적인 예들에서, 렌더링은 디스플레이 시스템(111) 상에 디스플레이할 모델로부터 이미지를 생성하는 프로세스이다.
도시된 바와 같이, 오퍼레이터(104)는 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에 디스플레이되는 제품(102)의 3차원 모델(110)과 상호 작용한다. 이러한 상호 작용은 입력 디바이스(126)를 통해 오퍼레이터(104)로부터 수신된 사용자 입력(109)의 형태를 취할 수도 있다.
이러한 예시적인 예에서, 사용자 입력(109)은 디스플레이할 제품(102)의 부분(136)을 선택한다. 특히, 부분(136)은 객체들(130)의 그룹이다.
도시된 바와 같이, 사용자 입력(109)은 다수의 서로 다른 방식들로 제품(102)의 부분(136)을 선택할 수도 있다. 예를 들어, 사용자 입력(109)은 제품의 부분을 식별하는 문자열, 제품의 부분의 시각적 선택, 제품에서 부품들의 그룹의 설치 상태를 표시하는 공장 주문들의 그룹의 선택, 제품이 조립되는 위치들로부터 제품의 위치 선택, 클리핑 박스(clipping box) 중 적어도 하나로부터 또는 다른 어떤 적당한 방식으로 선택될 수도 있다.
제품 시각화 시스템(106)은 객체들(130)의 그룹을 선택하기 위한 사용자 입력(109)에 정책(134)을 적용한다. 예를 들어, 정책(134)은 조립 프로세스에서 제품(102)의 위치, 조립 상태, 부분(136)에서 객체들로 표현되는 부품들(133)의 상태를 식별하는 작업장 주문들의 상태, 부분에서 부품들(133)의 조립 상태, 또는 다른 어떤 적당한 규칙 중 적어도 하나를 기초로 3차원 모델(110)에서 보이는 객체들(130)을 식별할 수 있다.
사용자 입력(109) 및 정책(134)을 사용하여 객체들(130)의 그룹을 식별하는 것을 기초로, 제품 시각화 시스템(106)은 속성들(138)의 그룹에 값(140)을 할당한다. 속성들(138)의 그룹은 속성들(138) 중에서 식별된 객체들(130)의 그룹에 대한 것인 하나 또는 그보다 많은 속성들이다. 값(140)은 다양한 형태들을 취할 수도 있다.
예를 들어, 값(140)은 논리값, 숫자, 문자열, 또는 객체가 보여야 하는지 아니면 보이지 않아야 하는지를 표시하는 다른 어떤 적당한 방식일 수도 있다. 보이지 않는 객체들(130)은 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에 디스플레이되지 않는 객체들(130)이다.
이러한 예시적인 예에서, 제품 시각화 시스템(106)은 다수의 서로 다른 방식들로 객체들(130)의 그룹을 디스플레이할 수 있다. 이러한 예시적인 예에서, 제품 시각화 시스템(106)은 렌더링 시스템(208)에 속성들(138)을 전송함으로써 객체들(130)의 그룹을 디스플레이한다. 즉, 제품 시각화 시스템은 렌더링 시스템(208)에 전송되는 속성들(138)을 출력한다.
렌더링 시스템(208)은 속성들(138)을 사용하여 디스플레이 시스템(111) 상의 그래픽 사용자 인터페이스(120)에서 객체들(130)을 선택적으로 디스플레이한다. 예시적인 예에서, 다양한 타입들의 그래픽 인터페이스들을 사용하여 렌더링 시스템(208)이 구현될 수도 있다. 예를 들어, 렌더링 시스템(208)은 오픈 그래픽스 라이브러리(OpenGL: Open Graphics Library), 마이크로소프트 DirectX, 또는 다른 어떤 적당한 인터페이스를 사용하여 구현될 수도 있다.
예시된 예에서, 객체들(130)의 그룹의 식별에 응답하여 데이터베이스(114)로부터 메인 메모리(202)로 3차원 모델(110)의 객체들(130)을 로드하는 것 또는 메인 메모리(202)로부터 3차원 모델(110)의 객체들(130)을 언로드하는 것 중 적어도 하나가 없이도 객체들(130)의 그룹의 디스플레이가 발생한다. 예를 들어, 저장 시스템(200)의 데이터베이스(114)로부터 메인 메모리(202)로 객체들(130)의 그룹을 로드하는 것 그리고 메인 메모리(202)로부터 3차원 모델(110)의 객체들(130)을 언로드하는 것은 객체들의 그룹을 디스플레이하는 데 필요하지 않다.
즉, 메인 메모리(202)로부터 객체들(130)의 그룹 또는 객체들(130) 중의 다른 객체들의 로드 또는 언로드는 디스플레이할 객체들(130)의 그룹의 식별에 응답하여 발생하지 않는다. 제품 시각화 시스템(106)을 사용하여 3차원 모델(110) 내 객체들(130)의 그룹의 디스플레이를 변경할 때 객체들(130)의 그룹의 로드 또는 언로드는 필요하지 않다. 그 결과, 원격 저장소가 데이터베이스(114) 또는 다른 어떤 원격 위치로부터 객체들(130)의 그룹을 디스플레이하는 데 사용되는 데이터에 액세스하기 위한 더 느린 액세스 시간 및 병목 현상들과 같은 성능 저하가 방지된다.
따라서 예시적인 예는 현재 이용 가능한 컴퓨터 시스템들을 사용하여 모델과의 원하는 레벨의 상호 작용을 제공하는 데 있어서의 기술적 문제점을 극복하는 하나 또는 그보다 많은 기술적 솔루션들을 제공하는 방법 및 장치를 제공한다. 예를 들어, 기술적 솔루션들 중 하나 또는 그보다 많은 기술적 솔루션은 현재 이용 가능한 컴퓨터 시스템들의 사용과 비교할 때 대용량 모델의 임의의 선택된 서브세트와의 원하는 성능 레벨의 상호 작용을 제공할 수 있다.
예를 들어, 원하는 레벨의 상호 작용은 사용자 입력(109)에 응답하여 원하는 만큼 신속하게 3차원 모델(110)에 대한 변경들을 디스플레이하는 것을 통해 발생할 수도 있다. 예를 들어, 5초 또는 그 미만 이내에 변경들을 디스플레이하는 것은 원하는 레벨의 상호 작용을 제공할 수 있다. 제품 시각화 시스템(106)은 3차원 모델(110)이 대용량 모델(116)의 형태를 취하는 경우에 특히, 원하는 레벨의 성능으로 3차원 모델(110)을 디스플레이하는 것을 가능하게 한다.
그 결과, 컴퓨터 시스템(112)은 컴퓨터 시스템(112) 내의 제품 시각화 시스템(106)이 제품(102)에 대한 3차원 모델(110)을 원하는 레벨의 성능으로 시각화하는 것을 가능하게 하는 특수 목적의 컴퓨터 시스템으로서 동작한다. 특히, 제품 시각화 시스템(106)은 제품 시각화 시스템(106)을 갖지 않는 현재 이용 가능한 일반 컴퓨터 시스템들과 비교할 때 컴퓨터 시스템(112)을 특수 목적의 컴퓨터 시스템으로 변환한다. 제품 시각화 시스템(106)은 초당 원하는 수의 프레임들과 같은 원하는 레벨의 성능으로 디스플레이 시스템(111)의 그래픽 사용자 인터페이스(120) 상에 3차원 모델(110)을 디스플레이하는 것을 가능하게 한다.
디스플레이 시스템(111)의 그래픽 사용자 인터페이스(120) 상에서 3차원 모델(110)의 이러한 디스플레이는 3D 서브시스템 형태의 렌더링 시스템(208)을 사용하여 수행될 수도 있다. 3D 서브시스템은 그래픽 프로세서 유닛들의 그룹, 그래픽 프로세서 유닛들의 그룹에 할당된 메모리, 및 다른 적당한 컴포넌트들을 포함하는 하드웨어 시스템이다. 3D 서브시스템은 그래픽 카드로 또는 다른 어떤 적당한 방식으로 구현될 수도 있다. 즉, 제품 시각화 시스템(106)은 3차원 모델(110)의 디스플레이를 조작하기 위한 오퍼레이터(104)로부터의 사용자 입력(109)에 응답하여 컴퓨터 시스템(112)이 3차원 모델(110)의 변경들을 보다 신속하게 디스플레이할 수 있게 하는 방식으로 컴퓨터 시스템(112)에서의 자원들의 보다 효율적인 사용을 가능하게 한다.
도 1에서 제품 관리 환경(100) 및 이러한 환경에서의 서로 다른 컴포넌트들의 예시는 예시적인 실시예가 구현될 수 있는 방식에 대한 물리적 또는 구성적인 제한들을 의미하는 것으로 여겨지는 것은 아니다. 예시된 것들에 추가로 또는 그 대신 다른 컴포넌트들이 사용될 수도 있다. 일부 컴포넌트들을 불필요할 수도 있다. 또한, 일부 기능적 컴포넌트들을 예시하기 위해 블록들이 제시된다. 이러한 블록들 중 하나 또는 그보다 많은 블록은 예시적인 실시예로 구현될 때 서로 다른 블록들로 결합되거나, 나뉘거나, 또는 결합되고 나뉠 수도 있다.
예를 들어, 제품 시각화 시스템(106)은 렌더링 시스템(208)에 속성들(138)을 전송하는 대신 속성들(138)을 사용하여 객체들(130)을 렌더링함으로써 객체들(130)의 그룹을 디스플레이할 수도 있다. 즉, 제품 시각화 시스템(106)은 객체들(130)을 렌더링하기 위한 프로세스들을 구현할 수 있다.
다른 예시적인 예들에서, 객체들(130)은 물리적인 부품들에 대응하지 않을 수도 있다. 예를 들어, 제품(102)이 네트워크라면, 객체들(130)은 네트워크의 네트워크 노드들에 대응할 수도 있다.
다른 예시적인 예에서, 3차원 모델(110)은 객체들(130) 및 공간적 관계(132) 외에도 다른 정보를 포함할 수도 있다. 예를 들어, 3차원 모델(110)은 또한 객체를 설명하는 정보를 포함할 수도 있다. 이 정보는 예를 들어, 객체로 표현되는 부품을 생성하는 데 사용될 수 있는 객체에 대한 재료들, 객체로 표현되는 부품을 생성하기 위한 프로세스들, 또는 다른 적당한 정보를 포함할 수도 있다. 이러한 타입의 정보는 객체들(130)에 대한 메타데이터로 지칭될 수도 있다.
다음에 도 3 - 도 7을 참조하면, 한 예시적인 실시예에 따라 그래픽 사용자 인터페이스에서 항공기 형태인 제품의 3차원 모델의 디스플레이의 예시들이 도시된다. 도 1의 제품 시각화 시스템(106)을 사용하여 3차원 모델의 서로 다른 뷰들이 생성된다.
먼저 도 3을 참조하면, 한 예시적인 실시예에 따라 그래픽 사용자 인터페이스에 디스플레이되는 항공기의 3차원 모델의 예시가 도시된다. 도시된 바와 같이, 그래픽 사용자 인터페이스(302)에 항공기(300)가 도시된다. 그래픽 사용자 인터페이스(302)는 도 1과 도 2에서 블록 형태로 도시된 그래픽 사용자 인터페이스(120)에 대한 구현의 일례이다. 항공기(300)는 제조되었을 수도 있는 또는 제조되지 않았을 수도 있는 또는 제조되고 있는 프로세스에 있는 실제 물리적 항공기에 대한 3차원 모델의 시각화이다.
도시된 바와 같이, 그래픽 사용자 인터페이스(302)에 항공기(300)의 디폴트 뷰가 도시된다. 이러한 특정 예의 디폴트 뷰는 항공기(300) 전체를 보여주기 위한 것이다.
다음에 도 4를 참조하면, 한 예시적인 실시예에 따라 그래픽 사용자 인터페이스에 디스플레이되는 항공기의 더 자세한 뷰의 예시가 도시된다. 이러한 뷰에서, 사용자 입력은 그래픽 사용자 인터페이스(302)에 디스플레이되는 항공기(300)의 더 자세한 뷰로 확대되었다.
도 5를 참조하면, 한 예시적인 실시예에 따라 그래픽 사용자 인터페이스에 디스플레이되는 항공기 일부분의 선택에 대한 3차원 모델의 예시가 도시된다. 도시된 바와 같이, 사용자 입력은 항공기(300)의 부분(500)을 선택하였다. 이러한 예시적인 예에서, 부분(500)은 클리핑 박스(502)를 사용하여 선택된다.
다음에 도 6을 참조하면, 한 예시적인 실시예에 따라 그래픽 사용자 인터페이스에 디스플레이되는 항공기 일부분의 예시가 도시된다. 이 예에서는, 항공기(300)의 내부(600)가 보일 수 있다. 도시된 바와 같이, 항공기(300)의 내부(600) 안에서 좌석들(602) 및 머리 위 짐칸들(604)이 보인다.
이러한 내부 뷰는 제품 시각화 시스템(106)을 사용하지 않고 디스플레이될 뷰이다. 이러한 예시적인 예에서, 제품 시각화 시스템(106)은 항공기(300)의 부분(500)을 나타내는 객체들의 그룹을 식별하고 이러한 객체들의 그룹에 정책을 적용한다.
예를 들어, 정책은 항공기(300) 제조시 특정 단계에서 조립 상태에 있는 부분(500) 내 객체들만을 디스플레이하는 규칙을 포함할 수도 있다. 예를 들어, 특정 단계 또는 조립 상태에서, 좌석들(602) 및 머리 위 짐칸들(604)은 항공기(300)에 아직 설치되지 않았다.
항공기(300)의 이러한 조립 상태가 시각화될 수도 있다. 제품 시각화 시스템(106)은 부분(500)에서 시각화되어야 하는 객체들의 그룹과 연관된 속성들에 대한 값을 설정한다. 예를 들어, 좌석들(602) 및 머리 위 짐칸들(604)을 제외한 모든 객체들은 논리 "1"로 설정될 수도 있다. 좌석들(602) 및 머리 위 짐칸들(604)은 논리 "0"으로 설정될 수도 있다. 이러한 속성들은 어떤 객체가 디스플레이되어야 하는지를 결정하는 데 사용된다.
도 6의 항공기(300)의 뷰는 이 예에서는 오퍼레이터에게 실제로 디스플레이되지 않는다. 물론, 다른 예시적인 예들에서, 항공기(300)의 내부(600)의 이러한 뷰는 제품 시각화 시스템(106)이 부분(500) 내의 객체들의 그룹에 정책을 적용하기 전에 디스플레이될 수도 있다.
다음에 도 7을 참조하면, 한 예시적인 실시예에 따라 그래픽 사용자 인터페이스에 디스플레이되는 항공기 일부분의 예시가 도시된다. 항공기(300)의 이러한 뷰는 항공기(300)의 부분(500)을 선택하는 사용자 입력을 기초로 디스플레이된다. 항공기(300)의 부분(500) 내 객체들의 그룹의 이러한 디스플레이는 부분(500) 내의 객체들을 로드 또는 언로드할 필요 없이 이루어진다.
이런 식으로, 사용자 입력을 기초로 항공기의 부분들을 보는 성능이 원하는 레벨의 성능으로 발생할 수 있다. 예를 들어, 부분(500)의 디스플레이는 오퍼레이터에 의한 빠른 보기를 제공하기에 충분히 원활하고 신속하게 발생할 수도 있다.
도 3 - 도 7에서 3D 서브시스템을 사용하여 렌더링되는 것과 같은 그래픽 사용자 인터페이스에서의 항공기 모델의 디스플레이 및 시각화할 항공기 부분의 선택의 예시들은 단지 제품 시각화 시스템에 대한 그래픽 사용자 인터페이스가 구현되는 한 가지 방식의 예들로서 제공될 뿐이다. 예를 들어, 디스플레이될 객체들의 그룹을 식별하는 데 사용되는 항공기 부분의 선택은 클리핑 박스에 추가로 또는 그 대신에 다른 타입들의 사용자 입력을 사용하여 이루어질 수도 있다. 예를 들어, 사용자 입력은 항공기(300)의 부분(500)을 식별하는, 입력되는 텍스트일 수도 있다. 다른 예시적인 예에서, 부분(500)은 포인터를 부분(500)으로 이동하여 부분(500)을 더블클릭함으로써 그 부분의 선택으로서 미리 정해질 수도 있다.
추가로, 3차원 모델은 항공기 형태의 제품에 대한 것이다. 다른 예시적인 예들에서, 3차원 모델은 제품들 및 다른 형태들, 이를테면, 예를 들어 수상함, 엔진, 발전소, 또는 다른 어떤 적당한 타입의 제품에 대한 것일 수도 있다.
다른 예로서, 속성들은 논리 "0" 및 논리 "1" 이외의 다른 값들로 주어질 수도 있다. 예를 들어, 속성은 디스플레이되어야 하는 객체들의 그룹에 대해 "보이는" 문자열을 포함할 수도 있다. 속성은 디스플레이되지 않아야 하는 객체들의 그룹에 대해 "숨겨진" 문자열을 포함할 수도 있다.
또 다른 예시적인 예에서, 정책은 항공기에 대한 조립 상태 이외의 규칙일 수도 있다. 예를 들어, 규칙은 부분(500)의 선택이 이루어질 때 부분(500) 내의 완성된 공장 주문들을 갖는 부품들을 객체들이 나타내는 경우에 객체들이 보이는 것일 수도 있다. 다른 예에서, 이들은 특정 날짜에 완성된 부품들을 나타내는 객체들일 수도 있다.
이제 도 8을 참조하면, 한 예시적인 실시예에 따라 제품을 디스플레이하기 위한 프로세스의 흐름도의 예시가 도시된다. 도 8에 예시된 프로세스는 제품 관리 환경(100)에서 구현될 수도 있다. 예를 들어, 프로세스는 제품 시각화 시스템(106)에 의해 제품(102)에 대한 3차원 모델(110)을 디스플레이하도록 구현될 수도 있다.
컴퓨터 시스템에서 제품의 3차원 모델에 액세스(동작(800))함으로써 프로세스가 시작된다. 3차원 모델은 객체들 및 객체들의 서로에 대한 공간적 관계를 포함한다.
프로세스는 제품의 부분을 선택하는 사용자 입력에 적용되는 정책을 기초로 컴퓨터 시스템의 디스플레이 시스템 상에 디스플레이될 3차원 모델 내 객체들의 그룹을 식별한다(동작(802)). 프로세스는 객체들의 그룹과 연관된 속성들의 그룹에 값을 할당한다(동작(804)). 속성들의 그룹에 할당된 값은 객체들의 그룹이 디스플레이 시스템 상에 디스플레이되어야 함을 표시하며, 여기서 객체들 중에서 값이 없는 속성들을 갖는 다른 객체들은 디스플레이되지 않는다.
프로세스는 객체들과 연관된 속성들을 출력하며, 여기서 객체들과 연관된 속성들을 사용하여 객체들의 그룹이 3차원으로 디스플레이된다(동작(806)). 프로세스는 객체들과 연관된 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹을 3차원으로 디스플레이하며(동작(808)), 이후 프로세스가 종료한다.
이 도면에 예시된 프로세스는 디스플레이 시스템 상에서 제품의 3차원 모델을 시각화할 때 원하는 레벨의 성능을 가능하게 한다. 예를 들어, 원하는 레벨의 성능은 초당 10개의 프레임들 또는 더 양호한 것과 같은 초당 프레임들을 기초로 할 수도 있다. 이런 식으로, 디스플레이 시스템(111)의 그래픽 사용자 인터페이스(120)에서 3D 서브시스템에 의해 렌더링되는 3차원 모델(110)의 디스플레이의 변경이 3차원 모델(110)의 오퍼레이터 또는 다른 뷰어에 대해 원하는 만큼 원활하고 신속하게 발생할 수 있다.
이제 도 9를 참조하면, 한 예시적인 실시예에 따라 3차원 모델 내 객체들과 연관된 속성들에 값을 할당하기 위한 프로세스의 흐름도의 예시가 도시된다. 도 9에 예시된 프로세스는 도 8의 동작(804)에 대한 한 구현의 예이다.
메인 메모리에서 객체들을 식별(동작(900))함으로써 프로세스가 시작된다. 프로세스는 식별된 객체들과 연관된 속성들을, 객체들이 디스플레이되어야 함을 표시하는 디폴트 값으로 설정한다(동작(902)). 그 다음, 프로세스는 처리할 객체를 선택한다(동작(904)).
프로세스는 디스플레이될 객체들의 그룹 내에 그 객체가 있는지 여부를 결정한다(동작(906)). 디스플레이될 객체들의 그룹 내에 그 객체가 없다면, 프로세스는 객체가 디스플레이되지 않아야 함을 표시하는 값을 그 객체와 연관된 속성에 할당한다(동작(908)).
그 다음, 처리되지 않은 객체가 존재하는지 여부에 관해 결정이 이루어진다(동작(910)). 처리되지 않은 객체가 존재한다면, 프로세스는 동작(904)으로 돌아간다. 그렇지 않고, 처리되지 않은 객체가 존재하지 않는다면, 프로세스는 객체들을 속성들과 함께 3D 서브시스템에 전송하며(동작(912)), 이후 프로세스가 종료한다.
동작(912)에서, 객체들 및 속성들은 디스플레이 시스템 상의 그래픽 사용자 인터페이스에 디스플레이되도록 렌더링하기 위해 3D 서브시스템에 전송된다. 다시 동작(906)을 참조하면, 객체가 디스플레이될 객체들의 그룹에 있다면, 프로세스는 앞서 설명한 것과 같은 동작(910)으로 진행한다.
서술된 서로 다른 실시예들의 흐름도들 및 블록도들은 예시적인 실시예에서 장치들 및 방법들의 어떤 가능한 구현들의 아키텍처, 기능 및 동작을 예시한다. 이와 관련하여, 흐름도들 또는 블록도들의 각각의 블록은 모듈, 세그먼트, 기능, 또는 동작이나 단계의 일부 중 적어도 하나를 나타낼 수도 있다. 예를 들어, 블록들 중 하나 또는 그보다 많은 블록은 프로그램 코드로서, 하드웨어로, 또는 프로그램 코드와 하드웨어의 결합으로서 구현될 수도 있다. 하드웨어로 구현될 때, 하드웨어는 예를 들어, 흐름도들 또는 블록도들의 하나 또는 그보다 많은 동작들을 수행하도록 제조 또는 구성되는 집적 회로들의 형태를 취할 수도 있다. 프로그램 코드와 하드웨어의 결합으로서 구현될 때, 그 구현은 펌웨어의 형태를 취할 수도 있다.
예시적인 실시예의 어떤 대안적인 구현들에서, 블록들에서 언급된 기능 또는 기능들은 도면들에 표기된 순서와 다르게 발생할 수도 있다. 예를 들어, 어떤 경우들에는 수반되는 기능에 따라, 잇따라 도시된 2개의 블록들이 실질적으로 동시에 수행될 수도 있고, 또는 블록들이 간혹 역순으로 수행될 수도 있다. 또한, 흐름도 또는 블록도에서 예시된 블록들 외에도 다른 블록들이 추가될 수 있다.
예를 들어, 도 9의 흐름도에서, 객체들과 연관된 모든 속성들은 동작(902)에서 디폴트로서, 객체가 디스플레이되어야 함을 표시하는 값으로 설정될 수 있다. 그 다음, 동작(908)에서는, 디스플레이되지 않아야 하는 객체들이 식별될 수 있고 그러한 객체들과 연관된 속성들이 제 2 값으로 설정된다. 다른 예시적인 예에서, 속성들은 객체들을 디스플레이하지 않도록 디폴트로 설정될 수도 있고, 디스플레이되도록 식별된 객체들과 연관된 속성들은 값이 변경된다.
이제 도 10을 참조하면, 한 예시적인 실시예에 따른 데이터 처리 시스템의 블록도의 예시가 도시된다. 컴퓨터 시스템(112)에서 하나 또는 그보다 많은 데이터 처리 시스템들을 구현하기 위해 데이터 처리 시스템(1000)이 사용될 수 있다. 이 예시적인 예에서, 데이터 처리 시스템(1000)은 통신 워크프레임(1002)을 포함하는데, 이는 프로세서 유닛(1004), 메모리(1006), 영구 저장소(1008), 통신 유닛(1010), 입력/출력(I/O: input/output) 유닛(1012) 그리고 디스플레이(1014) 간의 통신들을 제공한다. 이 예에서, 통신 워크프레임(1002)은 버스 시스템의 형태를 취할 수도 있다.
프로세서 유닛(1004)은 메모리(1006)에 로드될 수 있는 소프트웨어에 대한 명령들을 실행하는 역할을 한다. 프로세서 유닛(1004)은 특정 구현에 따라 다수의 프로세서들, 다중 프로세서 코어, 또는 다른 어떤 타입의 프로세서일 수도 있다.
메모리(1006) 및 영구 저장소(1008)는 저장 디바이스들(1016)의 예들이다. 저장 디바이스는 제한 없이 예를 들어, 데이터, 함수 형태의 프로그램 코드, 또는 다른 적당한 정보 중 적어도 하나와 같은 정보를 임시적으로나, 영구적으로나, 또는 임시적으로도 그리고 영구적으로도 저장할 수 있는 하드웨어의 임의의 부분이다. 저장 디바이스들(1016)은 또한 이러한 예시적인 예들에서 컴퓨터 판독 가능 저장 디바이스로 지칭될 수도 있다.
이러한 예들에서, 메모리(1006)는 예를 들어, 랜덤 액세스 메모리 또는 임의의 다른 적당한 휘발성 또는 비휘발성 저장 디바이스일 수도 있다. 메모리(1006)는 도 2의 메인 메모리(202)의 일례이다.
영구 저장소(1008)는 특정 구현에 따라 다양한 형태를 취할 수도 있다. 예를 들어, 영구 저장소(1008)는 하나 또는 그보다 많은 컴포넌트들 또는 디바이스들을 포함할 수도 있다. 예를 들어, 영구 저장소(1008)는 하드디스크 드라이브, 플래시 메모리, 재기록이 가능한 광 디스크, 솔리드 스테이트 드라이브, 재기록이 가능한 자기 테이프, 또는 상기의 어떤 결합일 수도 있다. 영구 저장소(1008)에 의해 사용되는 매체는 또한 착탈식일 수도 있다. 예를 들어, 착탈식 하드 디스크 드라이브가 영구 저장소(1008)에 사용될 수도 있다.
이러한 예시적인 예들에서, 통신 유닛(1010)은 다른 데이터 처리 시스템들 또는 디바이스들과의 통신들을 제공한다. 이러한 예시적인 예들에서, 통신 유닛(1010)은 네트워크 인터페이스 카드이다.
입력/출력 유닛(1012)은 데이터 처리 시스템(1000)에 접속될 수 있는 다른 디바이스들과의 데이터 입력 및 출력을 가능하게 한다. 예를 들어, 입력/출력 유닛(1012)은 키보드, 마우스, 또는 다른 어떤 적당한 입력 디바이스 중 적어도 하나를 통해 사용자 입력에 대한 접속을 제공할 수도 있다. 추가로, 입력/출력 유닛(1012)은 프린터에 출력을 전송할 수도 있다. 디스플레이(1014)는 사용자에게 정보를 디스플레이하기 위한 메커니즘을 제공한다.
운영 시스템, 애플리케이션들 또는 프로그램들 중 적어도 하나에 대한 명령들이 저장 디바이스들(1016)에 로케이팅될 수 있는데, 저장 디바이스들(1016)은 통신 프레임워크(1002)를 통해 프로세서 유닛(1004)과 통신한다. 메모리(1006)와 같은 메모리에 로케이팅될 수도 있는 컴퓨터 구현 명령들을 사용하여 프로세서 유닛(1004)에 의해 서로 다른 실시예들의 프로세스들이 수행될 수도 있다.
이러한 명령들은 프로세서 유닛(1004) 내의 프로세서에 의해 판독되어 실행될 수 있는 프로그램 코드, 컴퓨터 사용 가능 프로그램 코드 또는 컴퓨터 판독 가능 프로그램 코드로 지칭된다. 서로 다른 실시예들의 프로그램 코드는 메모리(1006) 또는 영구 저장소(1008)와 같은 서로 다른 물리적 또는 컴퓨터 판독 가능 저장 매체 상에 구현될 수 있다.
프로그램 코드(1018)가 선택적으로 착탈 가능하며 프로세서 유닛(1004)에 의한 실행을 위해 데이터 처리 시스템(1000)으로 로드되거나 전송될 수도 있는 컴퓨터 판독 가능 매체(1020) 상에 함수 형태로 로케이팅된다. 프로그램 코드(1018) 및 컴퓨터 판독 가능 매체(1020)는 이러한 예시적인 예들에서 컴퓨터 프로그램 물건(1022)을 형성한다. 일례로, 컴퓨터 판독 가능 매체(1020)는 컴퓨터 판독 가능 저장 매체(1024) 또는 컴퓨터 판독 가능 신호 매체(1026)일 수도 있다. 이러한 예시적인 예들에서, 컴퓨터 판독 가능 저장 매체(1024)는 프로그램 코드(1018)를 전파 또는 송신하는 매체라기보다는 프로그램 코드(1018)를 저장하는 데 사용되는 물리적 또는 유형의 저장 디바이스이다.
대안으로, 프로그램 코드(1018)는 컴퓨터 판독 가능 신호 매체(1026)를 사용하여 데이터 처리 시스템(1000)으로 전송될 수도 있다. 컴퓨터 판독 가능 신호 매체(1026)는 예를 들어, 프로그램 코드(1018)를 포함하는 전파 데이터 신호일 수도 있다. 예를 들어, 컴퓨터 판독 가능 신호 매체(1026)는 전자기 신호, 광 신호, 또는 임의의 다른 적당한 타입의 신호 중 적어도 하나일 수도 있다. 이러한 신호들은 무선 통신 링크들, 광섬유 케이블, 동축 케이블, 와이어, 또는 임의의 다른 적당한 타입의 통신 링크와 같은 통신 링크들 중 적어도 하나를 통해 송신될 수 있다.
데이터 처리 시스템(1000)에 대해 예시된 서로 다른 컴포넌트들은 서로 다른 실시예들이 구현될 수 있는 방식에 대한 구성적인 제한들을 제공하는 것으로 여겨지는 것은 아니다. 서로 다른 예시적인 실시예들은 데이터 처리 시스템(1000)에 대해 예시된 것들에 추가로 또는 그 대신 컴포넌트들을 포함하는 데이터 처리 시스템으로 구현될 수도 있다. 도 10에 도시된 다른 컴포넌트들은 도시된 예시적인 예들과는 다를 수 있다. 서로 다른 실시예들은 프로그램 코드(1018)를 실행할 수 있는 임의의 하드웨어 디바이스 또는 시스템을 사용하여 구현될 수도 있다.
본 개시의 예시적인 실시예들은 도 11에 도시된 것과 같은 항공기 제조 및 서비스 방법(1100) 및 도 12에 도시된 것과 같은 항공기(1200)와 관련하여 설명될 수도 있다. 먼저 도 11을 참조하면, 한 예시적인 실시예에 따라 항공기 제조 및 서비스 방법의 블록도의 예시가 도시된다. 예비 생산 동안, 항공기 제조 및 서비스 방법(1100)은 도 12의 항공기(1200)의 규격 및 설계(1102) 그리고 자재 조달(1104)을 포함할 수 있다.
생산 동안에는, 도 12의 항공기(1200)의 컴포넌트 및 하위 부품 제조(1106) 그리고 시스템 통합(1108)이 이루어진다. 이후, 도 12의 항공기(1200)는 운항(1112)되도록 인증 및 납품(1110)을 거칠 수 있다. 고객에 의한 운항(1112) 동안, 도 12의 항공기(1200)는 정기 유지 보수 및 서비스(1114)를 위해 스케줄링되는데, 이는 수정, 재구성, 개조 및 다른 유지 보수 또는 서비스를 포함할 수도 있다.
항공기 제조 및 서비스 방법(1100)의 프로세스들 각각은 시스템 통합자, 제3자, 오퍼레이터, 또는 이들의 어떤 결합에 의해 수행 또는 실행될 수도 있다. 이러한 예들에서, 오퍼레이터는 고객일 수도 있다. 이러한 설명을 목적으로, 시스템 통합자는 많은 항공기 제작사들 및 메이저 시스템 하도급 업체들을 제한 없이 포함할 수도 있고, 제3자는 많은 판매사들, 하도급 업체들, 공급사들을 제한 없이 포함할 수도 있으며, 오퍼레이터는 항공사, 리스(leasing) 회사, 군사업체, 서비스 기관 등일 수도 있다.
이제 도 12를 참조하면, 한 예시적인 실시예가 구현될 수 있는 항공기의 블록도의 예시가 도시된다. 이 예에서, 항공기(1200)는 도 11의 항공기 제조 및 서비스 방법(1100)에 의해 생산되며, 복수의 시스템들(1204) 및 내부(1206)와 함께 기체(1202)를 포함할 수 있다. 시스템들(1204)의 예들은 추진 시스템(1208), 전기 시스템(1210), 유압 시스템(1212) 및 환경 시스템(1214) 중 하나 이상을 포함한다. 많은 다른 시스템이 포함될 수도 있다. 항공 우주 산업의 예가 도시되지만, 서로 다른 예시적인 실시예들은 자동차 산업과 같은 다른 산업들에 적용될 수도 있다.
본 명세서에서 구현되는 장치들 및 방법들은 도 11의 항공기 제조 및 서비스 방법(1100)의 단계들 중 적어도 하나의 단계 동안 이용될 수도 있다. 예시적인 일례로, 제품 시각화 시스템(106)을 사용하여 규격 및 설계(1102) 동안 항공기(1200)의 3차원 모델이 시각화되고 수정될 수도 있다. 추가로, 컴포넌트 및 하위 부품 제조(1106) 및 시스템 통합(1108) 동안 항공기(1200)의 시각화가 또한 발생할 수도 있다. 시각화는 오퍼레이터들이 이러한 동작들을 수행하는 것을 보조할 수 있을 뿐만 아니라, 이러한 동작들의 수행시 작업들을 할당하는 데 사용되고 있다. 항공기(1200)가 운항(1112)중인 동안, 도 11의 유지 보수 및 서비스(1114) 동안, 또는 이 둘 다의 경우에 하나 또는 그보다 많은 장치 실시예들, 방법 실시예들, 또는 이들의 결합이 이용될 수도 있다. 다수의 서로 다른 예시적인 실시예들의 사용은 항공기(1200)의 조립을 실질적으로 신속히 처리하거나 항공기(1200)의 원가를 절감할 수도 있고, 또는 항공기(1200) 조립의 신속한 처리와 항공기(1200)의 원가 절감을 둘 다 할 수도 있다.
이제 도 13을 참조하면, 한 예시적인 실시예에 따른 제품 관리 시스템의 블록도의 예시가 도시된다. 도 1의 제품 관리 시스템(148)에 대한 구현의 예시적인 일례가 이 도면에 도시된다. 제품 관리 시스템(1300)은 물리적 하드웨어 시스템이며 제조 시스템(1302) 또는 유지 보수 시스템(1304) 중 적어도 하나를 포함할 수도 있다.
제조 시스템(1302)은 도 12의 항공기(1200)와 같은 제품들을 제조하도록 구성된다. 도시된 바와 같이, 제조 시스템(1302)은 제조 장비(1306)를 포함한다. 제조 장비(1306)는 가공 장비(1308) 또는 조립 장비(1310) 중 적어도 하나를 포함한다.
가공 장비(1308)는 항공기(1200)를 형성하는 데 사용되는 부품들에 대한 컴포넌트들을 가공하는 데 사용될 수도 있는 장비이다. 예를 들어, 가공 장비(1308)는 기계들과 툴들을 포함할 수도 있다. 이러한 기계들과 툴들은 드릴, 유압 프레스, 용광로, 몰드, 복합 테이프 라잉 기계(composite tape laying machine), 진공 시스템, 선반(lathe), 또는 다른 적당한 타입들의 장비 중 적어도 하나일 수도 있다. 가공 장비(1308)는 금속 부품들, 복합 부품들, 반도체들, 회로들, 파스너들, 리브(rib)들, 스킨 패널들, 스파(spar)들, 안테나들, 또는 다른 적당한 타입들의 부품들 중 적어도 하나를 가공하는 데 사용될 수도 있다.
조립 장비(1310)는 부품들을 조립하여 항공기(1200)를 형성하는 데 사용되는 장비이다. 특히, 조립 장비(1310)는 컴포넌트들 및 부품들을 조립하여 항공기(1200)를 형성하는 데 사용될 수도 있다. 조립 장비(1310)는 또한 기계들과 툴들을 포함할 수도 있다. 이러한 기계들과 툴들은 로봇 팔, 크롤러(crawler), 더 빠른 설치 시스템, 레일 기반 드릴링 시스템, 로봇, 또는 다른 적당한 타입들의 장비 중 적어도 하나일 수도 있다. 조립 장비(1310)는 좌석들, 수평 안정판들, 날개들, 엔진들, 엔진 하우징들, 랜딩 기어 시스템들, 및 항공기(1200)에 대한 다른 부품들과 같은 부품들을 조립하는 데 사용될 수도 있다.
이 예시적인 예에서, 유지 보수 시스템(1304)은 유지 보수 장비(1312)를 포함한다. 유지 보수 장비(1312)는 항공기(1200)에 대한 유지 보수를 수행하는 데 필요한 임의의 장비를 포함할 수도 있다. 유지 보수 장비(1312)는 항공기(1200) 상의 부품들에 서로 다른 동작들을 수행하기 위한 툴들을 포함할 수도 있다. 이러한 동작들은 부품들의 분해, 부품들의 개조, 부품들의 검사, 부품들의 재작업, 배치 부품들의 제조, 또는 항공기(1200)에 대한 유지 보수를 수행하기 위한 다른 동작들 중 적어도 하나를 포함할 수도 있다. 이러한 동작들은 정기 유지 보수, 검사들, 업그레이드들, 개조, 또는 다른 타입들의 유지 보수 동작들에 대한 것일 수도 있다.
예시된 예에서, 유지 보수 장비(1312)는 초음파 검사 디바이스들, x선 영상 시스템들, 시각 시스템들, 드릴들, 크롤러들 및 다른 적당한 디바이스를 포함할 수도 있다. 어떤 경우들에, 유지 보수 장비(1312)는 가공 장비(1308), 조립 장비(1310), 또는 이 둘 다 포함하여, 유지 보수에 필요할 수도 있는 부품들을 생산하고 조립할 수도 있다.
제품 관리 시스템(1300)은 또한 제어 시스템(1314)을 포함한다. 제어 시스템(1314)은 하드웨어 시스템이며, 소프트웨어 또는 다른 타입들의 컴포넌트들을 또한 포함할 수도 있다. 제어 시스템(1314)은 제조 시스템(1302) 또는 유지 보수 시스템(1304) 중 적어도 하나에 대한 동작을 제어하도록 구성된다. 특히, 제어 시스템(1314)은 가공 장비(1308), 조립 장비(1310) 또는 유지 보수 장비(1312) 중 적어도 하나에 대한 동작을 제어할 수도 있다.
제어 시스템(1314)의 하드웨어는 컴퓨터들, 회로들, 네트워크들 및 다른 타입들의 장비를 포함할 수도 있다. 제어는 제조 장비(1306)의 직접 제어의 형태를 취할 수도 있다. 예를 들어, 로봇들, 컴퓨터 제어 기계들 및 다른 장비가 제어 시스템(1314)에 의해 제어될 수도 있다. 다른 예시적인 예들에서, 제어 시스템(1314)은 항공기(1200)의 제조 또는 이에 대한 유지 보수의 수행시 휴먼 오퍼레이터들(1316)에 의해 수행되는 동작들을 관리할 수도 있다. 예를 들어, 제어 시스템(1314)은 작업들을 할당하거나, 명령들을 제공하거나, 모델들을 디스플레이하거나 또는 다른 동작들을 수행하여, 휴먼 오퍼레이터들(1316)에 의해 수행되는 동작들을 관리할 수도 있다.
이러한 예시적인 예들에서, 도 1과 도 2의 제품 시각화 시스템(106)은 도 12의 항공기(1200)의 제조 또는 유지 보수 중 적어도 하나를 관리하도록 제어 시스템(1314)에서 구현될 수도 있다. 예를 들어, 항공기(1200)의 3차원 모델의 시각화는 휴먼 오퍼레이터에 의해 이루어질 수도 있다. 이러한 시각화는 항공기(1200)에 대한 규격들에 대해 항공기(1200)의 모델에 대한 변경들을 수행하도록 휴먼 오퍼레이터에 의해 사용될 수도 있다. 이러한 변경들은 제조 장비(1306), 유지 보수 장비(1312) 또는 휴먼 오퍼레이터들(1316) 중 적어도 하나에 의해 수행되는 동작들의 제어시 제어 시스템(1314)에 의해 구현될 수도 있다.
서로 다른 예시적인 예들에서, 휴먼 오퍼레이터들(1316)은 제조 장비(1306), 유지 보수 장비(1312) 또는 제어 시스템(1314) 중 적어도 하나를 작동시키거나 이와 상호 작용할 수도 있다. 이러한 상호 작용이 수행되어 항공기(1200)를 제조할 수도 있다.
물론, 제품 관리 시스템(1300)은 항공기(1200) 이외의 다른 제품들을 관리하도록 구성될 수도 있다. 제품 관리 시스템(1300)은 항공 우주 산업에서의 제조에 관해 설명되었지만, 제품 관리 시스템(1300)은 다른 산업들에 대한 제품들을 관리하도록 구성될 수도 있다. 예를 들어, 제품 관리 시스템(1300)은 자동차 산업뿐만 아니라 임의의 다른 적당한 산업들에 대한 제품들을 제조하도록 구성될 수도 있다.
따라서 예시적인 예는 현재 이용 가능한 컴퓨터 시스템들을 사용하여 모델과의 원하는 레벨의 상호 작용을 제공하는 데 있어서의 기술적 문제점을 극복하는 하나 또는 그보다 많은 기술적 솔루션들을 제공하는 방법 및 장치를 제공한다. 예를 들어, 원하는 레벨의 상호 작용은 디스플레이 시스템 상의 그래픽 사용자 인터페이스에서 제품의 디스플레이를 조작하는 사용자 입력에 응답하여 원하는 만큼 신속하게 3차원 모델에 대한 변경들을 디스플레이하는 것을 통해 발생할 수도 있다. 예시적인 예에 도시된 바와 같이, 제품 시각화 시스템은 3차원 모델이 대용량 모델(116)의 형태를 취하는 경우에 특히, 원하는 레벨의 성능으로 3차원 모델을 디스플레이하는 것을 가능하게 한다. 예를 들어, 제품 시각화 시스템은 현재 사용되고 있는 컴퓨터 시스템들 및 구성들과 비교할 때 초당 원하는 수의 프레임들로 3차원 모델을 디스플레이하는 것을 가능하게 한다. 초당 원하는 수의 프레임들, 예컨대 초당 10개의 프레임들로 3차원 모델을 디스플레이하는 것은 현재 이용 가능한 다른 컴퓨터 시스템들의 사용과 비교할 때 자원들의 더 낮은 사용으로 발생할 수도 있다.
서로 다른 예시적인 예들은 작동들 또는 동작들을 수행하는 컴포넌트들을 설명한다. 예시적인 실시예에서, 컴포넌트는 설명한 작동 또는 동작을 수행하도록 구성될 수도 있다. 예를 들어, 컴포넌트는 컴포넌트에 의해 수행되는 바와 같이 예시적인 예들에서 설명되는 작동 또는 동작을 수행하는 능력을 컴포넌트에 제공하는 구조에 대한 구성 또는 설계를 가질 수도 있다.
또한, 본 개시는 다음 조항들에 따른 실시예들을 포함한다:
조항 1. 제품을 디스플레이하기 위한 방법은,
컴퓨터 시스템에서 제품의 3차원 모델에 액세스하는 단계 ― 3차원 모델은 객체들 및 객체들의 서로에 대한 공간적 관계를 포함함 ―;
제품의 부분을 선택하는 사용자 입력에 적용되는 정책을 기초로 컴퓨터 시스템의 디스플레이 시스템 상에 디스플레이될 3차원 모델 내 객체들의 그룹을 식별하는 단계;
객체들의 그룹과 연관된 속성들의 그룹에 값을 할당하는 단계 ― 속성들의 그룹에 할당된 값은 객체들의 그룹이 디스플레이 시스템 상에 디스플레이되어야 함을 표시하며, 객체들 중에서 값이 없는 속성들을 갖는 다른 객체들은 디스플레이되지 않음 ―; 및
객체들과 연관된 속성들을 출력하는 단계를 포함하며,
여기서 객체들과 연관된 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹이 3차원으로 디스플레이되어, 디스플레이 시스템 상에서 제품의 3차원 모델을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.
조항 2. 조항 1의 방법은,
객체들과 연관된 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹을 3차원으로 디스플레이하는 단계를 더 포함한다.
조항 3. 조항 2의 방법에서, 3차원 모델은 데이터베이스에 저장되며, 객체들의 그룹의 식별에 응답하여 데이터베이스로부터 메인 메모리로 3차원 모델의 객체들을 로드하는 것 또는 메인 메모리로부터 3차원 모델의 객체들을 언로드하는 것 중 적어도 하나가 없이도 객체들의 그룹의 디스플레이가 발생한다.
조항 4. 임의의 선행 조항의 방법에서, 출력하는 단계는,
렌더링 시스템에 객체들을 디스플레이하는 데 필요한 속성들을 전송하는 단계를 포함하며, 렌더링 시스템은 객체들의 디스플레이 상태를 표시하는 속성들을 사용하여 디스플레이 시스템 상에 객체들을 디스플레이한다.
조항 5. 임의의 선행 조항의 방법은,
제품의 3차원 모델 내 객체들 전부를 디스플레이하는 단계를 더 포함한다.
조항 6. 임의의 선행 조항의 방법은,
제품의 부분을 식별하는 문자열, 제품의 부분의 시각적 선택, 제품에서 부품들의 그룹의 설치 상태를 표시하는 공장 주문들의 그룹의 선택, 제품이 조립되는 위치들로부터 제품의 위치 선택, 또는 클리핑 박스의 한정 중 적어도 하나로부터 선택되는 사용자 입력을 수신하는 단계를 더 포함한다.
조항 7. 임의의 선행 조항의 방법에서, 정책은 조립 프로세스에서 제품의 위치, 조립 상태, 부분에서 객체들로 표현되는 부품들의 상태를 식별하는 작업장 주문들의 상태, 또는 부분에서 부품들의 조립 상태 중 적어도 하나를 기초로 3차원 모델에서 보이는 객체들을 식별한다.
조항 8. 임의의 선행 조항의 방법은,
객체들의 부분을 버퍼에 배치하는 단계를 더 포함한다.
조항 9. 임의의 선행 조항의 방법에서, 3차원 모델은 컴퓨터 시스템의 데이터베이스에 저장된 대용량 모델이다.
조항 10. 임의의 선행 조항의 방법에서, 제품은 항공기, 수상함, 차량, 기차, 우주선, 건물, 제조 시설, 발전소, 다리, 엔진 및 날개 중 하나로부터 선택된다.
조항 11. 장치는,
디스플레이 시스템과 통신하는 제품 시각화 시스템을 포함하며, 제품 시각화 시스템은 컴퓨터 시스템에서 제품의 3차원 모델에 액세스하고 ― 3차원 모델은 객체들 및 객체들의 서로에 대한 공간적 관계를 포함함 ―; 제품의 부분을 선택하는 사용자 입력에 적용되는 정책을 기초로 컴퓨터 시스템의 디스플레이 시스템 상에 디스플레이될 3차원 모델 내 객체들의 그룹을 식별하며; 객체들의 그룹과 연관된 속성들의 그룹에 값을 할당하고 ― 속성들의 그룹에 할당된 값은 객체들의 그룹이 디스플레이 시스템 상에 디스플레이되어야 함을 표시하며, 객체들 중에서 값이 없는 속성들을 갖는 다른 객체들은 디스플레이되지 않음 ―; 그리고 객체들과 연관된 속성들을 출력하도록 구성되는데, 여기서 객체들과 연관된 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹이 3차원으로 디스플레이되어, 디스플레이 시스템 상에서 제품의 3차원 모델을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.
조항 12. 조항 11의 장치에서, 3차원 모델은 데이터베이스에 저장되며, 제품 시각화 시스템은 객체들의 그룹의 식별에 응답하여 데이터베이스로부터 메인 메모리로 3차원 모델의 객체들을 로드하는 것 또는 메인 메모리로부터 3차원 모델의 객체들을 언로드하는 것 중 적어도 하나가 없이도 객체들의 그룹을 디스플레이한다.
조항 13. 조항 11 또는 조항 12의 장치에서, 속성들의 출력시 제품 시각화 시스템은 렌더링 시스템에 객체들을 디스플레이하는 데 필요한 속성들을 전송하고, 렌더링 시스템은 객체들의 디스플레이 상태를 표시하는 속성들을 사용하여 디스플레이 시스템 상에 객체들을 디스플레이한다.
조항 14. 조항 11 - 조항 13 중 어느 한 조항의 장치에서, 제품 시각화 시스템은 제품의 3차원 모델과 연관된 모든 객체들을 디스플레이한다.
조항 15. 조항 11 - 조항 14 중 어느 한 조항의 장치에서, 제품 시각화 시스템은 사용자 입력을 수신하며, 사용자 입력은 제품의 부분을 식별하는 문자열, 제품의 부분의 시각적 선택, 제품에서 부품들의 그룹의 설치 상태를 표시하는 공장 주문들의 그룹의 선택, 제품이 조립되는 위치들로부터 제품의 위치 선택, 또는 클리핑 박스의 한정 중 적어도 하나로부터 선택된다.
조항 16. 조항 11 - 조항 15 중 어느 한 조항의 장치에서, 정책은 조립 프로세스에서 제품의 위치, 조립 상태, 부분에서 객체들로 표현되는 부품들의 상태를 식별하는 작업장 주문들의 상태, 또는 부분에서 부품들의 조립 상태 중 적어도 하나를 기초로 3차원 모델에서 보이는 객체들을 식별한다.
조항 17. 조항 11 - 조항 16 중 어느 한 조항의 장치에서, 제품 시각화 시스템은 객체들의 부분을 버퍼에 배치한다.
조항 18. 조항 11 - 조항 17 중 어느 한 조항의 장치에서, 3차원 모델은 대용량 모델이다.
조항 19. 조항 11 - 조항 18 중 어느 한 조항의 장치에서, 제품 시각화 시스템은 컴퓨터 시스템의 컴퓨터 상에 로케이팅되며, 이 장치는,
데이터베이스를 더 포함하고, 3차원 모델이 데이터베이스에 저장되며, 데이터베이스는 컴퓨터 시스템 내의 컴퓨터 또는 원격 컴퓨터 중 하나로부터 선택된 위치에 로케이팅된다.
조항 20. 조항 11 - 조항 19 중 어느 한 조항의 장치에서, 제품은 항공기, 수상함, 차량, 기차, 우주선, 건물, 제조 시설, 발전소, 다리, 엔진, 컴퓨터 네트워크 노드들 및 날개 중 하나로부터 선택된다.
조항 21. 제품 관리 시스템은,
디스플레이 시스템과 통신하는 제품 시각화 시스템을 포함하며, 제품 시각화 시스템은 컴퓨터 시스템 내의 데이터베이스에 로케이팅된 제품의 3차원 모델에 액세스하고 ― 3차원 모델은 객체들 및 객체들의 서로에 대한 공간적 관계를 포함함 ―; 제품의 부분을 선택하는 사용자 입력에 적용되는 정책을 기초로 컴퓨터 시스템의 디스플레이 시스템 상에 디스플레이될 3차원 모델 내 객체들의 그룹을 식별하며; 객체들의 그룹과 연관된 속성들의 그룹에 값을 할당하고 ― 속성들의 그룹에 할당된 값은 객체들의 그룹이 디스플레이 시스템 상에 디스플레이되어야 함을 표시하며, 객체들 중에서 값이 없는 속성들을 갖는 다른 객체들은 디스플레이되지 않음 ―; 그리고 객체들과 연관된 속성들을 출력하는데, 여기서 속성들은 객체들의 그룹의 식별에 응답하여 데이터베이스로부터 메인 메모리로 3차원 모델의 객체들을 로드하는 것 또는 메인 메모리로부터 3차원 모델의 객체들을 언로드하는 것 중 적어도 하나가 없이도 객체들의 그룹이 디스플레이되는 속성들을 사용하여 디스플레이 시스템 상에 객체들의 그룹을 3차원으로 디스플레이하는 데 사용되어, 디스플레이 시스템 상에서 제품의 3차원 모델을 시각화할 때 원하는 레벨의 성능을 가능하게 한다.
예시 및 설명을 위해 서로 다른 예시적인 실시예들의 설명이 제시되었으며, 개시된 형태의 실시예들로 한정되거나 총망라하는 것으로 의도되는 것은 아니다. 많은 수정들 및 변형들이 해당 기술분야에서 통상의 지식을 가진 자들에게 명백할 것이다. 또한, 서로 다른 예시적인 실시예들은 다른 바람직한 실시예들과 비교할 때 서로 다른 특징들을 제공할 수도 있다. 선택된 실시예 또는 실시예들은 실시예들의 원리들, 실질적인 적용을 가장 잘 설명하기 위해 그리고 해당 기술분야에서 통상의 지식을 가진 다른 자들이 기대되는 특정 사용에 적합한 다양한 수정들을 갖는 다양한 실시예들에 관해 본 개시를 이해할 수 있게 하기 위해 선택 및 설명된다.

Claims (13)

  1. 제품(102)을 디스플레이하기 위한 방법으로서,
    컴퓨터 시스템(112)에서 상기 제품(102)의 3차원 모델(110)에 액세스하는 단계 ― 상기 3차원 모델(110)은 객체들(130) 및 상기 객체들(130)의 서로에 대한 공간적 관계(132)를 포함함 ―;
    상기 제품(102)의 부분(136)을 선택하는 사용자 입력(109)에 적용되는 정책(134)을 기초로 상기 컴퓨터 시스템(112)의 디스플레이 시스템(111) 상에 디스플레이될 상기 3차원 모델(110) 내 상기 객체들(130)의 그룹을 식별하는 단계 ― 상기 정책(134)은 조립 프로세스에서 상기 제품(102)의 위치, 조립 상태, 상기 부분(136)에서 상기 객체들(130)의 그룹으로 표현되는 부품들의 상태를 식별하는 작업장 주문들의 상태, 또는 상기 부분(136)에서 상기 부품들의 조립 상태 중 적어도 하나에 기반한 객체 식별을 포함함 ―;
    상기 객체들(130)의 그룹과 연관된 속성들(138)의 그룹에 값(140)을 할당하는 단계 ― 상기 속성들(138)의 그룹에 할당된 값(140)은 상기 객체들(130)의 그룹이 상기 디스플레이 시스템(111) 상에 디스플레이되어야 함을 표시하며, 상기 객체들(130) 중에서 상기 값(140)이 없는 상기 속성들(138)을 갖는 다른 객체들(130)은 디스플레이되지 않음 ―; 및
    상기 객체들(130)과 연관된 속성들(138)을 출력하는 단계를 포함하며,
    상기 객체들(130)과 연관된 속성들(138)을 사용하여 디스플레이 시스템(111) 상에 상기 객체들(130)의 그룹이 3차원으로 디스플레이되어, 상기 디스플레이 시스템(111) 상에서 상기 제품(102)의 3차원 모델(110)을 시각화할 때 원하는 레벨의 성능을 가능하게 하는,
    제품(102)을 디스플레이하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 객체들(130)과 연관된 속성들(138)을 사용하여 상기 디스플레이 시스템(111) 상에 상기 객체들(130)의 그룹을 상기 3차원으로 디스플레이하는 단계를 더 포함하는,
    제품(102)을 디스플레이하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 3차원 모델(110)은 데이터베이스(114)에 저장되며,
    상기 객체들(130)의 그룹의 식별에 응답하여 상기 데이터베이스(114)로부터 메인 메모리(202)로 상기 3차원 모델(110)의 객체들(130)을 로드하는 것 또는 상기 메인 메모리(202)로부터 상기 3차원 모델(110)의 객체들(130)을 제거하는 것 중 적어도 하나가 없이도 상기 객체들(130)의 그룹의 디스플레이가 발생하는,
    제품(102)을 디스플레이하기 위한 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 출력하는 단계는,
    렌더링 시스템(208)에 상기 객체들(130)을 디스플레이하는 데 필요한 속성들(138)을 전송하는 단계를 포함하며,
    상기 렌더링 시스템(208)은 상기 객체들(130)의 디스플레이 상태를 표시하는 속성들(138)을 사용하여 상기 디스플레이 시스템(111) 상에 상기 객체들(130)을 디스플레이하는,
    제품(102)을 디스플레이하기 위한 방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 제품(102)의 3차원 모델(110)에서 상기 객체들(130) 전부를 디스플레이하는 단계를 더 포함하는,
    제품(102)을 디스플레이하기 위한 방법.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 제품(102)의 부분(136)을 식별하는 문자열, 상기 제품(102)의 부분(136)의 시각적 선택, 상기 제품(102)에서 부품들(133)의 그룹의 설치 상태를 표시하는 공장 주문(shop order)들의 그룹의 선택, 상기 제품(102)이 조립되는 위치들로부터 상기 제품(102)의 위치 선택, 또는 클리핑(clipping box) 박스의 한정 중 적어도 하나로부터 선택되는 사용자 입력(109)을 수신하는 단계를 더 포함하는,
    제품(102)을 디스플레이하기 위한 방법.
  7. 삭제
  8. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 객체들(130)의 부분(136)을 버퍼(204)에 배치하는 단계를 더 포함하는,
    제품(102)을 디스플레이하기 위한 방법.
  9. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 3차원 모델(110)은 상기 컴퓨터 시스템(112)의 데이터베이스(114)에 저장된 대용량(massive) 모델(116)인,
    제품(102)을 디스플레이하기 위한 방법.
  10. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 제품(102)은 항공기(1200), 수상함, 차량, 기차, 우주선, 건물, 제조 시설, 발전소, 다리, 엔진 및 날개 중 하나로부터 선택되는,
    제품(102)을 디스플레이하기 위한 방법.
  11. 디스플레이 시스템(111)과 통신하는 제품 시각화 시스템(106)을 포함하는 장치로서,
    상기 제품 시각화 시스템(106)은 제 1 항 내지 제 3 항 중 어느 한 항의 방법을 수행하도록 구성되는,
    장치.
  12. 컴퓨터 판독 가능 매체로서,
    제 1 항 내지 제 3 항 중 한 항의 방법을 수행하기 위한 컴퓨터 실행 가능 명령들을 갖는,
    컴퓨터 판독 가능 매체.
  13. 제품 관리 시스템(148)으로서,
    디스플레이 시스템(111)과 통신하는 제품 시각화 시스템(106)을 포함하며,
    상기 제품 시각화 시스템(106)은 컴퓨터 시스템(112) 내의 데이터베이스(114)에 로케이팅된 제품(102)의 3차원 모델(110)에 액세스하고 ― 상기 3차원 모델(110)은 객체들(130) 및 상기 객체들(130)의 서로에 대한 공간적 관계(132)를 포함함 ―; 상기 제품(102)의 부분(136)을 선택하는 사용자 입력(109)에 적용되는 정책(134)을 기초로 상기 컴퓨터 시스템(112)의 상기 디스플레이 시스템(111) 상에 디스플레이될 상기 3차원 모델(110) 내 상기 객체들(130)의 그룹을 식별하며 ― 상기 정책(134)은 조립 프로세스에서 상기 제품(102)의 위치, 조립 상태, 상기 부분(136)에서 상기 객체들(130)의 그룹으로 표현되는 부품들의 상태를 식별하는 작업장 주문들의 상태, 또는 상기 부분(136)에서 상기 부품들의 조립 상태 중 적어도 하나에 기반한 객체 식별을 포함함 ―; 상기 객체들(130)의 그룹과 연관된 속성들(138)의 그룹에 값(140)을 할당하고 ― 상기 속성들(138)의 그룹에 할당된 값(140)은 상기 객체들(130)의 그룹이 상기 디스플레이 시스템(111) 상에 디스플레이되어야 함을 표시하며, 상기 객체들(130) 중에서 상기 값(140)이 없는 상기 속성들(138)을 갖는 다른 객체들(130)은 디스플레이되지 않음 ―; 그리고 상기 객체들(130)과 연관된 속성들(138)을 출력하며,
    상기 속성들(138)은, 상기 객체들(130)의 그룹의 식별에 응답하여 상기 데이터베이스(114)로부터 메인 메모리(202)로 상기 3차원 모델(110)의 객체들(130)을 로드하는 것 또는 상기 메인 메모리(202)로부터 상기 3차원 모델(110)의 객체들(130)을 제거하는 것 중 적어도 하나가 없이도 상기 객체들(130)의 그룹이 디스플레이되는 속성들(138)을 사용하여 상기 디스플레이 시스템(111) 상에 상기 객체들(130)의 그룹을 3차원으로 디스플레이하는 데 사용되어, 상기 디스플레이 시스템(111) 상에서 상기 제품(102)의 3차원 모델(110)을 시각화할 때 원하는 레벨의 성능을 가능하게 하는,
    제품 관리 시스템(148).
KR1020160083520A 2015-07-07 2016-07-01 제품 시각화 시스템 KR102513931B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/793,240 US10176520B2 (en) 2015-07-07 2015-07-07 Product visualization system
US14/793,240 2015-07-07

Publications (2)

Publication Number Publication Date
KR20170006262A KR20170006262A (ko) 2017-01-17
KR102513931B1 true KR102513931B1 (ko) 2023-03-23

Family

ID=56360227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160083520A KR102513931B1 (ko) 2015-07-07 2016-07-01 제품 시각화 시스템

Country Status (7)

Country Link
US (1) US10176520B2 (ko)
EP (1) EP3115970A1 (ko)
JP (1) JP6799938B2 (ko)
KR (1) KR102513931B1 (ko)
CN (1) CN106339525B (ko)
BR (1) BR102016011898A2 (ko)
CA (1) CA2926608C (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951432A (zh) * 2017-01-23 2017-07-14 北京建筑大学 Bim数据轻量化方法及装置
US20180300326A1 (en) * 2017-04-17 2018-10-18 The Boeing Company Three-Dimensional Massive Model Visualization Database System
CN110868875A (zh) 2017-08-09 2020-03-06 韩国烟草人参公社 气溶胶生成装置及气溶胶生成装置控制方法
WO2019043676A1 (en) * 2017-08-28 2019-03-07 Osr Enterprises Ag SYSTEM AND METHOD FOR DESIGNING CAR SYSTEMS
WO2019126869A1 (en) * 2017-12-29 2019-07-04 Bombardier Inc. Method and system for operating a configuration platform
US11860602B2 (en) * 2017-12-29 2024-01-02 Mitutoyo Corporation Inspection program editing environment with automatic transparency operations for occluded workpiece features
WO2019126870A1 (en) * 2017-12-29 2019-07-04 Bombardier Inc. Method and system for operating a configuration platform
KR102528240B1 (ko) * 2018-08-30 2023-05-02 삼성중공업 주식회사 3d 클리핑 기능을 가진 3d 뷰어
US10822114B2 (en) * 2018-11-26 2020-11-03 Simmonds Precision Products, Inc. Systems and methods for status reporting for aircraft
US11030812B2 (en) * 2019-01-02 2021-06-08 The Boeing Company Augmented reality system using enhanced models
GB2591103A (en) * 2020-01-15 2021-07-21 British Telecomm Rendering of spatial environments
CN112884895B (zh) * 2021-02-09 2024-03-12 郭金磊 一种基于人体外貌形态的穿搭匹配系统
TWI795946B (zh) * 2021-10-14 2023-03-11 力晶積成電子製造股份有限公司 佇列時間判斷方法及佇列時間判斷系統

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339767B1 (en) * 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
FR2823585B1 (fr) 2001-04-13 2003-09-12 Cantoche Production Procede et systeme d'animation d'une personnage en trois dimensions
US20040217956A1 (en) * 2002-02-28 2004-11-04 Paul Besl Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data
US6933946B1 (en) * 2003-05-07 2005-08-23 At&T Corp. Method for out-of core rendering of large 3D models
US7170510B2 (en) * 2003-11-14 2007-01-30 Sun Microsystems, Inc. Method and apparatus for indicating a usage context of a computational resource through visual effects
EP1672548A1 (en) * 2004-12-20 2006-06-21 Dassault Systèmes Process and system for rendering an object in a view using a product lifecycle management database
US8793585B2 (en) * 2006-02-06 2014-07-29 Alcatel Lucent Communication system management apparatus, methods, and interfaces
US7546176B2 (en) * 2006-08-25 2009-06-09 The Boeing Company Method and apparatus for determining a solution group of parts in an assembly
US8384710B2 (en) * 2007-06-07 2013-02-26 Igt Displaying and using 3D graphics on multiple displays provided for gaming environments
US8665272B2 (en) 2007-09-26 2014-03-04 Autodesk, Inc. Navigation system for a 3D virtual scene
US20090138139A1 (en) * 2007-11-26 2009-05-28 Tsai Ta C Technical data navigation system and method
US8423419B2 (en) * 2008-03-31 2013-04-16 Caterpillar Inc. Related parts identification and sales tool
US20100091018A1 (en) * 2008-07-11 2010-04-15 Advanced Micro Devices, Inc. Rendering Detailed Animated Three Dimensional Characters with Coarse Mesh Instancing and Determining Tesselation Levels for Varying Character Crowd Density
EP2241988B1 (en) * 2009-04-14 2018-07-25 Dassault Systèmes Method, program and product edition system for visualizing objects displayed on a computer screen
CN101577012B (zh) * 2009-06-17 2011-12-28 重庆大学 基于Web的虚拟植物可视化系统及虚拟植物构建方法
WO2011039041A2 (en) * 2009-10-02 2011-04-07 Lego A/S Connectivity depended geometry optimization for real-time rendering
US8290830B2 (en) * 2010-04-07 2012-10-16 Siemens Product Lifecycle Management Software Inc. System and method for visualization and comparison of physical assets using engineering design data
US8860717B1 (en) * 2011-03-29 2014-10-14 Google Inc. Web browser for viewing a three-dimensional object responsive to a search query
US9582613B2 (en) * 2011-11-23 2017-02-28 Siemens Product Lifecycle Management Software Inc. Massive model visualization with spatial retrieval
JP5792607B2 (ja) * 2011-12-09 2015-10-14 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
US9870444B2 (en) 2013-03-05 2018-01-16 The Boeing Company Shop order status visualization system
US9182892B2 (en) 2013-02-28 2015-11-10 The Boeing Company Condition of assembly visualization system
US9492900B2 (en) 2013-03-15 2016-11-15 The Boeing Company Condition of assembly visualization system based on build cycles
US10061481B2 (en) 2013-02-28 2018-08-28 The Boeing Company Methods and devices for visually querying an aircraft based on an area of an image
CN105069020B (zh) * 2015-07-14 2018-09-21 国家信息中心 自然资源数据三维可视化方法和系统

Also Published As

Publication number Publication date
CN106339525A (zh) 2017-01-18
KR20170006262A (ko) 2017-01-17
US10176520B2 (en) 2019-01-08
CA2926608C (en) 2023-08-22
JP6799938B2 (ja) 2020-12-16
JP2017021774A (ja) 2017-01-26
EP3115970A1 (en) 2017-01-11
CA2926608A1 (en) 2017-01-07
US20170011451A1 (en) 2017-01-12
BR102016011898A2 (pt) 2017-01-24
CN106339525B (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
KR102513931B1 (ko) 제품 시각화 시스템
JP6721736B2 (ja) 製造注文インスタンスの視覚化システム
CA2840798C (en) Locator system for three-dimensional visualization
US10061481B2 (en) Methods and devices for visually querying an aircraft based on an area of an image
JP6418759B2 (ja) 組み立ての状況の視覚化システム
JP2019069769A (ja) 不適合視覚化システム
JP6386242B2 (ja) 構築サイクルに基づく組み立ての状況の視覚化システム
JP2014205484A (ja) 航空機比較システム
US9870444B2 (en) Shop order status visualization system
JP2018020763A (ja) 旅客収容レイアウトの三次元航空機検査システム
CN104238492A (zh) 具有同步显示的飞行器比较系统
US9110560B1 (en) Shop order status visualization system
US10831946B2 (en) Multi-configuration massive model system
US11379628B2 (en) Reinforced composite structure analysis system
US11347903B2 (en) Passenger service unit placement layout system for aircraft
US11861135B1 (en) Aircraft spatial configuration difference display system
US11454959B2 (en) Product manufacturing with a manufacturing product and process structure
US11698997B2 (en) Model maturity state evaluation system
US20230342513A1 (en) Temporal Based Multiconfiguration Dataset System

Legal Events

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