KR101649096B1 - 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템 - Google Patents

컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템 Download PDF

Info

Publication number
KR101649096B1
KR101649096B1 KR1020100109769A KR20100109769A KR101649096B1 KR 101649096 B1 KR101649096 B1 KR 101649096B1 KR 1020100109769 A KR1020100109769 A KR 1020100109769A KR 20100109769 A KR20100109769 A KR 20100109769A KR 101649096 B1 KR101649096 B1 KR 101649096B1
Authority
KR
South Korea
Prior art keywords
relative positions
assembly
objects
computer
interface information
Prior art date
Application number
KR1020100109769A
Other languages
English (en)
Other versions
KR20110050383A (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 KR20110050383A publication Critical patent/KR20110050383A/ko
Application granted granted Critical
Publication of KR101649096B1 publication Critical patent/KR101649096B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • 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
    • 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
    • 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/04817Interaction 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 using icons
    • 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/0482Interaction with lists of selectable items, e.g. menus
    • 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/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2008Assembling, disassembling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 컴퓨터-지원 디자인 시스템에서 오브젝트의 어셈블리를 디자인하는 방법에 관한 것이고, 이 방법은:
- 어셈블리의 제 1 오브젝트 및 제 2 오브젝트를 선택하는 단계 (20) 로서, 그 제 1 오브젝트 및 제 2 오브젝트 각각은 인터페이스 정보를 갖는, 상기 선택하는 단계 (20);
- 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계 (40);
- 적어도 하나의 기준에 따라서 제 1 오브젝트 및 제 2 오브젝트 사이의 세트의 상대적인 위치들을 랭킹하는 단계 (80); 및
- 랭킹하는 단계에 따라서 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들 중 최적의 위치를 제공하는 단계 (90) 를 포함한다.

Description

컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템{METHOD AND SYSTEM FOR DESIGNING AN ASSEMBLY OF OBJECTS IN A SYSTEM OF COMPUTER-AIDED DESIGN}
본 발명은 컴퓨터 프로그램 및 시스템의 분야에 관한 것으로, 더욱 상세하게는, 컴퓨터-지원 디자인 (CAD; Computer-Aided Design) 어플리케이션에서 오브젝트의 어셈블리의 디자인 분야에 관한 것이다.
컴퓨터-지원 기술 (computer-aided technique) 은 제품 디자인을 저작하기 위한 소프트웨어 솔루션과 관련된 컴퓨터-지원 디자인 또는 CAD 를 포함하는 것으로 알려져 있다. 유사하게, 컴퓨터-지원 엔지니어링 (Computer-Aided Engineering) 의 약어인 CAE 는, 예를 들어, 미래의 제품의 물리적 거동을 시뮬레이팅하기 위한 소프트웨어 솔루션에 관련된다. CAM 은 컴퓨터-지원 제조 (Computer-Aided Manufacturing) 를 의미하고, 통상적으로는 프로세스 및 동작을 제조하는 것을 정의하기 위한 소프트웨어 솔루션을 포함한다.
수많은 시스템 및 프로그램이, CATIA 의 상표명으로 Dassault Systemes 가 제조한 것과 같은 제품을 형성하는 오브젝트 (또는 부품) 또는 오브젝트의 어셈블리의 디자인을 위한 마켓에 제안되어 있다. 이들 컴퓨터-지원 디자인 시스템은 사용자로 하여금 오브젝트 및 오브젝트의 어셈블리의 복잡한 3 차원 (3D) 모델을 구성하고 작동하도록 허용한다. 따라서, 컴퓨터-지원 디자인 시스템은 에지 (edge) 또는 라인 (line), 특정 경우에는 면 (face) 을 사용하여 모델링된 오브젝트의 표현을 제공한다. 라인 또는 에지는 다양한 방식, 예를 들어, NURBS (Non-Uniform Rational B-Splines) 으로 표현될 수도 있다. 이들 컴퓨터-지원 디자인 시스템은, 대부분이 기하학적 형상의 사양 (specification) 인 모델링된 오브젝트로서 부품 또는 부품의 어셈블리를 관리한다. 구체적으로, CAD 파일은 기하학적 형상이 생성된 후, 표현이 생성되도록 허용하는 사양을 포함한다. 기하학적 형상 및 표현은 단일의 CAD 파일 또는 다수의 파일로 저장될 수도 있다. 컴퓨터-지원 디자인 시스템은 모델링된 오브젝트들을 디자이너들에게 표현하기 위한 그래픽 툴을 포함하고; 이들 툴은 복잡한 오브젝트들의 디스플레이에 전용되며 - 컴퓨터-지원 디자인 시스템에서 오브젝트를 나타내는 파일의 통상적인 크기는 부품당 1 메가바이트의 범위에 있으며, 어셈블리는 수천 개의 부품을 포함할 수도 있다. 컴퓨터-지원 디자인 시스템은 전자 파일에 저장되는 오브젝트들의 모델을 관리한다.
컴퓨터-지원 기술에서, 그래픽 사용자 인터페이스 (GUI; Graphical User Interface) 는 이 기술의 효율성에 대해서 중요한 역할을 차지한다. 모델링된 오브젝트들을 조작하고 및/또는 네비게이팅하는데 요구되는 대부분의 동작들은 그래픽 사용자 인터페이스 상에서 사용자 (예를 들어, 디자이너) 에 의해 수행될 수도 있다. 특히, 사용자는 제품을 형성하는 모델링된 오브젝트를 생성하고, 변형하고 삭제하며, 또한, 모델링된 오브젝트들이, 예를 들어, 제품 구조를 통해서 어떻게 서로 관련되는지를 이해하기 위해 제품을 탐구할 수도 있다. 통상적으로, 이들 동작은 그래픽 사용자 인터페이스 의 측부에 위치된 전용 메뉴 및 아이콘들을 통해서 수행된다. 최근, CATIA 와 같은 컴퓨터-지원 디자인 시스템은 제품의 표현 근처에 그 기능을 호출하는 것을 허용한다. 디자이너는 더 이상 메뉴 및 아이콘을 향해서 마우스를 이동시킬 필요가 없다. 따라서, 이 동작들은 마우스의 유효범위 (reach) 내에서 이용가능하다. 또한, 이 동작들은 디자이너에 의해 선택된 소정의 동작에 대해 이론적으로 거동하는데, 컴퓨터-지원 디자인 시스템은 마우스 근처에서 디자이너가 선택할 가능성이 있는 이전에 선택된 동작에 따라서 신규의 동작의 세트를 디자이너에게 제안할 수도 있다.
또한, 확대된 진취적 (extended enterprise) 개념을 통해서, 회사들이 제품 데이터를 공유하도록 돕는 비지니스 전략을 지칭하고, 공통의 프로세스를 적용하고, 그리고 제품의 개발에 대한 공통 지식이 그 개념에서 그 수명의 종료시점까지 영향력을 미치게 하는 제품 수명주기 관리 (PLM; Product Lifecycle Management) 솔루션이 공지되어 있다. 관계자 (actor) (회사 부서, 비지니스 파트너, 공급자, 주문자 상표에 의한 생산수출방식 (OEM; Original Equipment Manufacturers), 및 소비자) 를 포함함으로써, PLM 은 이 네트워크로 하여금 단일의 엔티티로서 동작하여 제품 및 프로세스를 개념화하고, 디자인하고, 설계하고 그리고 지원하도록 허용할 수도 있다.
예를 들어, 몇몇 PLM 솔루션은 디지털 모형 (digital mockups; 제품의 3D 그래픽 모델) 을 생성함으로써 제품을 디자인하고 개발하는 것을 가능하게 한다. 디지털 제품은 적당한 어플리케이션을 사용하여 먼저 정의되고 시뮬레이팅될 수도 있다. 그후, 린 디지털 제조 프로세스 (lean digital manufacturing process) 가 정의되고 모델링될 수도 있다.
(상표명 CATIA, ENOVIA 및 DELMIA 로) Dassault Systemes 가 제조한 PLM 솔루션은, 제품 엔지니어링 지식을 편성하는 엔지니어링 허브 (Engineering Hub), 제조 엔지니어링 지식을 관리하는 제조 허브 (Manufacturing Hub), 및 엔지니어링 허브 및 제조 허브로의 진취적 통합 및 연결을 가능하게 하는 진취적 허브 (Enterprise Hub) 를 제공한다. 시스템은 제품, 프로세스, 리소스를 연결하는 오픈된 오브젝트 모델을 모두 함께 전달하여, 최적화된 제품 정의, 제조 준비, 및 생산 및 서비스를 구동하는 동적인, 지식-기반 제품 생성 및 결정을 가능하게 한다.
이러한 PLM 솔루션은 제품의 관계형 데이터베이스 (relational database) 를 포함한다. 이 데이터베이스는 텍스트 데이터의 세트 및 이 데이터 간의 관계를 포함한다. 통상적으로, 데이터는 제품과 관련된 기술적 데이터를 포함하고 서치가능하도록 인덱싱되며, 이 데이터는 데이터 계층으로 순차화되어 있다. 데이터는 종종 모델링된 제품 및 프로세스인 모델링된 오브젝트를 나타낸다.
통상적으로, 제품 구성, 프로세스 지식 및 리소스 정보를 포함하는 제품 수명 정보는 협력 방식으로 편집되도록 의도된다.
현재의 CAD 어플리케이션은 사용자로 하여금 오브젝트들의 어셈블리의 오브젝트 (또는 부품) 사이, 예를 들어, 오브젝트들의 어셈블리의 2 개의 제품 사이에서 공간적 관계를 정의하도록 허용한다. 통상적으로, 당업계에 알려진 바와 같이, 사용자는 오브젝트를 다른 오브젝트에 대해 상대적으로 이동시켜서 특정 위치에 그 오브젝트를 위치시키는 디자이너이다. 예를 들어, 디자이너는 플레이트 내에 구비된 홀을 통해서 스크류를 위치시키고 싶어할 수도 있다. 이 목적을 달성하기 위해, 플레이트의 홀에 대해 스크류의 원하는 위치의 대략적인 근사에 도달할 때까지, 디자이너는 플레이트 상에서 스크류를 선택하여 이동시킨다. 그리고, 스크류와 플레이트의 합치 특성 (mating property) 은 플레이트에 대해 스크류의 위치를 찾도록 사용되고, 그 위치는 디자이너에 의해 제공된 스크류의 위치에 따라서 결정된다.
그러나, 오브젝트를 다른 오브젝트에 대해 상대적으로 위치시키는 것은, 어렵고 디자이너가 제 1 오브젝트를 제 2 오브젝트 (또는 그들의 부품) 위의 정확한 장소로 이동시켜야만 하기 때문에 디자이너에게는 성가신 임무이며, 제 1 오브젝트 및 제 2 오브젝트는 매우 작을 수도 있고, 예를 들어, 오브젝트의 부품은 점 (point) 일 수도 있다.
또한, 대부분의 현재의 솔루션들은 소정의 몇몇 위치들 중에서 2 개의 선택된 오브젝트들 사이의 하나의 위치만을 제안한다. 따라서, 이들 솔루션은 이들 오브젝트들 사이의 모든 관련 솔루션의 전체적인 그리고 순차화된 세트를 제공하지 않고, 따라서, 디자이너는 몇몇 솔루션들 중에서 가장 좋은 솔루션이 무엇인지를 판단할 수 없다. 또한, 사용자가 특정 엘리먼트 위에 오브젝트를 이동시키지 않는 경우, 사용자는 대응 솔루션에 대해 통지되지 않을 것이다.
부수적으로, 몇몇 솔루션은 제 1 오브젝트 및 제 2 오브젝트의 모든 기하학적 엘리먼트를 이용함으로써 2 개의 선택된 오브젝트들 사이의 위치를 디자이너에게 제안하고, 그 다음 쓸모없는 위치들이 빠르게 플러딩 (flood) 될 수 있다.
따라서, 상기 간단히 서술한 기존의 솔루션의 제한에 따라서, 디자이너의 생산성이 증가되고 디자인 에러가 최소화되도록 오브젝트의 반복 어셈블리 (recurrent assembly) 를 더 쉽고 더 빠른 방식으로 개선시킬 필요가 있다.
따라서, 본 발명은 컴퓨터-지원 디자인 시스템에서 오브젝트의 어셈블리를 디자인하기 위한 방법을 제공한다. 이 방법은, 어셈블리의 제 1 오브젝트 및 제 2 오브젝트를 선택하는 단계 (여기서, 제 1 오브젝트 및 제 2 오브젝트 각각은 인터페이스 정보를 가짐), 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계, 적어도 하나의 기준에 따라서 제 1 오브젝트와 제 2 오브젝트 사이의 세트의 상대적인 위치들을 랭킹하는 단계, 및 상기 랭킹하는 단계에 따라서 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들 중 최적의 위치를 제공하는 단계를 포함한다.
본 발명에 따른 방법은 하나 이상의 이하의 특징을 포함할 수도 있다.
- 상대적인 위치들의 세트를 산정하는 단계 이전에, 사용자 동작에 따라서, 제 1 오브젝트에 대한 그리고 제 2 오브젝트에 대한 제약들을 부가하는 단계;
- 상대적인 위치들 중 최적의 위치를 제공하는 단계 이후에, 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들 중 최적의 위치를 그래픽 사용자 인터페이스 (Graphical User Interface) 상에 디스플레이하는 단계;
- 어셈블리의 제 1 오브젝트 및 제 2 오브젝트는 3-차원 모델링된 오브젝트들이고, 상기 적어도 하나의 기준은 이하의 기준들 중 하나이며:
- 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 수많은 제약들;
- 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이에서 사용자에 의해 제안된 수많은 제약들 (여기서, 제 1 오브젝트와 제 2 오브젝트는 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치됨);
- 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치된 어 셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 3-차원 공간 거리;
- 어셈블리의 제 1 오브젝트 및 제 2 오브젝트의 2-차원 공간에서 투 영체들 사이의 거리 (여기서, 제 1 오브젝트와 제 2 오브젝트는 상대적인 위 치들 중 최적의 위치에 따라서 상대적으로 위치됨);
- 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치된 어셈 블리의 제 1 오브젝트와 제 2 오브젝트 사이의 회전 각도;
- 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치된 어셈 블리의 제 1 오브젝트 및 제 2 오브젝트는 그래픽 사용자 인터페이스 상에서 가시적인 것;
- 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치된 어 셈블리의 제 1 오브젝트 및 제 2 오브젝트 사이의 디자인 에러가 검출된 것;
- 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계는, 제 1 오브젝트 및 제 2 오브젝트의 인터페이스 정보의 적어도 하나의 매칭을 산정하는 단계, 및 상기 적어도 하나의 매칭의 각각의 산정 이후에 제 1 오브젝트와 제 2 오브젝트 사이의 기하학적 제약들을 해결하는 단계를 포함한다;
- 인터페이스 정보의 적어도 하나의 매칭을 산정하는 단계 및 적어도 하나의 매칭의 각각의 산정 이후에 기하학적 제약들을 해결하는 단계는, 그래프의 이동 (traversal) 에 따라서 수행되는데, 여기서, 그래프의 각각의 노드는 제 1 오브젝트의 하나의 인터페이스 정보와 제 2 오브젝트의 하나의 인터페이스 정보의 조합을 나타내고, 모 노드 (parent node) 를 가리키는 그래프의 소정의 레벨에서의 그래프의 각각의 노드는 상기 소정의 레벨의 상위 레벨에서의 다른 노드로 이미 표현된 조합을 나타내고, 해결 불가한 기하학적 제약들을 갖는 그래프의 각각의 노드는 그래프에서 제거하며, 소정의 노드에 대해 상대적인 위치들의 세트의 상대적인 위치는 - 상기 소정의 노드의 조합으로부터 설계된 제약들의 세트 및 상기 소정의 노드의 모들 (parents) 의 조합으로부터 설계된 제약들의 세트에 의해 제공되며;
- 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계는, 제 1 오브젝트의 적어도 2 개의 인터페이스 정보 사이의 제 1 식별자 및 제 2 오브젝트의 적어도 2 개의 인터페이스 정보 사이의 제 2 식별자를 산정하는 단계, 제 1 오브젝트의 상기 적어도 2 개의 인터페이스 정보 및 제 2 오브젝트의 적어도 2 개의 인터페이스 정보를 각각 소유하는 오브젝트들과 인터페이스 정보의 상기 제 1 식별자 및 상기 제 2 식별자를 연관시키는 단계, 및 상기 제 1 오브젝트 및 상기 제 2 오브젝트 중 적어도 하나를 수반하는 다른 매칭의 산정 도중에, 상기 제 1 식별자 및 상기 제 2 식별자를 사용하여 매칭을 식별하는 단계를 포함하고;
- 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계는, 사용자에 의해 부가된 제약들을 고려하여 먼저 수행되고, 그후 사용자에 의해 부가된 제약들을 고려하지 않고 수행되고;
- 세트의 상대적인 위치들을 랭킹하는 단계는, 적어도 2 개의 기준에 따라서 수행되고, 상기 적어도 2 개의 기준의 각각의 기준은 랭킹되고, 그 세트의 상대적인 위치들은 랭킹된 기준에 기초하여 사전식 순서 (lexicographic order) 로 랭킹되고,
- 제 1 오브젝트 및 제 2 오브젝트를 선택하는 단계에서, 제 1 오브젝트의 적어도 하나의 퍼블리케이션 (publication) 및 제 2 오브젝트의 적어도 하나의 퍼블리케이션을 식별하는 단계, 및 제 1 오브젝트의 상기 적어도 하나의 식별된 퍼블리케이션 및 제 2 오브젝트의 적어도 하나의 식별된 퍼블리케이션 각각에 대해 제 1 오브젝트의 인터페이스 정보 및 제 2 오브젝트의 인터페이스 정보를 산정하는 단계;
- 제 1 오브젝트의 상기 적어도 하나의 퍼블리케이션 및 제 2 오브젝트의 상기 적어도 하나의 퍼블리케이션은, 기하학적 엘리먼트를 포함하고;
- 제 1 오브젝트의 인터페이스 정보 및 제 2 오브젝트의 인터페이스 정보는, 기하학적 엘리먼트와의 일치를 나타내도록 산정되고,
- 상기 기하학적 엘리먼트는 점, 선, 평면, 및 축 시스템으로 제한되고;
- 상대적인 위치들 중 최적의 위치를 제공하는 단계는 세트의 다른 랭킹된 상대적인 위치들을 제공하는 단계를 더 포함하고, 상대적인 위치들 중 최적의 위치를 그래픽 사용자 인터페이스 상에 디스플레이하는 단계는 세트의 다른 랭킹된 상대적인 위치들을 그래픽 사용자 인터페이스 상에 디스플레이하는 단계를 더 포함하고;
- 세트의 상대적인 위치들의 각각의 위치는 개별적인 렌더링에 의해 디스플레이되고, 개별적인 렌더링은 랭킹 단계의 결과에 따라서 결정되며;
- 상대적인 위치들의 각각의 위치의 개별적인 렌더링은 투명도의 개별적인 레벨이다.
본 발명은, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하기 위한 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램을 제안하고, 이 컴퓨터 프로그램은 컴퓨터-지원 디자인 시스템으로 하여금 본 발명의 단계를 수행하기 위한 코드 수단을 포함한다.
본 발명은 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하기 위한 장치에 관한 것이며, 이 장치는 본 발명의 단계를 구현하기 위한 수단을 포함한다.
이제, 기재된 기술을 사용하는 시스템이 첨부된 도면을 참조하여 비-제한적인 예시의 방법으로 설명될 것이다:
도 1 은 컴퓨터-지원 디자인 시스템에서 통상적인 그래픽 사용자 인터페이스 의 개략적인 도면.
도 2 는 본 발명을 수행하기 위한 일 실시형태의 플로우차트.
도 3 내지 도 5 는 본 발명에 따른 방법의 그래픽 표현들.
도 6 내지 도 8 은 본 발명에 따른 축을 갖는 크랭크 (crank) 의 합치 (mating) 를 도시하는 도면.
도 9 는 본 발명을 수행하기 위해 채택된 하드웨어 및 소프트웨어 환경의 개략도.
도 1 을 참조하여, 예시적인 그래픽 사용자 인터페이스 (또는 그래픽 사용자 인터페이스) (100) 는 표준 메뉴 바 (110, 120) 뿐만 아니라 저부 및 측부의 툴바 (145, 150) 를 갖는 통상적인 CAD 형 인터페이스일 수도 있다. 이러한 메뉴 및 툴바는 사용자-선택가능한 아이콘의 세트를 포함하고, 각각의 아이콘은 당업계에 알려진 바와 같이 하나 이상의 동작 또는 기능과 관련된다.
이들 아이콘의 몇몇은 GUI (100) 에 디스플레이되는 것과 같이 모델링된 제품 (200) 또는 제품 (200) 의 부품 상에서 편집하고 및/또는 작업하도록 채택된 소프트웨어 툴과 관련된다. 후술하는 설명에서, "제품", "부품", "어셈블리" 등은 간략함을 위해 "부품" 으로서 지칭될 수도 있다. "부품" 의 개념이 "오브젝트" 의 개념으로 사실상 일반화될 수 있고, 여기서, 오브젝트는 디자인된 제품의 오직 "물리적" 부분만일 수 있고, 더욱 일반적으로는, 디자인 프로세스 (최종 제품 "에서의" 디자인 프로세스일 필요는 없음) 에 참여하는 임의의 소프트웨어 툴일 수 있음에 유념한다.
소프트웨어 툴은 워크벤치 (workbench) 로 그룹화될 수도 있다. 각각의 워크벤치는 소프트웨어 툴의 서브세트를 포함한다. 특히, 워크벤치들 중 하나는 모델링된 제품 (200) 의 기하학적 특징을 편집하기에 적절한 편집 워크벤치이다. 동작시에, 예를 들어, 디자이너는 오브젝트 (200) 의 일부를 사전-선택 (pre-select) 할 수도 있고, 그후, 동작을 초기화 (예를 들어, 치수, 컬러 등을 변화시킴) 하거나 또는 적절한 아이콘을 선택함으로써 기하학적 제약들을 편집할 수도 있다. 예를 들어, 통상적인 CAD 동작은 스크린에 디스플레이되는 3D 모델링된 오브젝트의 펀칭 (punching) 또는 폴딩 (folding) 의 모델링이다.
또한, 하나 이상의 동작 또는 기능이 GUI (100) 에 디스플레이되는 모델링된 제품 (200) 또는 제품 (200) 의 바로 근처에서 선택될 수도 있다. 이러한 목적을 달성하기 위해, 동작 또는 기능과 관련된 사용자-선택가능 아이콘 (170) 이 셀렉터 (160), 예를 들어, 마우스와 같은 햅틱 디바이스의 커서 주변에 나타날 수도 있다. 사용자는 일 세트의 아이콘 (180) 에 응답하여 디스플레이하는 필랙터리 (170; phylactery) 를 거쳐서 커서 (160) 를 통과시킬 수도 있다. 통상적으로, 사용자-선택가능 아이콘 (170, 180) 은 필랙터리의 형태를 가질 수도 있다. 그후, 사용자는 상기 선택된 아이콘과 관련된 기능을 수행하기 위해 일 세트의 아이콘 (180) 의 아이콘들 중 하나를 선택한다. 또한, 일 세트의 아이콘 (180) 은 이론적으로 동작하고, 즉, 일 세트의 아이콘 (180) 은 사용자가 염두하고 있는 동작에 따라서 컴퓨터-지원 디자인 시스템에 의해 제안된다.
예를 들어, 그래픽 사용자 인터페이스 는 디스플레이된 제품 (200) 과 관련된 데이터 (250) 를 디스플레이할 수도 있다. 도 1 의 예시에서, "피쳐 트리" 로서 디스플레이된 데이터, 및 3D 표현 (200) 은 브레이크 캘리퍼 (brake caliper) 및 디스크를 포함하는 브레이크 어셈블리에 속한다. 그래픽 사용자 인터페이스 는 또한, 예를 들어, 오브젝트의 3D 배향을 용이하게 하고, 편집된 제품의 동작의 시뮬레이션을 트리거하기 위한, 다양한 유형의 그래픽 툴 (130, 160) 을 나타낼 수도 있고 또는 디스플레이된 제품 (200) 의 다양한 속성들을 렌더링할 수도 있다.
도 2 는 본 발명의 일 실시형태를 나타내는 플로우차트이고, 여기서 이 플로우차트는 인터페이스 정보를 갖는 오브젝트를 선택하는 단계 (단계 20, 30, 및 31), 선택된 오브젝트들 사이의 상대적인 위치들의 세트를 상대적으로 산정하는 단계 (단계 40 - 62), 상대적인 위치들을 랭킹하는 단계 (단계 80), 그리고 최적의 위치를 제공하는 단계 (단계 90) 페이즈들에 각각 속하는 4 개의 블록이 관찰된다. 이 플로우차트의 다양한 박스들은 몇몇 형상: 사다리꼴 형상 (2000) 은 사용자 (예를 들어, 디자이너) 입력을 가리키고, 직사각형 형상 (2001) 은 스테이지를 나타내고, 육각형 형상 (2002) 은 루프를 나타내며, 평행사변형 (2003) 은 조건들의 테스트이다.
본 발명의 도시된 실시형태는 오브젝트들의 어셈블리의 제 1 오브젝트 및 제 2 오브젝트의 선택과 함께 시작한다. 제 1 오브젝트 및 제 2 오브젝트는 인터페이스 정보를 갖는다. 이는, 단계 (20, 30, 및 31) 에 의해 도 2 에 도시된다.
단계 (20) 에서, 어셈블리의 제 1 및 제 2 오브젝트가 선택되고, 즉, 오브젝트들의 어셈블리의 오브젝트들 중에서 제 1 및 제 2 오브젝트가 식별되고 선택된다. 이 선택은 CAD 의 시스템에 의해 수행될 수도 있다. 또한, 이 선택은 도 1 에 도시된 바와 같이 컴퓨터-지원 디자인 시스템의 그래픽 사용자 인터페이스 (100) 에서 사용자 작동시에 수행될 수도 있다. 사용자에 의해 선택이 수행될 때, 사용자는 햅틱 디바이스, 예를 들어, 키보드, 마우스, 스타일러스, 터치 스크린, 등을 사용할 수도 있다. 예를 들어, 2-개의 버튼 마우스에서, 마우스의 커서가 그래픽 사용자 인터페이스 의 전용 영역 위에 있을 때 오브젝트를 선택하기 위해 좌측 버튼이 사용될 수 있다.
선택된 제 1 및 제 2 오브젝트는 GUI (100) 에 디스플레이될 수도 있다. 또한, 선택된 제 1 및 제 2 오브젝트는 모델링된 오브젝트 또는 3-차원 (3D) 모델링된 오브젝트일 수도 있다. 3-차원 (3D) 모델링된 오브젝트는 3 차원 (3D) 공간에서 오브젝트의 표현이다. 3D 공간은 좌표 수단에 의해 3-차원 공간에서 모든 점들을 묘사하는 기하학적 형상으로 수학적으로 표현될 수도 있는 물리적 유니버스 (physical universe) 의 기하학적 모델이다. 덧붙여 말하면, 3-차원 공간을 묘사하는 다른 방법이 존재한다. 3D 모델링된 오브젝트는 기하학적 형상이 생성되는 사양을 본질적으로 지칭한다. 따라서, 3D 모델링된 오브젝트는 다양한 기하학적 엔티티, 예를 들어, 삼각형, 라인, 커브형 표면 등에 의해 연결된 3D 공간에서의 점들의 집합인 3D 오브젝트를 묘사하는 수학적 표현이다. 3D 모델링된 오브젝트는 3D 모델링된 오브젝트의 3D 표현에 의해 나타낸다.
또한, 오브젝트들의 어셈블리의 제 1 오브젝트 및 제 2 오브젝트는 상이한 제품일 수도 있다. 제품은 오브젝트들의 어셈블리로 형성된다. 따라서, 선택은 어셈블리의 오브젝트 상에서 또는 어셈블리의 제품상에서 수행될 수도 있다. 제 1 오브젝트는 "위치시키기 위한" 오브젝트 (또는 제품) 으로서 지칭될 수도 있고, 제 2 오브젝트는 "타겟" 오브젝트 (또는 제품) 으로서 지칭될 수도 있다.
제 1 오브젝트 및 제 2 오브젝트는 퍼블리케이션을 갖는다. 통상적으로 퍼블리케이션은 오브젝트를 통해 저장 (또는 "내장") 될 수도 있다. 퍼블리케이션은 오브젝트 하에서 이 오브젝트 내의 기하학적 엘리먼트 또는 다른 퍼블리케이션으로 집합된 링크이고, 이 퍼블리케이션은 제 1 오브젝트를 오브젝트들의 어셈블리의 다른 오브젝트 (예를 들어, 제 2 오브젝트) 와 인터페이싱하는 것에 관한 공공의 합치 정보를 발행하고 만든다. 따라서, 퍼블리케이션은 오브젝트의 위치를 오브젝트들의 어셈블리의 적어도 하나의 다른 오브젝트에 대해 상대적으로 지정하기 위한 지식 세트를 정의할 수도 있다. 오브젝트를 통한 퍼블리케이션의 집합 (또는 "내장") 은, 제 1 오브젝트 및 제 2 오브젝트가 합치를 수행하기 위해 요구되는 정보를 갖기 때문에 오브젝트를 위치시킬 때 자동 제어 방식을 크게 개선한다.
퍼블리케이션은 기하학적 엘리먼트에 대한 링크이다. 유리하게, 기하학적 엘리먼트는 점, 선, 평면, 및 축 시스템으로 제한될 수도 있다. 통상적으로, 어셈블리의 기술적 맥락, 예를 들어, 기계적 맥락에 따라서 제한이 이루어지고, 기하학적 엘리먼트는 점, 선, 평면, 및 축 시스템으로 제한되는 것이 바람직하다. 다른 기술적 맥락 (예를 들어, 기어를 포함하는 기계적 시스템) 에서, 커브는 보존된다. 이는, 오브젝트들을 합치하기 위한 충분한 수의 정보를 유지하면서 오브젝트에 제공된 정보의 양이 제한되는 이러한 제한으로부터 초래한다. 또한, 적어도 하나의 다른 오브젝트에 대해 상대적으로 오브젝트의 위치를 지정하기 위한 솔루션의 수는 제한되어 있고, 대부분의 관련 위치들은 보존된다. 따라서, 시도의 횟수가 감소하면 더 나은 결과가 제공된다.
이제, 도 3 을 참조하여, 플레이트 (300) 및 스크류 (400) 는 도 1 을 참조하여 도시된 그래픽 사용자 인터페이스 (100) 상에 디스플레이된다. 그래픽 사용자 인터페이스 는 디스플레이된 제품 (300 및 400) 과 관련된 데이터 (250) 를 디스플레이한다. 도 3 의 예시에서, 데이터 (250) 는 "피쳐 트리" 로서 디스플레이되고, 플레이트 (300) 및 스크류 (400) 의 퍼블리케이션을 나타낸다. 스크류 (400) 는 축 (401) 의 퍼블리케이션 및 면 (402) 의 퍼블리케이션의 2 개의 퍼블리케이션을 포함한다. 플레이트 (300) 는 홀 (301 내지 304) 의 각각의 축에 대한 하나씩의 퍼블리케이션, 면 (305) 에 대한 하나의 퍼블리케이션의 5 개의 퍼블리케이션을 포함한다. 2 개의 제품 (300) 의 부품의 7 개의 퍼블리케이션들이 퍼블리케이션되고, 이에 따라, 디자이너는 그들이 포함하는 정보에 대한 액세스를 가질 수도 있다.
도 2 로 돌아와서, 단계 (30) 에서, 개시된 기술의 프로세스는, 제 1 오브젝트 및 제 2 오브젝트의 퍼블리케이션이 인터페이스 정보인지의 여부를 결정한다. 모든 퍼블리케이션이 인터페이스 정보인 경우, 프로세스의 다음 단계는 단계 (40) 이다. 반대로, 퍼블리케이션 중 몇몇이 인터페이스 정보가 아닌 경우, 프로세스의 다음 단계는 단계 (31) 이다.
인터페이스 정보는 다른 호환가능한 인터페이스 정보를 갖는 전체적으로 구체화된 제약을 설계하기 위해 데이터에 의해 강화된 퍼블리케이션이다. 따라서, 인터페이스 정보는 어셈블리의 제 1 오브젝트와 마지막에 있는 다른 오브젝트를 인터페이싱하는 것에 대한 합치 정보를 제공하고, 합치 정보는 어셈블리의 제 1 오브젝트를 적어도 하나의 다른 오브젝트에 대해 위치시키기 위해 요구되는 지식을 포함한다. 따라서, 인터페이스 정보 덕택에, 새로운 오브젝트가 부가될 수도 있고 보충 정보를 요청하지 않고 다른 오브젝트에 대해 새로운 오브젝트가 위치될 수도 있다. 인터페이스 정보를 사용하는 것은 디자이너들이 오브젝트의 배치 이전에 그 오브젝트의 합치 정보를 부가할 수 있기 때문에 유리하다. 또한, 디자이너들은 오브젝트에 대한 그들의 권리에 기초하여 오브젝트의 합치 정보에 액세스할 수도 있고 액세스하지 않을 수도 있다. 이는, 디자이너의 에러를 감소시키도록 유도할 수도 있다. 그 결과, 다른 오브젝트에 대해 상대적인 일 오브젝트의 위치지정의 프로세스는 개선되고 더 빠르게 된다.
단계 (31) 에서, 본 발명에 따른 프로세스는 제 1 및 제 2 오브젝트의 적어도 하나의 퍼블리케이션을 식별하고, 제 1 및 제 2 오브젝트의 각각의 식별된 퍼블리케이션에 대한 제 1 및 제 2 오브젝트의 인터페이스 정보를 산정한다. 이러한 목적을 달성하기 위해, 제 1 및 제 2 오브젝트의 퍼블리케이션은, 호환가능한 퍼블리케이션을 갖는 전체적으로 구체화된 제약을 설계하기 위해 예상되는 제 1 오브젝트의 기하학적 형상의 유형, 배향, 및 거리와 같은 모두 이용가능한 정보를 포함하도록 강화된다. 따라서, 인터페이스 정보는 오브젝트들의 어셈블리의 어셈블된 제품으로부터 추론된 정보에 기초하여 설계될 수 있다.
사실상, 제 1 및 제 2 오브젝트의 인터페이스 정보는, 예를 들어, 점-대-점 일치, 선-대-선 일치, 및 평면-투-평면 일치를 갖는, 제품들 사이에서 가장 공통의 기구 조인트, 예를 들어, 일치, 레볼루트, 프리즘의 오브젝트들의 어셈블리의 기하학적 엘리먼트와의 일치를 나타내도록 산정된다. 유리하게, 인터페이스 정보는 오브젝트의 기하학적 엘리먼트와 연결되고, 예를 들어, 기하학적 엘리먼트는 점, 선, 평면, 및 축 시스템에 제한될 수도 있다. 퍼블리케이션에 대해서와 마찬가지로, 이는, 오브젝트들을 합치하기 위한 정보의 요구되는 양이 제한되는 제약으로부터 초래한다.
추가적으로, 제 1 및 제 2 오브젝트의 퍼블리케이션이 강화되면, 즉, 인터페이스 정보가 산정되면, 후킹 포인트 (hooking point) 가 설계될 수도 있다. 후킹 포인트는 공통의 식별자를 갖는 인터페이스 정보 또는 퍼블리케이션들의 세트이다. 프로세스의 이 스테이지에서, 후킹 포인트는 단계 (31) 에서 산정된 인터페이스 정보를 식별하는 것을 허용한다.
그러나, 인터페이스 정보는 퍼블리케이션으로부터 항상 산정될 수 없고, 예를 들어, 산정을 수행하기에 이용가능한 충분한 정보는 없다. 이 목적을 달성하기 위해, 인터페이스 정보 및 퍼블리케이션은 호환가능하고, 이는 단계 (40 - 90) 가 퍼블리케이션만으로, 인터페이스 정보 만으로, 또는 퍼블리케이션과 인터페이스 정보의 혼합으로 수행될 수도 있다는 것을 수반한다.
단계 (30 및 31) 가 수행되면, 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하기 위해 단계 (40 - 62) 가 수행된다. 이 스테이지에서, 제 1 및 제 2 오브젝트는 인터페이스 정보를 갖고, 상대적인 위치의 세트의 산정은 이들 인터페이스 정보의 도움으로 수행될 수도 있다. 그러나, 전술한 바와 같이, 이 세트의 산정은 퍼블리케이션만으로 또는 퍼블리케이션과 인터페이스 정보의 혼합으로 수행될 수도 있다.
제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들의 세트의 산정은 또한 제안된 제약인 보충 제약을 고려할 수도 있다. 사실상, 전술한 단계 (40 - 62) 를 수행하기 전에, 사용자 동작시에 제 1 오브젝트 및 제 2 오브젝트에 제약들이 입력될 수도 있다. 유리하게, 위치들의 세트의 산정 도중에 제안된 제약들을 고려하는 것은 어셈블리 프로세스의 속도를 증가시키는 것을 허용한다. 사실상, 오브젝트들을 합치하도록 선택하고 제안된 제약들을 제공하는 것이 동시에 수행된다고 가정하면, 오브젝트들을 합치시키기 위해 조작의 보충 시간을 요구하지 않고, 위치의 산정된 세트는 사용자의 디자인 의도를 포함할 것이다. 따라서, 오브젝트들을 어셈블링하는 동안 조작의 횟수가 감소된다.
통상적으로, 예를 들어, 도 3 에 도시된 것과 동일한 스크류 (400) 및 플레이트 (300) 를 나타내는 도 4 에 도시된 것과 같은 제 1 및 제 2 오브젝트를 클릭함으로써, 제 1 및 제 2 오브젝트를 선택할 때, 사용자는 제안된 제약들을 입력할 수도 있다. 스크류 (400) 의 하부면 (402) 은 사용자가 점 (403) 상에 햅틱 디바이스의 커서를 이용하여 클릭함으로써 선택되고, 플레이트 (300) 의 상부면은 사용자가 점 (310) 상에서 햅틱 디바이스의 커서를 이용하여 클릭함으로써 선택된다. 또한, 사용자가 드래그 및 드롭 동작을 통해서 제약들을 제안하는 것도 가능하다. 예를 들어, 사용자는 스크류 (400) 의 하부면 (402) 을 선택할 수도 있고, 스크류를 플레이트 (300) 의 상면 위에서 드래그할 수도 있고, 그 점 (403) 가 플레이트 (300) 의 점 (310) 주변에 있는 경우 스크류 (400) 를 드롭할 수도 있다. 또한, 도 3 을 참조하여, 제안된 제약들은 "트리" (250) 를 통해서 입력될 수도 있다. 비-제한적인 방법으로, 당업계에 공지된 임의의 다른 수단이 사용되어 제약들을 제안할 수도 있다.
단계 (40) 의 서브-단계 (41 - 62) 는 2 개의 경로로 달성된다. 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 것은, 사용자에 의해 입력된 제약들을 고려하여 먼저 수행되고, 그후, 사용자에 의해 입력된 제약들을 고려하지 않고 수행된다. 바람직하게, 2 개의 경로의 산정은 사용자에 의해 제안된 제약들을 포함하는 위치를 포함하지만, 특징적인 엘리먼트만을 사용하는 위치를 또한 포함하는 상대적인 위치들의 세트를 산정하는 것을 허용한다. 인터페이스 정보로부터 설계된 하나 이상의 제약들을 갖는 상대적인 위치는, 인터페이스 정보로부터 설계된 제약을 통해서 완성될 수 없는 제안된 제약들에 대해 우선된다. 특히, 제안된 제약들을 고려하는 임의의 위치가 산정될 수도 있는 경우, 본 발명에 따른 프로세스는 인터페이스 정보로부터 산정된 적어도 하나의 상대적인 위치들의 세트를 제공할 수도 있다.
상대적인 위치들의 세트를 산정하는 것 (단계 41 - 62) 은 2 개의 서브-단계를 포함할 수도 있다. 제 1 서브-단계는 단계 (50 - 52) 로 정의되는데, 제 1 및 제 2 오브젝트의 인터페이스 정보의 적어도 하나의 매칭을 산정하도록 구성된다. 제 2 서브-단계는 단계 (60 - 62) 를 포함하는데, 단계 (50 - 52) 에서 수행된 적어도 하나의 매칭의 각각의 산정 이후에 제 1 오브젝트와 제 2 오브젝트 사이의 기하학적 제약들을 해결하도록 구성된다. 따라서, 인터페이스 정보에 의해 제공된 기하학적 제약들의 모든 조합을 시도함으로써 상대적인 위치들이 발견된다 (즉, 산정된다). 기하학적 제약들의 조합은, 조합이 해결될 수 있고 어떠한 제약도 조합의 다른 제약들에 의해 남지 않는 경우의 상대적인 위치이다.
바람직하게는, 오브젝트들의 인터페이스 정보들 사이의 매칭의 산정 및 기하학적 제약들의 해결은, 산정 단계 및 해결 단계 도중에 설계되고 이동되는 전용 그래프 구조에 의해 수행된다.
당업계에 공지된 바와 같이, 그래프 구조는 아크 (arc) 로 연결된 노드들로 구성된다. 그래프의 각각의 노드는 제 1 오브젝트의 하나의 인터페이스 정보와 제 2 오브젝트의 하나의 인터페이스 정보의 조합을 나타내고, 이들 각각의 아크는 노드에서 다른 노드를 이동하는 가능성을 나타낸다.
전술한 바와 같이, 인터페이스 정보 또는 퍼블리케이션들의 후킹 포인트는 단계 (31) 에서 산정될 수도 있다. 후킹 포인트는 산정된 인터페이스 정보를 식별하도록 허용하고 인터페이스 정보의 그 그룹들을 생성하도록 허용한다. 유리하게, 동일한 후킹 포인트에 속하는 인터페이스 정보들 사이의 임의의 매칭이 산정된다. 따라서, 산정의 수가 감소된다. 다시 도 3 을 참조하여, 인터페이스 정보가 스크류 (400) 및 플레이트 (300) 의 퍼블리케이션들로부터 시작하는 것을 산정하는 시나리오를 고려한다. 이 시나리오에서, 스크류 (400) 의 후킹 포인트는 그 2 개의 퍼블리케이션으로부터 설계되고, 플레이트 (300) 의 후킹 포인트는 그 5 개의 퍼블리케이션으로부터 설계된다. 상대적인 위치들을 산정할 때, 스크류 (400) 의 퍼블리케이션과 플레이트 (300) 의 퍼블리케이션 사이의 매칭만이 산정된다.
그래프는 먼저 폭 (breadth) 으로 이동하는 수개의 레벨 (단계 43 - 44) 를 포함하고: 그 레벨의 형제 노드 (sibling node) 는 그 후손 노드 이전에 이동한다. 따라서, 그래프는 레벨마다 이동하고, 모 레벨의 모든 노드가 산정되고 해결되고 또는 적어도 테스팅되면, 모 레벨 (parent level) 은 자 레벨 (child level) 을 떠난다. 그래프의 소정의 레벨에서의 그래프의 각각의 노드는 모 노드를 지목할 수도 있고, 자 노드는 모 노드에 연결된다. 그러나, 자 노드에 의해 나타난 조합이 상위 레벨의 다른 노드로 이미 표현되는 경우에만, 자 노드는 모 노드를 지목할 수도 있다. 즉, 그래프 구조를 설계하는 동안, 조합을 나타내는 노드는 그 조합이 그 이전에 나타날 수 없는 경우에는 자 (child) 일 수 없다.
사실상, 설계된 그래프의 제 1 레벨은 루트 노드 (root node) 이다 (단계 42). 루트 노드는 그래프의 가장 높은 레벨이다. 그래프의 수개의 레벨이 설계되고 이동된다 (단계 43 - 44). 이 그래프는 제 1 및 제 2 오브젝트의 인터페이스 정보들 사이의 모든 조합을 포함하는 적어도 제 2 레벨로 구성된다. 소정의 레벨의 각각의 노드에 대해, 제 1 및 제 2 오브젝트의 인터페이스 정보의 하나의 매칭이 산정된다 (단계 50). 어떠한 매칭도 산정되지 않는 경우, 노드는 트리로부터 절단된다. 유리하게, 이는, 서치 그래프가 인터페이스 정보의 매칭의 산정의 수를 제한하는 것을 허용하고: 사실상, 자 노드로 표현된 조합이 상위 레벨의 다른 노드로 이미 표현된 경우에만 자 노드는 모 노드를 지목한다. 결과적으로, 어떠한 매칭도 갖지 않는 조합은 하위 레벨의 그래프에서 재사용될 수 없기 때문에, 서치 그래프를 통과하도록 요구되는 시간은 증가된다. 따라서, 그래프를 설계하고 통과하는 전반적인 프로세스가 강화된다.
반대로, 노드에서 매칭이 산정되는 경우, 노드의 기하학적 제약들이 해결된다 (단계 53). 기하학적 제약들을 해결하는 것은 당업계에 알려진 바와 같이 솔버 (solver) 에 의해 수행될 수도 있다. 매칭을 갖지 않는 노드들의 제거 (supression) 는 해결하는 단계에서 유리하다는 것을 알 수 있다. 사실상, 기하학적 제약들을 해결하는 것은 시스템의 거대한 양의 산정적 리소스들, 예를 들어, CPU, 메모리,... 를 요구한다. 그 결과, 현재 개시된 기술은 산정적 리소스를 보존하는 것을 허용하고, 상대적인 위치들을 산정하는데 요구되는 시간은 감소된다.
그래프의 해결 불가한 기하학적 제약들을 갖는 그래프의 각각의 노드는, 해결된 기하학적 제약들을 갖는 노드를 유지하면서, 제거된다 (단계 61). 따라서, 이 그래프는 단계마다 설계되고 이동된다. 그래프가 이동되면, 그래프의 노드는 그후 상대적인 위치들의 세트가 부가된 상대적인 위치를 제공한다 (단계 62). 노드의 상대적인 위치는, 노드의 조합으로부터 설계된 일 세트의 제약들 및 노드의 모들의 조합으로부터 설계된 일 세트의 제약들에 의해 제공된다.
부수적으로, 상대적인 위치들을 산정하기 위해 요구되는 산정의 횟수는 식별자, 예를 들어, 후킹 포인트의 사용 덕택에 개선될 수도 있다. 이 목적을 달성하기 위해, 오브젝트의 인터페이스 정보 사이의 식별자가 산정되고, 이 식별자는 인터페이스를 소유하는 각각의 오브젝트와 연관된다. 다음으로, 식별자가 사용되어 상기 제 1 및 상기 제 2 오브젝트 중 적어도 하나의 오브젝트를 수반하는 다른 매칭의 산정 도중에, 매칭을 식별한다. 식별자 덕택에, 조합의 이전 매칭을 식별하는 것이 가능하여, 이는 솔루션으로서 이미 산정된 매칭에 특권을 주는 가능성을 제공한다.
단계 (70 - 71) 에서, 상대적인 위치의 세트의 상대적인 위치 각각의 제약과 관련된 데이터를 산정하기 위해 단계 (40 - 62) 에서 산정된 솔루션이 처리된다. 또한, 단계 (71) 에서, 적어도 하나의 기준이 세트의 상대적인 위치들을 랭킹하도록 산정된다. 유리하게, 이 기준은 오직 단 한 번만 산정되며, 그후, 세트의 상대적인 위치를 랭킹하는데 사용되어, 이에 따라, 리소스의 소비를 제한한다.
단계 (80) 에서, 제 1 오브젝트와 제 2 오브젝트 사이의 세트의 상대적인 위치들은 적어도 하나의 기준에 따라서 랭킹된다. 랭킹하는 단계는, 예상되는 상대적인 위치가 무엇인지 결정하기 쉬운 상대적인 위치의 리스트를 제공한다. 중요하게, 랭킹은 기준, 즉, 판정 또는 결정이 사전에 산정된 상대적인 위치들을 랭킹하는 것에 기초할 수도 있는 표준에 따라서 수행된다.
사실상, 하나의 기준은 위치들 사이에서 결정하는 것을 충족하지 않고, 일반적으로 적어도 2 개의 기준이 사용되어 상대적인 위치들 사이의 랭킹을 수행한다. 또한, 각각의 기준이 랭킹되고, 랭킹된 그 기준에 의존하여 상대적인 위치들이 사전식 순서로 랭킹된다. 사전식 순서는 2 개의 순차화된 세트의 알맞은 순서 구조를 제공한다. 예를 들어, 위치들의 제 1 세트의 위치가 제 1 기준에 따라서 동일한 랭킹을 갖는 경우, 그 위치는 제 2 기준에 따라서 랭킹된다. 그 결과, 제 2 세트의 위치는 제 1 및 제 2 기준에 따라서 제공되고 랭킹된다. 제 2 세트가 여전히 동일한 랭킹을 갖는 위치들을 포함하는 경우, 다음으로, 제 3 기준은 새로운 세트의 위치를 랭킹하는데 사용될 수도 있다.
통상적으로, 어셈블리의 제 1 오브젝트 및 제 2 오브젝트는 3-차원 모델링된 오브젝트이고, (바람직한 랭킹에서의) 기준은 이하의 기준들 중 하나이다.
i) 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 수많은 제약들: 이 기준은 가장 중요한 수의 제약들을 해결하는 상대적인 위치, 즉, 그래프 구조의 루트로부터 가장 먼 상대적인 위치를 선택한다. 유리하게, 이는, 보다 적은 자유도를 갖는 위치를 증진시키는 것을 허용한다.
ii) 어셈블리의 제 1 오브젝트와 제 2 오브젝트 사이의 사용자에 의해 제안된 수많은 제약들: 제 1 오브젝트는 2 개의 위치 사이의 동일한 수의 제약들에 대해 위치되고, 제안된 제약들의 대부분의 중요한 수를 포함하는 위치가 바람직할 것이다.
iii) 어셈블리의 제 1 오브젝트와 제 2 오브젝트의 2-차원 공간에서 투영체들 사이의 거리, 제 1 오브젝트가 위치되고; 제 1 오브젝트 및 제 2 오브젝트는 3-차원 오브젝트이다. 제 1 오브젝트 및 제 2 오브젝트는 평면상에 투영될 수도 있고, 예를 들어, 평면은 컴퓨터 스크린에 의해 정의된다. 거리는, 사용자에 의해 사전에 입력된 2 개의 선별점 (picking point) 들 사이에서 측정될 수도 있는데, 예를 들어, 사용자는 사전에 관찰되는 바와 같이 제 1 오브젝트 및 제 2 오브젝트를 선택할 때 제약들을 제안한다. 따라서, 제 1 오브젝트의 각각의 상대적인 위치는 선별점뿐만 아니라 제 2 오브젝트도 갖는다. 따라서, 위치지정된 제 1 오브젝트 및 제 2 오브젝트의 선별점들 사이의 거리가 측정될 수도 있다. 측정된 거리에 따라서, 상대적인 위치가 랭킹될 수도 있다. 사실상, 위치지정된 제 1 오브젝트와 제 2 오브젝트 사이의 더 작은 거리를 제공하는 상대적인 위치에 특권이 주어지고, 그 측정된 길이가 더 짧으면 상대적인 위치는 더 좋다. 사실상, 보다 더 짧은 거리에 우선권을 부여하는 것은, 디자이너가 권리를 갖고 싶어하는 상대적인 위치를 시스템에게 표시하는 가능성을 가질 수도 있기 때문에, 일반적인 디자인 프로세스를 개선시키는 것을 허용하며, 이는, 제 1 오브젝트와 제 2 오브젝트를 선택하는 동안 오브젝트를 클릭함으로써 쉬운 방법으로 수행될 수 있다. 또한, 디자이너는 기대되는 솔루션을 갖기 위해 전체 제 2 오브젝트를 정확하게 브라우징할 필요는 없고: 제 2 오브젝트에서의 간단한 클릭이면 충분하다. 따라서, 예를 들어, 잘못된 제 2 오브젝트를 선택하는 것과 같은 대부분의 디자인 에러는 방지될 수도 있다. 그러므로, 디자이너의 생산성이 크게 향상되도록 더 쉽고 더 빠른 방법으로 오브젝트의 반복 어셈블리가 이루어진다.
iv) 3-차원 공간에서, 상대적으로 위치지정된 제 1 오브젝트와 제 2 오브젝트 사이의 거리; 제 1 오브젝트와 제 2 오브젝트는 3-차원 오브젝트이다. 유사하게, 이 거리는 위치지정된 제 1 오브젝트와 제 2 오브젝트의 선별점들 사이에서 측정되고, 더 작은 측정 거리에 특권이 부여될 수도 있다. 동일한 이점이 포인트 iii 에서와 같이 제공된다는 것을 이해한다.
v) 위치지정된 제 1 오브젝트와 제 2 오브젝트 사이의 회전 각도; 제 1 오브젝트 및 제 2 오브젝트는 3-차원 오브젝트이다. 회전 각도는, 산정된 상대적인 위치로 고정시키기 위해 선택된 제 1 오브젝트에 의해 수행된 회전을 측정한다. 회전의 측정 각도에 따라서, 상대적인 위치가 랭킹될 수도 있다. 사실상, 회전의 더 작은 각도에 특권이 주어지고: 오브젝트들의 어셈블리를 디자인하는 동안 디자이너들이 보는 것에 더 가까운 솔루션에 대한 특권에 유리하다. 예를 들어, 도 3 의 스크류 (400) 는 플레이트 (300) 의 상부면 또는 하부면 상에 헤드를 이용하여 홀 (301 - 303) 을 통해서 통과할 수도 있다. 그러나, 스크류 (400) 가 선택될 때 그 최상부에 대해 터닝되는 헤드를 갖기 때문에, 그 최상부에 대해 터닝되는 헤드를 갖는 스크류를 갖는 위치는, 스크류의 헤드가 저부에 대해 터닝되는 위치와 비교했을 때, 회전 각도가 후자의 경우에 대해 전자의 경우가 더 작기 때문에, 더 특권이 주어진다.
vi) 어셈블리의 위치지정된 제 1 오브젝트 및 제 2 오브젝트는 그래픽 사용자 인터페이스 상에서 가시적이다. 가시적인 상대적인 위치는 가시적이지 않은 위치와 비교하여 특권이 주어진다. 사실상, 위치지정된 제 1 오브젝트 (위치시키기 위한 오브젝트) 는 그래픽 사용자 인터페이스 상에서 가시적이고, 그 선별점는 솔루션의 상대적인 위치에서 가시적이다. 바람직하게, 디자이너는 사용자가 관심이 없는 상대적인 위치에 의해서는 플러딩 (flood) 되지 않으며: 사실상, 디자이너는 어셈블리의 몇몇 오브젝트에만 포커싱하고, 이에 따라, 다른 오브젝트에 관심을 갖지 않는다. 부수적으로, 디자이너는 어셈블리에 대해 줌 아웃할 수도 있고, 새로운 상대적인 위치가 랭킹의 단계 도중에 고려될 수도 있다.
vii) 위치지정된 제 1 오브젝트와 제 2 오브젝트 사이의 디자인 에러가 검출된다. 통상적으로, 디자인 에러는 간섭 사양에 관련되지 않을 때 발생한다. 일반적으로, 간섭 사양은 충돌, 접촉 및 제거 사양을 내포한다. 이와 관련하여, 2 개의 오브젝트 사이의 충돌 (물질 상호침투; matter interpenetration) 을 회피하는 것이 중요하다. 사실상, 충돌이 검출되는 경우, 위치는 상대적인 위치들의 세트로부터 제거된다.
그 기준은 앞서 언급된 것에 제한되지 않고, 임의의 다른 기준이 상대적인 위치들을 랭킹하기 위해 사용될 수도 있다. 또한, 기준의 랭킹은 사용자에 의해 변형될 수도 있다. 이러한 방법에 의해, 상대적인 위치의 랭킹은 사용자의 니즈 및 요구를 충족한다.
단계 (90) 에서, 그 랭킹에 따라서, 제 1 오브젝트와 제 2 오브젝트 사이의 상대적인 위치들 중 최적의 위치가 제공된다. 상대적인 위치들 중 최적의 위치는 다른 위치들 중 가장 많은 기준을 충족하는 위치이며: 따라서, 이는 사전식 순서로 랭킹된 위치들 중에서 제 1 위치이다. 따라서, 오브젝트들의 어셈블리를 디자인하는 동안 디자이너의 수명 경험은 증가된다. 개시된 기술 덕택에, 디자이너의 뷰는 위치들의 중요한 수에 의해 더 이상 플러딩되지 않는다. 따라서, 디자이너의 생산성이 증가된다.
부수적으로, 상대적인 위치들 중 최적의 위치가 디자이너를 만족시키지 않는 경우, 디자이너는 다른 위치를 디스플레이할 가능성을 갖는다. 통상적으로, 사용자에게는 그 랭킹 순서 이후에 하나씩 산정된 위치들이 제공된다. 예를 들어, 사용자는 작동, 예를 들어, 마우스 휠의 작동시에 햅틱 디바이스를 동작시킬 수도 있고, 산정된 위치들은 상대적인 위치의 랭킹에 기초하여 감소하는 순서로 디스플레이되고: 위치들은 좋은 위치에서 나쁜 위치로 디스플레이된다.
도 3 내지 도 5 는 본 발명에 따른 방법의 실시형태의 그래픽 표현이다. 도 3 은 그래픽 사용자 인터페이스 상에 디스플레이된 플레이트 (300) 및 스크류 (400) 를 도시한다. 스크류 (400) 는 "위치시키는 (to place)" 오브젝트이고, 플레이트 (300) 는 "타겟 (target)" 오브젝트이다. "피쳐 트리" 는 그들의 퍼블리케이션과 같은 양자의 오브젝트의 그래픽 사용자 인터페이스 특성으로 나타난다. 스크류 (400) 는 2 개의 퍼블리케이션: 축 (401) 의 퍼블리케이션 및 면 (402) 의 퍼블리케이션을 포함한다. 플레이트 (300) 는 5 개의 퍼블리케이션: 홀들 (301 내지 304) 의 축 각각에 대한 하나씩의 퍼블리케이션, 및 면 (305) 에 대한 하나의 퍼블리케이션을 포함한다.
다음으로, 도 4 에서, 사용자는, 예를 들어, 마우스의 커서에 의해, 오브젝트 (400) 의 하부면 (402) 의 점 (403) 을 클릭함으로써 "위치시키는" 오브젝트 (400) 를 선택한다. 다음으로, 사용자는 오브젝트 (300) 의 상부면 (305) 의 점 (310) 상에서 클릭함으로써 "타겟" 오브젝트 (300) 를 선택한다. 스크류 (400) 및 플레이트 (300) 의 퍼블리케이션은 인터페이스 정보가 아니기 때문에, 스크류의 후킹 포인트는 2 개의 퍼블리케이션으로부터 설계되고, 플레이트의 후킹 포인트는 5 개의 퍼블리케이션으로부터 설계된다. 또한, 사용자는, 스크류 및 플레이트를 선택하면서 제약들: 플레이트의 상면 및 스크류의 하면 사이의 사용자 제약들을 제안한다.
다음으로, 프로세스는 스크류와 플레이트 사이의 상대적인 위치들의 세트를 산정한다. 이러한 목적을 달성하기 위해, 제안된 제약들을 고려함으로써 제 1 경로에서, 그리고 제안된 제약들을 고려하지 않음으로써 제 2 경로에서, 그래프가 설계되고 통과된다. 상대적인 위치들의 세트는 산정되고, 스크류와 각각의 홀의 축-축 일치에 기초하여 4 개의 위치들을 포함한다. 설명의 목적을 위해, 위치들 (420 - 423) 은 도 4 에 고스트 뷰 (ghost view) 로 나타낸다. 동작시에, 위치들은 나타나지 않는다.
다음으로, 산정된 세트의 상대적인 위치들이 그 기준에 따라서 랭킹된다. 제 1 기준은 스크류와 플레이트 사이의 수많은 제약들을 분석한다; 그 수는 동일하다. 따라서, 산정된 위치를 분리하기 위해 제 2 기준이 요구되는데: 스크류와 플레이트 사이의 사용자에 의해 제안된 제약들의 수는 각각의 위치와 동일하다. 그후, 제 3 기준이 사용되는데: 스크류 (400) 의 선별점 (403) 는 각각의 상대적인 위치 (420 - 423) 에 위치되고, 점 (430 - 433) 과 플레이트 (300) 의 선별점 (310) 사이의 2-차원 스페이스의 거리가 또한 측정된다. 그 거리가 더 짧으면, 위치가 더 좋다. 도 4 에 따르면, 상대적인 위치들은 (최적의 위치에서 가장 나쁜 위치로): 상대적인 위치들 중 최적의 위치 (1 로 표시됨) 는 상대적인 위치 (423) 이고, 그 다음에는 상대적인 위치 (422) (2 로 표시됨), 그 다음은 (420) (3 으로 표시됨), 그리고 그 다음은 (421) (4 로 표시됨) 로 랭킹된다.
다음으로, 상대적인 위치들 중 최적의 위치 (423) 가 제공된다. 통상적으로, 상대적인 위치들 중 최적의 위치는 그래픽 사용자 인터페이스 상에 디스플레이된다. 따라서, 디자이너는 제공된 최적의 위치가 디자이너 (his/her) 의 기대 및 디자인 의도를 충족하는 지의 여부를 빠르게 평가할 수 있다.
도 5 는, 디자이너가 스크류 헤드 (400) 의 코너 (500a) 및 플레이트 (300) 의 코너 (500b) 를 선택하는 것을 제외하고는, 도 4 와 유사하다. 따라서, 사용자에 의해 제안된 제약들은 2 개의 코너 사이의 콘택트이다. 상대적인 위치들의 세트를 산정할 때, 사용자에 의해 제안된 제약들은 퍼블리케이션으로 설계된 제약에 의해 완성된다. 그러나, 이 경우, 조합이 제약을 넘은 제약들의 조합으로부터 결과를 초래한다. 따라서, 제안된 제약들을 고려하는 그래프의 제 1 경로는 실패하고, 상대적인 위치들의 세트가 그래프의 제 2 경로로부터만, 즉, 제안된 제약들을 고려하지 않고 산정된다. 그 결과, 상대적인 위치들은 스크류와 플레이트의 퍼블리케이션들에 기초하여 산정된다. 다음으로, 세트의 상대적인 위치는 도 4 와 유사하고, 가장 좋은 솔루션 (501) 이 그래픽 사용자 인터페이스 상에 제공되고 디스플레이된다.
부수적으로, 상대적인 위치들 중 최적의 위치에게는 세트의 다른 랭킹된 상대적인 위치들이 제공될 수도 있고, 상대적인 위치들 중 최적의 위치에게는 세트의 다른 랭킹된 상대적인 위치들이 제공될 수도 있다. 바람직하게는, 디자이너는 산정된 상대적인 위치들을 모두 볼 수도 있고, 이에 따라, 디자이너 (he/she) 는 가장 많이 관련된 위치가 무엇인지를 결정할 수도 있다. 따라서, 사용자는, 예를 들어, 그래픽 사용자 인터페이스 가 여기에 나타난 수많은 상대적인 위치들에 의해 오버크라우드 (over-crowed) 되는 경우, 동시에 디스플레이되는 상대적인 위치의 수를 제한할 수도 있다.
또한, 세트의 상대적인 위치들의 각각의 위치는 개별적인 렌더링에 의해 디스플레이될 수도 있고, 개별적인 렌더링은 랭킹 단계의 결과에 따라서 결정된다. CAD 의 분야에서, "렌더링" 단계의 결과는 이 오브젝트의 특정 특징을 나타내는 오브젝트 가시적 속성 (컬러, 투명도 레벨, 텍스쳐, 조명 파라미터 등) 에 적용하는 대안의 가시성을 나타낸다. 이는, 물리적 특징 (예를 들어, 엔진은 금속성 외관 (metallic aspect) 으로 렌더링될 것임), 또는 내구성 특징 (엔진은 그 열 응력을 나타내는 컬러 체계를 통해서 렌더링될 것임), 또는 다른 가능한 특징일 수도 있다. 따라서, 디스플레이된 각각의 상대적인 위치는 그 랭킹에 기초하여 다른 가시성일 수도 있는 고유한 렌더링을 가질 수도 있다. 바람직하게, 사용자는 각각의 상대적인 위치의 개별적인 랭킹을 디스플레이된 상대적인 위치들 사이에서 빠르고 쉽게 평가할 수도 있다.
사실상, 상대적인 위치들의 각각의 위치의 개별적인 렌더링은 투명도의 개별적인 레벨일 수도 있다. 통상적으로, 각각의 위치의 개별적인 렌더링은, 더 나은 위치에 있을수록 디스플레이된 위치가 덜 투명하게 된다. 자동적으로, 가장 좋은 솔루션은 약간 투명하고, 가장 나쁜 솔루션은 거의 투명하며; 중간 솔루션은 가장 좋은 솔루션보다 훨씬 더 투명하다. 사실상, 최적의 위치의 투명도는 기준값으로 설정되고, 제 2 솔루션으로부터 가장 마지막 솔루션까지의 투명도는 가장 높은 값 (기준 값의 1/2) 에서 가장 낮은 값 (거의 투명) 으로 선형적으로 그리고 규칙적으로 감소한다. 또한, 개별적인 렌더링은 컬러 코드에 따라서 수행될 수도 있다.
부수적으로, 디자이너는 위치들 사이에서 네비게이팅할 수도 있다. 동시에 디스플레이된 위치들 중 하나는 그 위에 커서를 위치시킴으로써 강조될 수도 있다. 통상적으로, 이는 햅틱 디바이스상에서 사용자 동작 시에 수행되고, 예를 들어, 마우스의 커서가 그 위치 위에 배치된다. 위치의 강조는 예를 들어 위치의 하이라이트 (highlight) 덕택에 수행될 수도 있다. 하이라이트는 그 위치의 표현에 방사력이 있는 그리고 약한 컬러를 적용하는 것으로 이루어진다. 강조하는 것은 또한 강조된 위치의 아웃라인을 두껍게 하는 위치의 이러한 블링킹하는 것, 또한 강조된 위치의 아웃라인을 형성하는 점의 밀도를 증가시키는 것의 시각적인 효과를 통해서 수행될 수도 있다. 이러한 방법에 의해, 디자이너로 하여금 다른 위치를 구별하도록 허용하는 임의의 수단이 사용될 수도 있다.
이제, 도 6 내지 도 8 을 참조하여, 축 (901) 을 갖는 크랭크 (900) 의 합치가 도시된다. 도 6 에서, 본 발명에 따라서 산정된 상대적인 위치들의 세트의 몇몇 위치들이 그래픽 사용자 인터페이스 상에 표현된다. 이들 표현들 중에서, 최적의 위치 (910) 는 덜 투명하고, 사실상 이 위치 (920 및 930) 는 더욱 투명하다. 도 6 은 산정된 위치의 투명도과 관련성 사이의 선형성을 나타낸다. 따라서, 사용자는 투명도가 덜 중요한 것에 따른 최적의 위치를 용이하게 검출할 수 있다. 한편, 최적의 위치가 디자이너에게 적절한 것으로 고려되지 않는 경우, 디자이너는 다른 위치를 여전히 관찰할 수도 있다.
도 7 에서, 디자이너는 최적의 위치 (910) 상에서 햅틱 디바이스의 커서 (902) 를 이동시킨다. 결과적으로, 디자이너는 최적의 위치에 기초하여 솔루션을 사전-구체화할 수도 있고: 다른 위치들의 투명도는 위치 (910) 의 투명도가 증가하는 동안 감소된다. 따라서, 솔루션 위치 (910) 가 강조되고, 이는, 바람직하게 사용자로 하여금 솔루션을 용이하게 이해하게 하도록 허용한다.
도 8 에 도시된 것과 같이, 디자이너가 다른 위치 (930) 위에 커서 (902) 를 이동시킬 때, 다음으로, 이 위치가 강조된다. 따라서, 디자이너는 다른 위치와 개별적으로 각각의 위치를 프리뷰할 수 있다.
전술한 방법은 CAD/CAM/CAE 시스템에 의해 정의될 수 있는 임의의 구성으로 임의의 오브젝트에, 또는 오브젝트들의 어셈블리를 디자인하는데 사용되는 임의의 시스템에 적용될 수 있다는 것을 이해할 것이다. 본 발명은, 디지털 전자 회로에서 구현되고, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 그들의 조합에서 구현될 수도 있다. 본 발명의 장치는 프로그래밍가능한 프로세서에 의한 실행을 위해 머신-판독가능 저장 매체에 명백하게 내장된 컴퓨터 프로그램 제품에서 구현될 수도 있고; 본 발명의 방법 단계들은 입력 데이터에서 동작함으로써 그리고 출력을 발생시킴으로써 본 발명의 기능들을 수행하기 위해 명령의 프로그램을 실행하는 프로그래밍가능한 프로세서에 의해 수행될 수도 있다.
본 발명은, 바람직하게, 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령을 수신하고 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스에 데이터 및 명령을 송신하기 위해 커플링된 적어도 하나의 프로그래밍가능한 프로세서를 포함하는 프로그래밍가능한 시스템에서 실행가능한 하나 이상의 컴퓨터 프로그램에서 구현될 수도 있다. 어플리케이션 프로그램은, 높은-레벨의 절차적인 또는 오브젝트-지향의 프로그래밍 언어에서 구현될 수도 있거나, 또는 원하는 경우, 어셈블리 또는 머신에서 구현될 수도 있고; 임의의 경우, 이 언어는 컴파일링된 또는 해석된 언어일 수도 있다.
도 9 는 클라이언트 컴퓨터 시스템, 예를 들어, 오브젝트의 어셈블리를 디자인하는 사용자의 워크스테이션을 나타낸다. 클라이언트 컴퓨터는 내부 통신 BUS (1200) 에 연결된 중앙 프로세싱 유닛 (CPU; 1201), 그 BUS 에 또 연결된 랜덤 액세스 메모리 (RAM; 1207) 를 포함한다. 클라이언트 컴퓨터 시스템에는 BUS 에 연결된 비디오 랜덤 액세스 메모리 (1210) 와 관련된 그래픽 프로세싱 유닛 (GPU; 1211) 이 더 제공된다. 또한, 비디오 RAM (1210) 는 프레임 버퍼로서 당업계에 알려져 있다. 대량 저장 디바이스 컨트롤러 (1202) 는 대량 메모리 디바이스, 예를 들어, 하드 드라이브 (1203) 로의 액세스를 관리한다. 컴퓨터 프로그램 명령 및 데이터를 명백하게 내장하기에 적절한 대량 메모리 디바이스는, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스; 내부 하드 디스크 및 탈착식 디스크와 같은 자기 디스크; 자석-광학 디스크; 및 CD-ROM 디스크 (1204) 와 같은 반도체 메모리 디바이스의 예시를 포함하는 비휘발성 메모리의 모든 형태를 포함한다. 전술한 임의의 것은, 주문용 집적 회로 (ASIC) (application-specific integerated circuit) 에 의해 보충될 수도 있고 통합될 수도 있다. 네트워크 어답터 (1205) 는 네트워크 (1206) 로의 액세스를 관리한다. 클라이언트 컴퓨터 시스템은 또한 커서 제어 디바이스, 키보드 등과 같은 햅틱 디바이스 (1209) 를 포함할 수도 있다. 커서 제어 디바이스는 디스플레이 (1208) 상에서 임의의 원하는 위치에 커서를 선택적으로 위치시키도록 사용자를 허용하기 위해 클라이언트 컴퓨터에서 사용된다. 또한, 커서 제어 디바이스는 사용자로 하여금 다양한 커맨드, 및 입력 제어 신호를 선택하도록 허용한다. 커서 제어 디바이스는 시스템으로의 입력 제어 신호에 대한 수많은 신호 생성 디바이스를 포함한다. 통상적으로, 커서 제어 디바이스는 마우스일 수도 있고, 마우스의 버튼은 신호를 생성하기 위해 사용된다.
본 발명의 바람직한 실시형태가 설명되었다. 본 발명의 사상 및 범위에서 벗어나지 않고 다양한 변형이 이루어질 수 있다는 것을 이해한다. 따라서, 다른 구현이 이하의 청구범위의 범위 내에 있다. 예를 들어, 기준을 랭킹하는 것은 어셈블리의 기술적인 맥락에 의존할 수도 있다.

Claims (18)

  1. 컴퓨터-지원 디자인 (Computer-Aided Design) 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법으로서,
    - 상기 어셈블리의 제 1 오브젝트 및 제 2 오브젝트를 선택하는 단계 (20) 로서, 상기 제 1 오브젝트 및 상기 제 2 오브젝트 각각은 인터페이스 정보를 갖는, 상기 선택하는 단계 (20);
    - 상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계 (40);
    - 적어도 하나의 기준에 따라서 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 상기 상대적인 위치들의 세트의 상기 상대적인 위치들을 랭킹하는 단계 (80); 및
    - 상기 랭킹하는 단계에 따라서 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 상기 상대적인 위치들 중 최적의 위치를 제공하는 단계 (90) 를 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  2. 제 1 항에 있어서,
    상기 상대적인 위치들의 세트를 산정하는 단계 이전에,
    - 사용자 작동에 따라서, 상기 제 1 오브젝트 및 상기 제 2 오브젝트에 대한 제약들 (constraints) 을 부가하는 단계를 더 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  3. 제 1 항에 있어서,
    상기 상대적인 위치들 중 최적의 위치를 제공하는 단계 이후에,
    - 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 상기 상대적인 위치들 중 최적의 위치를 그래픽 사용자 인터페이스 (Graphical User Interface) 상에 디스플레이하는 단계를 더 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  4. 제 2 항에 있어서,
    상기 어셈블리의 상기 제 1 오브젝트 및 상기 제 2 오브젝트는 3-차원 모델링된 오브젝트이고,
    상기 적어도 하나의 기준은:
    - 상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 수많은 제약들;
    - 상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이에서 사용자에 의해 제안된 수많은 제약들로서, 상기 제 1 오브젝트 및 상기 제 2 오브젝트는 상기 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치되는, 상기 사용자에 의해 제안된 수많은 제약들;
    - 상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트의 2-차원 공간의 투영체 (projection) 들 사이의 거리로서, 상기 제 1 오브젝트 및 상기 제 2 오브젝트는 상기 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치되는, 상기 투영체들 사이의 거리;
    - 상기 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치된 상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 3-차원 공간에서의 거리;
    - 상기 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치된 상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 회전 각도;
    - 상기 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치된 상기 어셈블리의 상기 제 1 오브젝트 및 상기 제 2 오브젝트는 그래픽-사용자 인터페이스 상에서 가시적인 것;
    - 상기 상대적인 위치들 중 최적의 위치에 따라서 상대적으로 위치된 상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 디자인 에러가 검출되는 것
    중 하나인, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  5. 제 1 항에 있어서,
    상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계는:
    - 상기 제 1 오브젝트와 상기 제 2 오브젝트의 상기 인터페이스 정보의 적어도 하나의 매칭을 산정하는 단계; 및
    상기 적어도 하나의 매칭의 각각의 산정 이후에 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 기하학적 제약들을 해결하는 단계를 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  6. 제 5 항에 있어서,
    상기 인터페이스 정보의 적어도 하나의 매칭을 산정하는 단계 및 상기 적어도 하나의 매칭의 각각의 산정 이후에 기하학적 제약들을 해결하는 단계는, 그래프의 이동 (traversal) 에 따라서 수행되고,
    - 상기 그래프의 각각의 노드는 상기 제 1 오브젝트의 하나의 인터페이스 정보 및 상기 제 2 오브젝트의 하나의 인터페이스 정보의 조합을 나타내고;
    - 모 노드 (parent node) 를 가리키는, 상기 그래프의 소정의 레벨에서 상기 그래프의 각각의 노드는 상기 소정의 레벨의 상위 레벨에서 다른 노드에 의해 이미 나타난 조합을 나타내고;
    - 해결 불가한 기하학적 제약들을 갖는 상기 그래프의 각각의 노드는 상기 그래프에서 제거되고; 그리고
    소정의 노드에 대해, 상기 상대적인 위치들의 세트의 상대적인 위치는:
    - 상기 소정의 노드의 조합으로부터 설계된 제약들의 세트; 및
    - 상기 소정의 노드의 모들 (parents) 의 조합으로부터 설계된 제약들 의 세트에 의해 제공되는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  7. 제 5 항에 있어서,
    상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계는:
    - 상기 제 1 오브젝트의 적어도 2 개의 인터페이스 정보 사이의 제 1 식별자 및 상기 제 2 오브젝트의 적어도 2 개의 인터페이스 사이의 제 2 식별자를 산정하는 단계;
    - 상기 제 1 오브젝트의 상기 적어도 2 개의 인터페이스 정보 및 상기 제 2 오브젝트의 상기 적어도 2 개의 인터페이스 정보를 각각 소유하는 오브젝트들에 상기 인터페이스 정보의 상기 제 1 식별자 및 상기 제 2 식별자를 연관시키는 단계; 및
    - 상기 제 1 오브젝트 및 상기 제 2 오브젝트를 수반하는 다른 매칭의 상기 산정 도중에, 상기 제 1 식별자 및 상기 제 2 식별자를 사용하여 매칭을 식별하는 단계를 더 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  8. 제 2 항에 있어서,
    상기 어셈블리의 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 상대적인 위치들의 세트를 산정하는 단계는, 상기 사용자에 의해 부가된 제약들을 고려하여 먼저 수행되고, 그후, 상기 사용자에 의해 부가된 상기 제약들을 고려하지 않고 수행되는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  9. 제 1 항에 있어서,
    상기 세트의 상기 상대적인 위치들을 랭킹하는 단계는, 적어도 2 개의 기준들에 따라서 수행되고,
    상기 적어도 2 개의 기준들의 각각의 기준은 랭킹되고, 상기 세트의 상대적인 위치들은 상기 랭킹된 기준에 기초하여 사전식 순서 (lexicographic order) 로 랭킹되는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  10. 제 1 항에 있어서,
    상기 제 1 오브젝트 및 제 2 오브젝트를 선택하는 단계에서,
    - 상기 제 1 오브젝트의 적어도 하나의 퍼블리케이션 (publication) 및 상기 제 2 오브젝트의 적어도 하나의 퍼블리케이션을 식별하는 단계;
    - 상기 제 1 오브젝트의 상기 적어도 하나의 식별된 퍼블리케이션 및 상기 제 2 오브젝트의 상기 적어도 하나의 식별된 퍼블리케이션 각각에 대해 상기 제 1 오브젝트의 인터페이스 정보 및 상기 제 2 오브젝트의 인터페이스 정보를 산정하는 단계를 더 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  11. 제 10 항에 있어서,
    상기 제 1 오브젝트의 상기 적어도 하나의 퍼블리케이션 및 상기 제 2 오브젝트의 상기 적어도 하나의 퍼블리케이션은 기하학적 엘리먼트들을 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  12. 제 10 항에 있어서,
    상기 제 1 오브젝트의 상기 인터페이스 정보 및 상기 제 2 오브젝트의 상기 인터페이스 정보는 기하학적 엘리먼트들과의 일치를 나타내도록 산정되는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  13. 제 11 항에 있어서,
    상기 기하학적 엘리먼트들은 점, 선, 평면, 및 축 시스템으로 제한되는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  14. 제 3 항에 있어서,
    - 상기 상대적인 위치들 중 최적의 위치를 제공하는 단계는 상기 세트의 다른 랭킹된 상대적인 위치들을 제공하는 단계를 더 포함하고;
    - 상기 상대적인 위치들 중 최적의 위치를 그래픽 사용자 인터페이스 상에 디스플레이하는 단계는 상기 세트의 다른 랭킹된 상대적인 위치들을 그래픽 사용자 인터페이스 상에 디스플레이하는 단계를 더 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  15. 제 2 항에 있어서,
    상기 세트의 상기 상대적인 위치들의 각각의 위치는 개별적인 렌더링에 의해 디스플레이되고, 상기 개별적인 렌더링은 랭킹하는 단계의 결과에 따라서 결정되는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  16. 제 15 항에 있어서,
    상기 상대적인 위치들의 각각의 위치의 상기 개별적인 렌더링은 개별적인 레벨의 투명도인, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법.
  17. 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하기 위해 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 프로그램은, 상기 컴퓨터-지원 디자인 시스템으로 하여금 제 1 항 내지 제 16 항 중 어느 한 항에 기재된 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법의 단계들을 수행하는 코드 수단을 포함하는, 컴퓨터 판독가능 매체.
  18. 제 1 항 내지 제 16 항 중 어느 한 항에 기재된 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법의 단계들을 구현하기 위한 수단을 포함하는, 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 장치.
KR1020100109769A 2009-11-06 2010-11-05 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템 KR101649096B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09306065.5 2009-11-06
EP09306065A EP2333683A1 (en) 2009-11-06 2009-11-06 Method and system for designing an assembly of objects in a system of computer-aided design

Publications (2)

Publication Number Publication Date
KR20110050383A KR20110050383A (ko) 2011-05-13
KR101649096B1 true KR101649096B1 (ko) 2016-08-19

Family

ID=41718944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100109769A KR101649096B1 (ko) 2009-11-06 2010-11-05 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템

Country Status (6)

Country Link
US (1) US8473259B2 (ko)
EP (1) EP2333683A1 (ko)
JP (1) JP5697951B2 (ko)
KR (1) KR101649096B1 (ko)
CN (1) CN102073499B (ko)
CA (1) CA2719603C (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009089849A1 (de) * 2008-01-18 2009-07-23 Siemens Aktiengesellschaft Planungsvorrichtung und verfahren zur planung einer technischen anlage
EP2333682B1 (en) * 2009-11-06 2020-05-20 Dassault Systèmes Method and system for designing an assembly of objects in a system of computer-aided design
US8296706B2 (en) * 2010-04-26 2012-10-23 International Business Machines Corporation Handling two-dimensional constraints in integrated circuit layout
US20120010860A1 (en) * 2010-05-20 2012-01-12 Kirkling Daniel R System, method, and apparatus for engine installation integration
EP2523132A1 (en) * 2011-05-11 2012-11-14 Dassault Systèmes Designing a three-dimensional modeled assembly of objects in a three-dimensional scene
KR101179492B1 (ko) * 2011-08-08 2012-09-07 주식회사 쌤스인터내셔널 3차원 모델 조립 장치 및 방법
JP2013093018A (ja) * 2011-09-29 2013-05-16 Romax Technology Ltd 回転機械
EP2600315B1 (en) * 2011-11-29 2019-04-10 Dassault Systèmes Creating a surface from a plurality of 3D curves
US10656437B2 (en) 2011-12-21 2020-05-19 Brien Holden Vision Institute Limited Optical lens with halo reduction
US10176291B2 (en) 2012-07-06 2019-01-08 Siemens Product Lifecycle Management Software Inc. Ordering optional constraints in a variational system
US20150286752A1 (en) * 2014-04-03 2015-10-08 Pavestone, LLC Concrete block modular interface
US9606526B2 (en) 2014-05-28 2017-03-28 Siemens Product Lifecycle Management Software Inc. Intelligent constraint selection for positioning tasks
RU2622211C2 (ru) * 2014-06-25 2017-06-13 Акционерное общество "Всероссийский научно-исследовательский институт "Сигнал" (АО "ВНИИ "Сигнал") Способ моделирования многокомпонентных изделий в компьютерных системах двух- и трехмерного проектирования
US10235807B2 (en) * 2015-01-20 2019-03-19 Microsoft Technology Licensing, Llc Building holographic content using holographic tools
US10394967B2 (en) * 2015-06-18 2019-08-27 Siemens Product Lifecycle Management Software Inc. Method and apparatus for automatically assembling components in a computer-aided design (CAD) environment
EP3159850A1 (en) * 2015-10-25 2017-04-26 Dassault Systèmes Comparing 3d modeled objects
KR20180051288A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
EP3905019A4 (en) * 2018-12-26 2022-09-28 PJ Factory Co., Ltd. GENERATION AND VISUALIZATION OF MULTI-DEPTH IMAGES
US20210240881A1 (en) * 2020-02-05 2021-08-05 Dassault Systemes Solidworks Corporation Predictive Modeling
US11698998B2 (en) * 2020-03-24 2023-07-11 Autodesk, Inc. Computer aided design (CAD) model connection propagation
US11681835B2 (en) 2020-12-31 2023-06-20 Hexagon Technology Center Gmbh Rapid positioning drawing system and method
CN113011017B (zh) * 2021-03-04 2023-09-05 信义汽车玻璃(深圳)有限公司 基于产品模块化的数据处理方法、装置、设备及存储介质
CA3201665A1 (en) * 2022-05-31 2023-11-30 Pratt & Whitney Canada Corp. System and method for generating assembly instructions for a plurality of 3d component models

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030004908A1 (en) 2001-06-29 2003-01-02 Linthicum Steven Eric Method and system for automated maintenance and training instruction generation and validation
US20030067487A1 (en) 2001-09-28 2003-04-10 Autodesk, Inc. Intelligent constraint definitions for assembly part mating
JP2007500906A (ja) 2003-05-20 2007-01-18 レゴ エー/エス 3次元オブジェクトのデジタル表現を操作するための方法およびシステム
US20080172208A1 (en) 2006-12-28 2008-07-17 Dassault Systems Method and computer program product of computer aided design of a product comprising a set of constrained objects

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251290A (en) * 1991-03-25 1993-10-05 Schlumberger Technology Corporation Modeling method for sorting dependencies among geometric entities
US5497453A (en) * 1993-01-05 1996-03-05 International Business Machines Corporation Method and apparatus for detecting and visualizing interferences between solids
US7110005B2 (en) * 2002-09-06 2006-09-19 Autodesk, Inc. Object manipulators and functionality
EP1939771A1 (en) * 2006-12-28 2008-07-02 Dassault Systèmes Method and a computer program product for computer aided design of a product comprising a set of constrained objects
WO2010024929A1 (en) * 2008-08-30 2010-03-04 All About Choice, Inc. System, apparatus, and method for decision support
EP2333682B1 (en) * 2009-11-06 2020-05-20 Dassault Systèmes Method and system for designing an assembly of objects in a system of computer-aided design

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030004908A1 (en) 2001-06-29 2003-01-02 Linthicum Steven Eric Method and system for automated maintenance and training instruction generation and validation
US20030067487A1 (en) 2001-09-28 2003-04-10 Autodesk, Inc. Intelligent constraint definitions for assembly part mating
JP2007500906A (ja) 2003-05-20 2007-01-18 レゴ エー/エス 3次元オブジェクトのデジタル表現を操作するための方法およびシステム
US20080172208A1 (en) 2006-12-28 2008-07-17 Dassault Systems Method and computer program product of computer aided design of a product comprising a set of constrained objects

Also Published As

Publication number Publication date
CA2719603A1 (en) 2011-05-06
US20110270586A1 (en) 2011-11-03
US8473259B2 (en) 2013-06-25
JP5697951B2 (ja) 2015-04-08
CN102073499B (zh) 2016-01-13
KR20110050383A (ko) 2011-05-13
CN102073499A (zh) 2011-05-25
CA2719603C (en) 2018-07-17
EP2333683A1 (en) 2011-06-15
JP2011100456A (ja) 2011-05-19

Similar Documents

Publication Publication Date Title
KR101649096B1 (ko) 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템
KR101669050B1 (ko) 컴퓨터-지원 디자인 시스템에서 오브젝트들의 어셈블리를 디자인하는 방법 및 시스템
CN107544797B (zh) 用于生成在图形用户接口上显示的对象色彩的方法和装置
JP6125747B2 (ja) データベースとインタラクションを行うcadシステムのセッション内のモデル化オブジェクトの設計
US11163915B2 (en) Three-dimensional modeled object
KR101925640B1 (ko) 3차원 장면에서 오브젝트들의 3차원 모델링된 어셈블리의 디자인
CN105389412B (zh) 顺序更新的执行
CN105761303A (zh) 在3d建模组件上创建包围盒
CN105389413B (zh) 按序更新的准则
JP2019153280A (ja) 製品の部品の組み立て方法
JP6437847B2 (ja) 方程式によって制約された物理システムの設計
JP6389033B2 (ja) オブジェクトの円形ジグザグ・パターンの設計

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right