KR20140088027A - 기하학적인 패턴을 형성하는 페이스들의 그룹들 - Google Patents

기하학적인 패턴을 형성하는 페이스들의 그룹들 Download PDF

Info

Publication number
KR20140088027A
KR20140088027A KR1020130167847A KR20130167847A KR20140088027A KR 20140088027 A KR20140088027 A KR 20140088027A KR 1020130167847 A KR1020130167847 A KR 1020130167847A KR 20130167847 A KR20130167847 A KR 20130167847A KR 20140088027 A KR20140088027 A KR 20140088027A
Authority
KR
South Korea
Prior art keywords
group
pattern
faces
paces
geometric
Prior art date
Application number
KR1020130167847A
Other languages
English (en)
Other versions
KR101993935B1 (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 KR20140088027A publication Critical patent/KR20140088027A/ko
Application granted granted Critical
Publication of KR101993935B1 publication Critical patent/KR101993935B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • 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
    • 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
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/2016Rotation, translation, scaling
    • 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/2021Shape modification

Landscapes

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

Abstract

3차원 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법이 제공된다. 본 방법은 모델링된 오브젝트의 경계 표현을 제공하는 단계 (S10); 그 페이스들이 다른 것의 복사본 페이스인 페이스들의 세트의 서브세트를 결정하는 단계 (S20); 기하학적인 패턴을 형성하는 서브세트 내에 페이스들의 제 1 그룹을 형성하는 단계 (S30); 및 제 2 그룹의 각각의 페이스에 있어, 제 1 그룹의 각각의 페이스에 인접하고 그리고 제 2 그룹의 페이스들의 각각의 쌍에 있어, 그 쌍의 페이스들이 인접한 제 1 그룹의 각각의 페이스들을, 하나를 나머지 다른 하나로, 변환하는 강체 운동에 따르는 페이스들의 적어도 하나의 제 2 그룹을 페이스들의 제 1 그룹에 연관시키는 단계 (S40) 를 포함한다.
이런 방법은 3D 모델링된 오브젝트의 설계를 향상시킨다.

Description

기하학적인 패턴을 형성하는 페이스들의 그룹들{GROUPS OF FACES THAT FORM A GEOMETRICAL PATTERN}
본 발명은 컴퓨터 프로그램들 및 시스템들의 분야에 관한 것으로, 좀더 구체적으로는, 3차원 (3D) 모델링된 오브젝트를 설계하는 방법, 시스템 및 프로그램에 관한 것이다.
다수의 시스템들 및 프로그램들이 오브젝트들의 설계, 엔지니어링 및 제조를 위해 시장에 제공되고 있다. CAD 는 Computer-Aided Design 의 두문자어이며, 예컨대, 오브젝트를 설계하기 위한 소프트웨어 솔루션들에 관련된다. CAE 는 Computer-Aided Engineering 의 두문자어이며, 예컨대 미래 제품의 물리적인 거동을 시뮬레이션하는 소프트웨어 솔루션들에 관련된다. CAM 은 Computer-Aided Manufacturing 의 두문자어이며, 예컨대 제조 프로세스들 및 동작들을 정의하는 소프트웨어 솔루션들에 관련된다. 이런 시스템들에서, 그래픽 사용자 인터페이스 (GUI) 는 기법의 효율을 고려할 때 중요한 역할을 한다. 이들 기법들은 제품 수명주기 관리 (PLM) 시스템들 내에 내장될 수도 있다. PLM 은 회사들이 확장 기업의 개념을 넘어서, 제품 데이터를 공유하고, 공통 프로세스들을 적용하고, 그리고 착상으로부터 그들의 수명의 끝까지 제품들의 개발을 위한 공동 지식 (corporate knowledge) 을 레버리지하는 것을 돕는 비즈니스 전략을 지칭한다.
Dassault Systemes 에 의해 (상표들 CATIA, ENOVIA 및 DELMIA 로) 제공되는 PLM 솔루션들은 제품 엔지니어링 지식을 조직하는 엔지니어링 허브, 제조 엔지니어링 지식을 관리하는 제조 허브, 및 엔지니어링 허브 및 제조 허브 양자에의 기업 통합들 및 접속들을 가능하게 하는 기업 허브를 제공한다. 동시에, 이 시스템은, 최적화된 제품 정의, 제조 준비, 생산 및 서비스를 유도하는 동적인, 지식-기반의 제품 생성 및 결정 지원을 가능하도록, 개방형 오브젝트 모델 링킹 제품들, 프로세스들, 리소스들을 전달한다.
많은 CAD 시스템들은 현재 사용자로 하여금, 사용자에게 제공되는 모델링된 오브젝트의 경계 표현 (B-Rep) 에 기초하여, 3D 모델링된 오브젝트를 설계가능하게 한다. B-Rep 는 각각의 지지하는 표면의 구획된 부분으로서 정의된 페이스들 (faces) 의 세트를 포함하는 데이터 포맷이다. 사용자는 기존 페이스들을 수정하고, 새로운 페이스들을 생성하고, 일부 페이스들을 삭제하고, 및/또는 페이스들 상 및/또는 페이스들 사이의 제약들, 또는 사용시에 CAD 시스템에 의해 제공되는 임의의 액션들 등을 정의함으로써, 페이스들의 세트에 대해 작용할 수도 있다. 이런 경우, 효율 목적들을 위해, 입체의 이력은 일반적으로 사용자에게 이용불가능하다.
개발중인 이런 3D 설계의 양태들 중 하나가 "패턴 인식" 으로 알려져 있다. 용어 "패턴" 은 동일한 기하학적 피쳐의 복사본들의 규칙적인 레이아웃들을 지칭한다. 패턴들을 인식하는 것은 설계 동안 단일 엘리먼트와 같은 패턴들의 처리를 가능하게 하여, 설계 가능성들 (design possibilities) 의 어레이를 확장할 수 있게 한다. 예를 들어, 패턴의 엘리먼트들을 하나하나씩 수정하는 대신, 패턴의 사전 인식 덕분에, 사용자는 패턴의 수정들을 글로벌하게 예컨대, 단일 액션들로 수행할 수도 있다. 패턴 인식은 기계 설계, 소비재, 빌딩 아키텍처, 항공우주 산업, 또는 다른 영역들과 같은 CAD 의 상이한 영역들에 관련된다.
패턴 인식은 피쳐 인식과 관련될 수도 있다. 피쳐 인식은 주어진 3D 오브젝트 (일반적으로, 기계적 부분을 나타내는 입체) 상에서 특징적 형태들을 인식하는데 유용하다. 기계 설계에 대한 흥미있는 특징적 형태들은 예를 들어, 홀들, 압출되는 패드들, 압출되는 포켓들, 필릿들 (fillets) 또는 둥근 모양들 (rounds), 바깥쪽으로 말린 (revolute) 패드들, 및/또는 바깥쪽으로 말린 포켓들을 포함한다. 특징적 형태를 인식하는 것은 더 나은 의미론적 레벨, 예를 들어, 압출되는 또는 바깥쪽으로 말린 형태의 프로파일, 바깥?으로 말린 형태의 말림 축 (revolution axis), 둥근 모양들 및 필릿들의 반경 값, 압출 방향, 및/또는 압출 깊이를 통해서, 그의 사양들을 식별하는 것과 마찬가지이다. 이 정보는 예를 들어, 압출의 프로파일을 편집함으로써 형태를 수정하거나 또는 하류 프로세스, 예를 들어, 기계가공 프로세스에 공급하기 위해 사용된다.
피쳐 인식 능력들은 다음 절차를 통해서 상업적 CAD 시스템들에 이용가능하다. 사용자는 인식할 피쳐의 유형을 선택할 수도 있다. 그 후, 옵션적으로, 사용자는 탐색을 개시하기 위해 입체 상의 피쳐의 하나 이상의 페이스들을 선택한다. 시스템은 인식을 수행하고 그 인식된 피쳐의 사양들을 획득한다.
그 의도가 입력 입체의 형태를 로칼로 변경하는 것일 때, "직접 편집하는" 능력이 또한 이용될 수 있다. 이 기술은, 또한 "이력 비제한 모델링 (history free modeling)" 으로 불리며, 이력 설계에 대한 대안으로서 CAD 에디터들에 의해 장려되고 있다. 그 목표는 오직 그의 B-Rep 만을 이용함으로써 입체의 형태를 용이하게 변경하는 것이다. 사용자 관점으로부터 편집하는 것을 간단히 하기 위해서, "직접 편집하는" 기술은 입체의 로칼 형태를 인식해야 한다. 예를 들어, 시스템은 홀의 원통형 형태를 유지하고 (그리고, 실린더를 자유 형태 표면으로 변경하지 않고), 포켓의 벽들의 수직 방향을 유지하거나, 및/또는 형태의 바깥쪽으로 말린 또는 압출되는 성질을 유지해야 한다. 그 결과, 피쳐 인식은 심지어 "직접 편집하는" 분야에서도 피할 수 없다.
전통적인 피쳐 인식은 한번에 하나의 피쳐를 처리한다. 주어진 피쳐의 다수의 복사본들을 인식하지 않고, 이들 복사본들의 레이아웃을 인식하지 않는다. 패턴 인식에 대해서, 당면 과제는 여전히 개발 중에 있으며, 그러나 기존 솔루션들은 많은 사용자-개입들을 필요로 하는 것 같다.
따라서, 기존 솔루션들은 특히, 사용자 이용 관점에서 그리고 완전포괄성 (exhaustiveness) 관점에서, 효율이 부족하다. 이러한 상황 내에서, 3D 모델링된 오브젝트를 설계하는 향상된 솔루션이 여전히 요구되고 있다.
일 양태에 따르면, 따라서 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법이 제공된다. 본 방법은 모델링된 오브젝트의 경계 표현 (boundary representation) 을 제공하는 단계를 포함한다. 경계 표현은 각각의 지지하는 표면의 구획된 부분으로서 정의된 페이스들의 세트를 포함한다. 본 방법은 또한 페이스들이 다른 것의 복사본 페이스인 경계 표현의 페이스들의 세트의 서브세트를 결정하는 단계를 포함한다. 본 방법은 또한 기하학적인 패턴을 형성하는 그 서브세트 내에 페이스들의 제 1 그룹을 형성하는 단계를 포함한다. 그리고, 본 방법은 페이스들의 제 1 그룹을 페이스들의 적어도 하나의 제 2 그룹에 연관시키는 단계를 포함한다. 제 2 그룹의 페이스들은 제 2 그룹의 각각의 페이스에 있어, 제 1 그룹의 각각의 페이스에 인접한다. 제 2 그룹의 페이스들은 또한 제 2 그룹의 페이스들의 각각의 쌍에 있어, 그 쌍의 페이스들이 인접한 제 1 그룹의 각각의 페이스들을, 하나를 나머지 다른 하나로, 변환하는 강체 운동 (rigid motion) 을 따른다.
본 방법은 다음 중 하나 이상을 포함할 수도 있다:
- 연관시키는 단계에 있어, 강체 운동이 또한 하나를 나머지 다른 하나로, 적어도 제 1 그룹의 각각의 페이스들에 쌍의 페이스들의 인접의 영역에서, 그 쌍의 페이스들 각각에 대해 지지하는 표면들을 변환할 때, 그 쌍의 페이스들이 인접한 제 1 그룹의 각각의 페이스들을, 하나를 나머지 다른 하나로, 변환하는 강체 운동에 따르는 페이스들의 쌍이 평가된다;
- 제 2 그룹의 페이스들의 개수는 제 1 그룹의 페이스들의 개수 마이너스 미리 결정된 임계치 보다 더 높다;
- 본 방법은 각각의 블록에 있어, 제 2 그룹의 각각의 페이스에 인접한 접속된 페이스들의 세트이고 그리고 블록들의 각각의 쌍에 있어, 강체 운동을 따르는 페이스들의 블록들의 적어도 하나의 그룹을 페이스들의 제 1 그룹에 연관시키는 단계를 더 포함한다;
- 본 방법은 반복되며, 한 반복에서 제 1 그룹에 포함되거나 또는 제 1 그룹에 연관되는 페이스들은 다음 반복들을 위해서 폐기된다;
- 서브세트 내에 페이스들의 제 1 그룹을 형성하는 것은 기하학적인 패턴들의 미리 결정된 세트 중 하나의 발생이 서브세트 내에 존재하는지를 테스트하는 것을 포함한다;
- 기하학적인 패턴들의 미리 결정된 세트는 주기적으로 정의된 패턴들의 세트를 포함한다;
- 주기적으로 정의된 패턴들의 세트는 선형 패턴 및/또는 원형 패턴을 포함하는 1차원 패턴, 및/또는 직사각형의 그리드 패턴 및/또는 원형의 그리드 패턴을 포함하는 그리드 패턴을 포함한다;
- 테스트하는 것은 기하학적인 패턴들의 미리 결정된 세트를 우선순위 순서에 따라서 브라우징하는 것을 포함한다;
- 기하학적인 패턴들의 미리 결정된 세트는 원형의 그리드 패턴, 직사각형의 그리드 패턴, 원형 패턴, 그리고, 그밖에, 선형 패턴을 포함한다; 및/또는
- 테스트하는 것은 기하학적인 패턴들의 미리 결정된 세트를, 원형의 그리드 패턴, 직사각형의 그리드 패턴, 원형 패턴, 그리고 그밖에, 선형 패턴을 최고 우선순위로부터 최저 우선순위까지, 순서정렬하는 우선순위 순서에 따라서 브라우징하는 것을 포함한다.
상기 방법을 수행하는 명령들을 포함하는 컴퓨터 프로그램이 추가로 제안된다. 컴퓨터 프로그램은 컴퓨터 판독가능 저장 매체 상에 기록되도록 적응된다.
상기 컴퓨터 프로그램을 안에 기록하고 있는 컴퓨터 판독가능 저장 매체가 추가로 제안된다.
상기 컴퓨터 프로그램을 안에 기록하고 있는 메모리 및 그래픽 사용자 인터페이스에 커플링된 프로세서를 포함하는 CAD 시스템이 추가로 제안된다.
본 발명의 실시형태들이 이하 비한정적인 예로서, 그리고 첨부 도면들을 참조하여, 설명된다.
도 1 은 본 방법의 일 예의 플로우차트를 나타낸다.
도 2 는 그래픽 사용자 인터페이스의 일 예를 나타낸다.
도 3 은 클라이언트 컴퓨터 시스템의 일 예를 나타낸다.
도 4 내지 도 61 은 본 방법의 예들을 나타낸다.
도 1 은 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법의 플로우차트를 나타낸다. 본 방법은 모델링된 오브젝트의 경계 표현을 제공하는 단계 (S10) 를 포함한다. 경계 표현은 페이스들의 세트를 포함한다. 각각의 페이스는 각각의 지지하는 표면의 구획된 부분으로서 정의된다. 본 방법은 또한 페이스들이 또 다른 것의 복사본 페이스인 경계 표현의 페이스들의 세트의 서브세트를 결정하는 단계 (S20) 를 포함한다. 본 방법은 또한 기하학적인 패턴을 형성하는 서브세트 내에 페이스들의 제 1 그룹을 형성하는 단계 (S30) 를 포함한다. 그리고, 본 방법은 페이스들의 제 1 그룹에 페이스들의 적어도 하나의 제 2 그룹을 연관시키는 단계 (S40) 를 포함한다. 제 2 그룹의 페이스들은 제 2 그룹의 각각의 페이스에 있어, 제 1 그룹의 각각의 페이스에 인접하다. 그리고, 제 2 그룹의 페이스들은 제 2 그룹의 페이스들의 각각의 쌍에 있어, 그 쌍의 페이스들이 인접한 제 1 그룹의 각각의 페이스들을, 하나를 나머지 다른 하나로, 변환하는 강체 운동을 따른다.
이런 방법은 3D 모델링된 오브젝트를 설계하는 향상된 솔루션을 구성한다. 기하학적인 패턴을 형성하는 페이스들의 제 1 그룹을 형성함으로써 (S30), 본 방법은 기하학적인 패턴을 식별하고, 이에 따라서 패턴-기반의 설계 기능들을 사용자에게 개방시킨다. 페이스들의 제 1 그룹에 페이스들의 적어도 하나의 제 2 그룹을 본 방법의 특정의 방법으로 연관시킴으로써 (S40), 본 방법은 의도되는 패턴들을 보다 우수하게 파악하고 심지어 더욱더 설계를 용이하게 하도록, 그 식별되는 패턴의 적절한 확장을 가능하게 한다. 본 방법이 페이스 레벨에서 작업하고, 페이스들이 서로의 복사본 및 주어진 강체 운동들과의 페이스들의 쌍들의 준수 (compliance) 인 것과 같은, 페이스들에 관련되는 특징들의 식별을 수반하기 때문에, 본 방법은 용이하게 구현되며 그 결과 자동화되며, 이에 따라서 의미있는 패턴들을 포괄적이고 빠른 방법으로 식별할 수도 있다. 이것은 다음 설명들에서 모두 상세하게 설명된다.
모델링된 오브젝트는 컴퓨터 시스템의 메모리에 저장된 데이터에 의해 정의되는 임의의 오브젝트이다. 더 나아가, 어구 "모델링된 오브젝트" 는 데이터 자체를 나타낸다. "3D 모델링된 오브젝트를 설계하는 것" 은 3D 모델링된 오브젝트를 정밀하게 구성하는 프로세스의 적어도 일부분인, 임의의 액션 또는 일련의 액션들을 나타낸다. 따라서, 본 방법은 스크래치 (scratch) 로부터 3D 모델링된 오브젝트를 생성하는 단계를 포함할 수도 있다. 이의 대안으로, 본 방법은 이전에 생성된 3D 모델링된 오브젝트를 제공하고 그후 그 3D 모델링된 오브젝트를 수정하는 단계를 포함할 수도 있다.
3D 모델링된 오브젝트는 CAD 모델링된 오브젝트 또는 CAD 모델링된 오브젝트의 일부일 수도 있다. 어쨌든, 본 방법에 의해 설계된 3D 모델링된 오브젝트는 CAD 모델링된 오브젝트 또는 그의 적어도 일부분, 예컨대 CAD 모델링된 오브젝트에 의해 점유되는 3D 공간을 나타낼 수도 있다. CAD 모델링된 오브젝트는 CAD 시스템의 메모리에 저장된 데이터에 의해 정의되는 임의의 오브젝트이다. 시스템의 유형에 따라서, 모델링된 오브젝트들은 상이한 종류들의 데이터에 의해 정의될 수도 있다. CAD 시스템은 CATIA 와 같은, 모델링된 오브젝트의 그래픽 표현에 기초하여 모델링된 오브젝트를 설계하는데 적어도 적합한 임의의 시스템이다. 따라서, CAD 모델링된 오브젝트를 정의하는 데이터는 모델링된 오브젝트의 표현을 가능하게 하는 데이터 (예컨대, 예를 들어, 공간에서 상대적인 위치들을 포함하는 기하학적 데이터) 를 포함한다.
본 방법은 제조 프로세스에 포함될 수도 있으며, 이 제조 프로세스는, 본 방법을 수행한 후, 그 모델링된 오브젝트에 대응하는 물리적인 제품을 예컨대, 본 방법에 의해 인식되는 기하학적인 패턴(들) 에 따라서 제조하는 단계를 포함할 수도 있다 (이런 경우, 제조 프로세스에는 상기 기하학적인 패턴(들) 에 관한 정보가 제공된다). 어쨌든, 본 방법에 의해 설계되는 모델링된 오브젝트는 제조 오브젝트를 나타낼 수도 있다. 모델링된 오브젝트는 따라서 모델링된 입체 (즉, 입체를 나타내는 모델링된 오브젝트) 일 수도 있다. 제조 오브젝트는 제품, 예컨대 부분, 또는 부분들의 어셈블리일 수도 있다. 본 방법이 모델링된 오브젝트의 설계를 향상시키기 때문에, 본 방법은 또한 제품의 제조를 향상시키고 그 결과 제조 프로세스의 생산성을 증가시킨다. 본 방법은 DELMIA 과 같은 CAM 시스템을 이용하여 구현될 수 있다. CAM 시스템은 제조 프로세스들 및 동작들을 정의하고, 시뮬레이션하고, 그리고 제어하는데 적어도 적합한 임의의 시스템이다.
본 방법은 컴퓨터 구현된다. 이것은 본 방법이 적어도 하나의 컴퓨터, 또는 임의의 유사한 시스템 상에서 실행된다는 것을 의미한다. 예를 들어, 본 방법은 CAD 시스템 상에서 구현될 수도 있다. 따라서, 본 방법의 단계들은 컴퓨터에 의해, 가능한 한 완전히 자동적으로, 또는, 반-자동적으로 수행된다 (예컨대, 사용자에 의해 트리거되는 단계들 및/또는 사용자-상호작용을 수반하는 단계들). 특히, 제공하는 단계 (S10) 및/또는 결정하는 단계 (S20) 는 사용자에 의해 트리거될 수도 있다. 형성하는 단계 (S30) 및/또는 연관시키는 단계 (S40) 는 자동적으로 (즉, 임의의 사용자 개입 없이), 또는 반-자동적으로 (즉, 예컨대, 예를 들어, 그 결과들을 검증하거나 또는 그룹들로부터 사용자-결정된 엘리먼트들을 추가/삭제하는 약한- 사용자-개입을 수반하여) 수행될 수도 있다.
본 방법의 컴퓨터 구현예의 전형적인 예는 이 목적에 적합한 시스템으로 본 방법을 수행하는 것이다. 시스템은 본 방법을 수행하는 명령들을 안에 기록하고 있는 메모리를 포함할 수도 있다. 즉, 소프트웨어는 즉시 사용을 위해 메모리 상에 이미 준비되어 있다. 시스템은 따라서 임의의 다른 소프트웨어를 설치하지 않고 본 방법을 수행하는데 적합하다. 이런 시스템은 또한 명령들을 실행하기 위해 메모리와 커플링된 적어도 하나의 프로세서를 포함할 수도 있다. 즉, 시스템은 프로세서에 커플링된 메모리 상에 코딩된 명령들을 포함하며, 이 명령들은 본 방법을 수행하는 수단을 제공한다. 이런 시스템은 3D 모델링된 오브젝트를 설계하기 위한 효율적인 툴이다.
이런 시스템은 CAD 시스템일 수도 있다. 시스템은 또한 CAE 및/또는 CAM 시스템일 수도 있으며, CAD 모델링된 오브젝트는 또한 CAE 모델링된 오브젝트 및/또는 CAM 모델링된 오브젝트일 수도 있다. 사실대로 말하자면, 모델링된 오브젝트가 이들 시스템들의 임의의 조합에 대응하는 데이터에 의해 정의될 수도 있으므로, CAD, CAE 및 CAM 시스템들은 다른 나머지들의 배타적인 시스템이 아니다.
시스템은 명령들의 실행을, 예를 들어, 사용자에 의해 시작하는 적어도 하나의 GUI 를 포함할 수도 있다. 특히, GUI 는 사용자로 하여금, 제공하는 단계 (S10) 를 트리거가능하게 할 수도 있으며, 그후, 예컨대, (예컨대, "패턴 인식" 으로 부르는) 특정의 기능을 시작함으로써, 사용자가 그렇게 하기로 결정하면, 결정하는 단계 (S20) 를 트리거가능하게 할 수도 있다. 형성하는 단계 (S30) 및 그후 연관시키는 단계 (S40) 는 그후 자동적으로 또는 반-자동적으로 수행될 수도 있다.
3D 모델링된 오브젝트는 3D (즉, 3차원) 이다. 이것은 모델링된 오브젝트가 그의 3D 표현을 가능하게 하는 데이터에 의해 정의된다는 것을 의미한다. 특히, B-Rep 의 페이스들은 3D 이며, 지지하는 표면들은 3D 표면들이다 (즉, 이들은 모든 지지하는 표면들의 결합이 비-평면이 되도록 3D 로 정의된다). 3D 표현은 모든 각도들로부터 표현의 뷰잉을 가능하게 한다. 예를 들어, 모델링된 오브젝트는, 3D 가 표현될 때, 그의 축들 중 임의의 축 둘레로, 또는 그 표현이 디스플레이되는 스크린에서의 임의의 축 둘레로 처리되고 회전될 수도 있다. 심지어 이들이 2D 관점에서 어떤 것을 나타낼 때에도, 이것은 특히 3D 모델링되지 않는 2D 아이콘들을 배제한다. 3D 표현의 디스플레이는 설계를 용이하게 한다 (즉, 설계자들이 그들의 작업을 통계적으로 달성하는 속도를 증가시킨다). 이것은 제품들의 설계가 제조 프로세스의 일부분이기 때문에, 그 산업에서 제조 프로세스를 스피트업시킨다. 도면들 상의 일부 예들이 2D 로 표현되더라도, 본 방법의 3D 캐릭터 (character) 에 관련한 설명이 유효하다는 점에 유의한다. 이들 예들은 본 방법을 이해하려는 목적을 위한 것으로 이해되어야 한다.
도 2 는 전형적인 CAD 시스템의 GUI 의 일 예를 나타낸다.
GUI (2100) 는 표준 메뉴 바들 (2110, 2120) 뿐만 아니라, 최저부 및 측면 툴바들 (2140, 2150) 을 갖는 전형적인 CAD-형 인터페이스일 수도 있다. 이런 메뉴 및 툴바들은 당업계에 알려져 있는 바와 같이, 하나 이상의 동작들 또는 기능들과 각각 연관되는, 사용자-선택가능한 아이콘들의 세트를 포함한다. 이들 아이콘들의 일부는 GUI (2100) 에 디스플레이되는 3D 모델링된 오브젝트 (2000) 를 편집하거나 및/또는 작업하도록 적응된 소프트웨어 툴들과 연관된다. 소프트웨어 툴들은 워크벤치들로 그룹화될 수도 있다. 각각의 워크벤치는 소프트웨어 툴들의 서브세트를 포함한다. 특히, 그 워크벤치들 중 하나는 모델링된 제품 (2000) 의 기하학적인 피쳐들을 편집하는데 적합한 편집 워크벤치이다. 동작 시, 설계자는 예를 들어, 오브젝트 (2000) 의 일부를 사전-선택하고, 그후 동작 (예컨대, 조각 동작, 또는 치수들, 칼라 등을 변경하는 것과 같은 임의의 다른 동작) 을 개시하거나, 또는 적합한 아이콘을 선택함으로써 기하학적인 제약들을 편집할 수도 있다. 예를 들어, 전형적인 CAD 동작들은 스크린 상에 디스플레이되는 3D 모델링된 오브젝트의 펀칭 (punching) 또는 폴딩 (folding) 의 모델링이다.
GUI 는 예를 들어, 그 디스플레이된 제품 (2000) 에 관련된 데이터 (2500) 를 디스플레이할 수도 있다. 도 2 의 예에서, "피쳐 트리" 로서 디스플레이된 데이터 (2500), 및 그들의 3D 표현 (2000) 은 브레이크 캘리퍼 및 디스크를 포함하는 브레이크 어셈블리에 관련된다. GUI 는 예를 들어, 오브젝트의 3D 배향을 용이하게 하고, 편집되는 제품의 동작의 시뮬레이션을 트리거하거나 또는 디스플레이된 제품 (2000) 의 여러 속성들을 렌더링하는 여러 유형들의 그래픽 툴들 (2130, 2070, 2080) 을 추가로 나타낼 수도 있다. 커서 (2060) 는 사용자로 하여금 그래픽 툴들과 상호작용가능하게 하도록 햅틱 디바이스에 의해 제어될 수도 있다.
도 3 은 클라이언트 컴퓨터 시스템, 예컨대 사용자의 워크스테이션으로서 시스템의 아키텍처의 일 예를 나타낸다.
클라이언트 컴퓨터는 내부 통신 버스 (1000) 에 접속된 중앙 처리 유닛 (CPU; 1010), 또한 버스에 접속된 랜덤 액세스 메모리 (RAM; 1070) 를 포함한다. 클라이언트 컴퓨터에는 버스에 접속된 비디오 랜덤 액세스 메모리 (1100) 와 연관되는 그래픽 프로세싱 유닛 (GPU; 1110) 이 추가로 제공된다. 비디오 RAM (1100) 은 또한 프레임 버퍼로서 당업계에 알려져 있다. 대용량 저장 디바이스 제어기 (1020) 는 하드 드라이브 (1030) 와 같은 대용량 메모리 디바이스에의 액세스들을 관리한다. 컴퓨터 프로그램 명령들 및 데이터를 유형으로 구현하는데 적합한 대용량 메모리 디바이스들은 일 예로서, EPROM, EEPROM, 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 자기 디스크들, 예컨대, 내부 하드 디스크들 및 착탈식 디스크들, 광자기 디스크들, 및 CD-ROM 디스크들 (1040) 을 포함한, 비휘발성 메모리의 모든 형태들을 포함한다. 전술한 것들 중 임의의 것이 특별히 설계된 ASICs (주문형 집적 회로들) 에 의해 보충되거나 또는 그 안에 통합될 수도 있다. 네트워크 어댑터 (1050) 는 네트워크 (1060) 에의 액세스들을 관리한다. 클라이언트 컴퓨터는 또한 커서 제어 디바이스, 키보드 등과 같은 햅틱 디바이스 (1090) 를 포함할 수도 있다. 커서 제어 디바이스는 클라이언트 컴퓨터에서, 도 2 를 참조하여 언급한 바와 같이, 사용자로 하여금 커서를 스크린 (1080) 상의 임의의 원하는 로케이션에 선택적으로 위치시킬 수 있게 사용된다. 스크린에 의해, 이것은 디스플레이하는 것이 수행될 수도 있는 임의의 지지물 (support), 예컨대 컴퓨터 모니터가 의미된다. 게다가, 커서 제어 디바이스는 사용자로 하여금 여러 지령들 및 입력 제어 신호들을 선택가능하게 한다. 커서 제어 디바이스는 시스템에의 입력 제어 신호들을 위한 다수의 신호 발생 디바이스들을 포함한다. 일반적으로, 커서 제어 디바이스는 마우스일 수도 있으며, 이 마우스의 버튼이 신호들을 발생하는데 사용된다.
시스템으로 하여금 본 방법을 수행하도록 하기 위해, 이 목적을 위한 수단을 포함하는, 컴퓨터에 의한 실행을 위한 명령들을 포함하는 컴퓨터 프로그램이 제공된다. 프로그램은 예를 들어, 디지털 전자 회로로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 이들의 조합들로 구현될 수도 있다. 본 발명의 장치는 프로그래밍가능 프로세서에 의한 실행을 위해 머신-판독가능 저장 디바이스에 유형으로 수록되는 컴퓨터 프로그램 제품으로 구현될 수도 있으며; 본 발명의 방법 단계들은 입력 데이터에 대해 동작하여 출력을 발생함으로써 본 발명의 기능들을 수행하는 명령들의 프로그램을 실행하는 프로그래밍가능 프로세서에 의해 수행될 수도 있다. 명령들은 유리하게는, 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고, 그들로 데이터 및 명령들을 송신하도록 커플링된 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램들로 구현될 수도 있다. 애플리케이션 프로그램은 고급 절차 또는 객체 지향 프로그래밍 언어로, 또는 원할 경우, 어셈블리 또는 기계어로 구현될 수도 있으며; 어쨌든, 언어는 컴파일 또는 해석 언어일 수도 있다. 프로그램은 풀 설치 프로그램, 또는 업데이트 프로그램일 수도 있다. 후자의 경우에, 프로그램은 기존 CAD 시스템을 시스템이 본 방법을 수행하는데 적합한 상태로 업데이트할 수도 있다.
제공하는 단계 (S10) 가 이하 설명된다.
본 방법은 모델링된 오브젝트의 B-Rep 를 제공하는 단계 (S10) 를 포함한다. 제공하는 단계 (S10) 는 모델링된 오브젝트 상에서 (이 경우, 그의 경계 표현 상에서) 작업하는 설계자로부터, 또는 본 방법이 예컨대 기존 라이브러리들에서 취출된, 이미 존재하는 B-Reps 에 적용될 수도 있다는 사실로부터 기인할 수도 있다. 모델링된 오브젝트가 어쨌든 S10 에서 B-Rep 로서 제공된다. 경계 표현은 그의 엔벨롭 (envelop) (즉, 그의 외부 표면들) 의 관점에서 3D 오브젝트를 모델링하는 널리 알려진 포맷이다. B-Rep 는 따라서 기하학적인 데이터 (geometrical data) 및 위상학적인 데이터 (topological data) 를 포함할 수도 있는 특정의 포맷의 데이터를 나타낸다. 기하학적인 데이터는 3D 위치들의 관점에서 기술되는 엔터티들인 기하학적인 엔터티들을 제공하는 데이터이다. 위상학적인 데이터는 기하학적인 엔터티들에 대한 참조들 및/또는 다른 위상학적인 엔터티들과의 관계들, 예컨대 상대적인 위치 지정 (positioning) 의 관점에서 기술되는 엔터티들인 위상학적인 엔터티들을 제공하는 데이터이다. 일반적으로, 이 관계들은 위상학적인 엔터티를 위상학적으로 구획된 다른 위상학적인 엔터티들에 연관시키는 관계 "에 의해 구획되는 것" 을 포함할 수도 있다.
제공하는 단계 (S10) 는 임의의 이력 데이터를 배제할 수도 있다. 즉, S10 에서 제공되는 모델링된 오브젝트는 이력이 없을 수도 있다. 이것은 그 모델링된 오브젝트가 그의 설계의 이력을 나타내는 임의의 데이터에, 연관되지 않고, B-Rep 를 포함한 선언적인 (declarative) 데이터에 의해서만 오직 연관된다는 것을 의미한다. 따라서, 본 방법은 설계자가 모델링된 오브젝트의 이력을 소유하고 있지 않은 상황 내에서 작용하며, 특히 모델링된 오브젝트에 대해 설계된 기하학적인 패턴들이 S10 에서 제공되는 모델링된 오브젝트에 대해 그와 같이 정의되지 않는다는 것을 의미한다.
본 방법의 경우에, (예컨대 기하학적인) 데이터는 적어도 소위 "지지하는 표면들", 예를 들어, 파라미터의 표면들 (즉, 2D 영역을 정의하는 파라미터들에 연관되는 3D 위치들의 관점에서 모델링된 3D 표면들) 을 포함한다. 지지하는 표면들은 일반적으로 Nurbs 표면들일 수도 있지만, 또한 평면적, 정규적 (canonical) 또는 절차적 표면들일 수도 있다. 그리고, (예컨대, 위상학적) 데이터는 적어도 페이스들의 세트를 포함하며, 각각의 페이스는 각각의 지지하는 표면의 구획된 부분 (기하학적인 데이터로 제공됨) 으로서 정의된다. 따라서, 페이스는 트림된 (trimmed) 표면에 대응한다. 지지하는 표면들은 따라서 페이스들이 어떤 방법으로든, 트리밍 동작에 의해 정의되는 (이에 의해 페이스들을 "지지하는") 표면들이다.
B-Rep 의 개념은, 널리 알려져 있지만, 이하 S10 에서 제공될 수도 있는 모델링된 오브젝트의 일 예를 통해서 추가로 설명된다. 예를 들어, "에 의해 구획되는" 관계와는 상이한 관계를 가진, B-Reps 의 다른 예들이, 적어도 일부 위상학적인 엔터티들에 있어, 그러나 본 방법에 의해 고려될 수도 있다.
이미 언급한 바와 같이, 모델링된 오브젝트의 B-Rep 는 위상학적인 엔터티들 및 기하학적인 엔터티들을 포함할 수도 있다. 기하학적인 엔터티들은 표면들 (예컨대 평면들), 곡선들 (예컨대 라인들) 및/또는 지점들인 3D 오브젝트들을 포함할 수도 있다. 표면들은 2개의 파라미터들의 함수들로서 제공될 수도 있다. 곡선들은 간단히 하나의 파라미터의 함수들로서 제공될 수도 있다. 그리고, 지점들은 3D 위치들로서 제공될 수도 있다. 위상학적인 엔터티들은 페이스들, 에지들, 및/또는 교점들을 포함할 수도 있다. 그의 정의에 의해, 페이스는 지지하는 표면으로 지칭되는, 각각의 표면의 구획된 부분에 대응한다. 용어 "페이스" 는 따라서 표면의 이런 구획된 부분 또는 2D 영역의 대응하는 구획된 부분을 차별없이 나타낼 수도 있다. 이와 유사하게, 에지는 예컨대, 지지하는 곡선으로 지칭되는, 곡선의 구획된 부분에 대응한다. 용어 "에지" 는 따라서 곡선 또는 그의 영역의 이런 구획된 부분을 나타낼 수도 있다. 정점 (vertex) 는 3D 공간에서 한 지점으로의 링크일 수도 있다. 이들 엔터티들은 다음과 같이 서로 관련된다. 곡선의 구획된 부분은 곡선 상에 놓인 2개의 지점들 (교점들) 에 의해 정의된다. 표면의 구획된 부분은 그의 경계에 의해 정의되며, 이 경계는 그 표면 상에 놓인 에지들의 세트이다. 페이스의 경계의 에지들은 교점들을 공유함으로써 함께 접속된다. 페이스들은 에지들을 공유함으로써 함께 접속된다. 정의에 의해, 2개의 페이스들은 이들이 에지를 공유하면 인접하다. 이와 유사하게, 2개의 에지들은 이들이 정점을 공유하면 인접하다. 표면들, 곡선들, 및 지점들은 그들의 파라미터화를 통해서 함께 링크될 수도 있다. 예를 들어, 곡선을 정의하는 파라미터의 함수의 파라미터의 값이 경계짓는 (bounding) 정점을 정의하기 위해 제공될 수도 있다. 이와 유사하게, 곡선의 파라미터를 표면의 2개의 파라미터들에 링크하는 기능은 경계짓는 에지를 정의하기 위해 제공될 수도 있다. 그러나, B-Rep 의 이런 위상학적인 데이터의 아주 상세한 구조는 현재의 설명들의 범위를 벗어난다.
도 4 및 도 5 는 S10 에서 제공되는 모델링된 오브젝트일 수도 있으며 도면들 상에 1, 2 및 3, 즉, 상부 평면 페이스 1 및 2개의 측면 원통형 페이스들 2 및 3 으로 넘버링된 3개의 페이스들로 이루어지는 원통형 슬롯 (80) 의 B-rep 모델을 나타낸다. 도 4 는 슬롯 (80) 의 사시도를 나타낸다. 도 5 는 모든 페이스들의 분해도를 나타낸다. 중복된 숫자들은 공유하는 에지들 및 교점들을 나타낸다. 페이스 (1) 는 평면의 구획된 부분이다. 페이스 (1) 의 경계는 에지들 (4 및 5) 을 포함하며, 이 에지들 각각은 교점들 (10 및 11) 에 의해 구획된다. 그들 양자는 동일한 지지하는 원을 갖는다. 페이스 (2) 는 무한한 원통형 표면 (즉, 페이스 2 의 지지하는 표면) 상에 모두 놓인 에지들 (6, 8, 5 및 13) 에 의해 구획된다. 페이스들 (1 및 2) 은 이들이 에지 (5) 을 공유하기 때문에 인접하다. 페이스들 (2 및 3) 은 이들이 에지들 (8 및 13) 을 공유하기 때문에 인접하다. 페이스들 (1 및 3) 은 이들이 에지 4 를 공유하기 때문에 인접하다.
도 6 은 슬롯 (80) 의 B-rep 모델의 "에 의해 구획되는" 위상학적인 관계를 나타낸다. 상부 층 (101) 의 노드들은 페이스들이며, 중간 층 (103) 의 노드들은 에지들이며, 그리고 하부 층 (105) 의 노드들은 교점들이다. 도 7 및 도 8 은 위상학적인 엔터티들 (페이스들, 에지들, 교점들) 과 지지하는 기하학적 구조들 (무한 실린더, 무한 평면, 무한 라인, 지점들) 사이의 관계를 나타낸다. CAD 시스템에서, B-rep 모델은 적합한 데이터 구조로 "에 의해 구획되는" 관계 및 위상학적인 엔터티들과 지지하는 기하학적 구조들 사이의 관계, 및 지지하는 기하학적 구조들의 수학적 설명들을 수집한다. 즉, 도 6 및 도 7 상에 나타낸 데이터 구조들은 이 예의 위상학적인 데이터의 부분이며, 기하학적인 데이터의 기하학적인 엔터티들에의 링크들 (이것은 도 7 이다) 및 위상학적인 엔터티들 사이의 링크들 (이것은 도 6 이다) 을 포함한다.
본 방법의 다른 액션들 (즉 단계들 S20-S40) 이 이하 설명된다.
본 방법은 예컨대, 사용자가 트리거링 시, 페이스들이 또 다른 것의 복사본 페이스인 경계 표현의 페이스들의 세트의 서브세트의 결정하는 단계 (S20) 를 포함한다. 페이스들의 서브세트는 따라서 서로의 복사본들 페이스, 또는, 즉, 서로에 대해 기하학적으로 동일한 페이스, 또는 나머지 중 기하학적 복제본들 페이스인 페이스들의 세트이다. 서브세트는 숙련기술자가 소망하는 임의의 구현예에 따라서 S20 에서 결정될 수도 있다. 예를 들어, 본 방법은 페이스들의 쌍들 사이의 비교들을 수행하는 단계를 포함할 수도 있으며, 그 페이스들은 임의의 순서에 따라서 브라우징된다. 이런 비교들은 어떤 방법으로든 수행될 수도 있다. 예들은 추후 제공된다. 또한, CAD 의 분야에서 널리 알려져 있는 바와 같이, 수치적인 계산들을 수반하는 임의의 결정은 시스템에 의해 적용되는 필수적인 수치적인 어림들 (approximations)을 겪는다. 현재의 경우, 페이스들은 이들이 이론적으로 약간 상이하더라도 S20 에서 서로의 복사본인 것으로 결정될 수도 있다. 따라서, 본 방법은 실제로 S20 에서 실질적으로 또 다른 것의 복사본 페이스인 페이스들의 서브세트를 결정할 수도 있다. 그러나, "실질적으로 또 다른 것의 복사본 페이스" 및 "또 다른 것의 복사본 페이스" 가 다음에서 구별되지 않는 한, 어림들이 구현되는 방법은 현재의 설명의 주제가 아니다. 오히려 본 방법은 2개의 페이스들이 또 다른 것의 복사본 페이스인지를 구별하기 위한 미리 결정된 기준을 따른다고 단지 간주된다.
본 방법은 따라서 페이스들의 제 1 그룹을 기하학적인 패턴을 형성하는 서브세트 내에 형성하는 단계 (S30) 를 포함한다. 편의상 "첫번째 (first)" 로 지칭되는, 페이스들의 제 1 그룹은 S30 에서 형성될 때, 서브세트의 페이스들의 세트, 따라서 또 다른 것의 복사본 페이스인 페이스들의 세트이다. 그룹을 "형성"함으로써, 이것은 상기 그룹의 존재를 나타내기 위해 데이터가 모델링된 오브젝트에 추가된다고 의미된다. 예를 들어, 그룹 이름이 생성되며 그룹의 페이스들과 그룹 이름 사이의 링크들이 모델링된 오브젝트 (를 정의하는 데이터) 에 추가된다. 형성하는 단계 (S30) 의 경우, 그룹의 형성이 지속성 메모리 상에 저장되거나 또는 사용자가 기하학적인 패턴에 대해 작업하기에 적어도 충분히 긴 새로운 데이터를 암시하더라도, 엘리먼트들을 함께 링크하는 이 방법은 또한 결정하는 단계 (S20) 동안 구현될 수도 있으며, 반면, 이것은 결정하는 단계 (S20) 에서 생성된 서브세트를 나타내는 새로운 데이터에 대해 반드시 사실은 아니며, 이 새로운 데이터는 형성하는 단계 (S30) 를 수행하는 목적을 위해 주로 생성된다. 이들은 단지 숙련기술자에 알려진 구현의 문제이다.
더욱이, 본 방법은 이들이 기하학적인 패턴을 형성하도록 제 1 그룹을 형성할 페이스들을 선택한다. 어구 "기하학적인 패턴" 은, 제 1 그룹의 엘리먼트들 (즉, 제 1 그룹의 페이스들 또는 페이스들의 세트들) 이 예측가능한 방법으로, 즉 미리 결정되는 규칙들에 따라서 위치되는 기하학적 구조를 제 1 그룹의 페이스들이 구성한다는 것을 의미하며, 이에 따라 완전한 무작위성을 배제한다. 기하학적인 패턴을 형성하는 페이스들의 그룹을 형성함으로써 S30, 본 방법은 모델링된 오브젝트 내 기하학적인 패턴의 인식을 시작한다. 기하학적인 패턴의 페이스들이 또 다른 것의 복사본들 페이스인 것으로 먼저 선택되기 때문에, 본 방법은 설계 의도에 따라서 의미를 갖는 기하학적인 패턴들을 인식한다. 이것은 더 쉽게 설계하는 것을 가능하게 한다. 우선, 이것은 기하학적인 패턴의 사용자에게 후속 프리젠테이션을 가능하게 한다. 사용자는 따라서 설계자의 의도를 파악할 수도 있다. 이것은 또한 앞에서 언급한 바와 같이, 후속 설계 액션들이 기하학적인 패턴에 대해서 글로벌하게 (즉, 자동적으로 통일된 방법으로) 수행되게 할 수 있다. 예를 들어, 사용자는 단일 "드래그 앤 드룹" 액션으로 전체 기하학적인 패턴을 병진운동시킬 수도 있다. 또는, 사용자는 패턴을 선택한 후 그의 엘리먼트들에 대한 새로운 사이즈를 오직 한번만 입력함으로써 기하학적인 패턴의 모든 엘리먼트들의 사이즈를 증가시킬 수도 있다. 이들은 단지 예들이다. 본 방법은 임의의 또는 여러 이런 후속 설계 액션들을 포함할 수도 있다. 이것은, 본 방법이 기하학적인 패턴들을 포함하는 일부 특정의 설계들을 더 적은 사용자 액션들로 달성하는 것을 가능하게 하므로, CAD 의 분야에서 일반적으로 유용하다. 이것은 그 모델링된 오브젝트가 제품을 나타낼 때 특히 기계 설계의 분야에서 유용하며, 본 방법은 이런 경우 모든 그의 단계들 (phases) 의 시간 최적화를 필요로 하는 글로벌 산업 프로세스에 속한다. 본 방법은 또한 제조 프로세스에 그 인식된 기하학적인 패턴을 공급하는 단계를 포함할 수도 있다.
형성하는 단계 (S30) 는 기하학적인 패턴들의 미리 결정된 세트 중 하나의 발생이 서브세트 내에 존재하는 지를 테스트하는 단계를 포함할 수도 있다. 즉, 본 방법은 아마도 미리 결정된 또는 사용자-정의된, 예컨대 지속성 메모리에 저장된 기하학적인 패턴들의 유형들의 미리 결정된 세트에 기초하며, 형성하는 단계 (S30) 에 있어, 본 방법은 S20 에서 결정된 서브세트가 미리 결정된 세트에 속하는 기하학적인 패턴을 준수/구성하는 페이스들을 포함하는지를 테스트한다. 이런 미리 결정된 세트에 대해 작업하는 것은 고려되는 설계의 임의의 분야에 따라서 본 방법을 아마도 효율적으로 만드는 것을 가능하게 한다. 특히, 미리 결정된 세트는 수정가능할 수도 있다. 미리 결정된 세트는 2D 패턴들 (즉, 평면 레이아웃들) 및/또는 3D 패턴들 (즉, 비-평면 분포) 를 포함할 수도 있다.
기하학적인 패턴들의 미리 결정된 세트는 주기적으로 정의된 패턴들의 세트를 포함할 수도 있다. 이들 패턴들은 그들의 인식이 특히 유용하기 때문에 종종 기계 설계의 분야에 사용된다. 주기적으로 정의된 패턴은 하나 또는 여러 초기 기하학적인 엘리먼트들, 예컨대 페이스들, 예컨대 하나 또는 2개의 초기 페이스들에 의해, 그리고, 초기 엘리먼트들로부터 및/또는 이전에 발생된 엘리먼트들로부터 다른 엘리먼트들을 발생하는 하나 또는 여러 규칙들에 의해 정의되는 패턴이다. 규칙들이 글로벌하게 정의되지만 특정의 반복의 인덱스에 소속되지 않을 때 (규칙들은 일반적인 인덱스들, 예컨대 n, 또는 2n 및 2n+1, 또는 3n 및 3n+1 및 3n+2 에 대해 정의된다, 즉 특정의 값들에 대해서 정의되지 않는다), 임의의 주기적으로 정의된 패턴은 규칙적일 수도 있다. 따라서, 제 1 그룹을 형성하는 단계 (S30) 에 있어, 본 방법은 고려되는 기하학적인 패턴에 대응하는 규칙들에 따라서 발생되었을 수도 있는 페이스들의 세트가 존재하면, S20 에서 결정된 서브세트 내에서 테스트하는 단계를 포함할 수도 있다. 이것은 패턴들의 미리 결정된 세트의 패턴들을 브라우징함으로써 여러번 반복될 수도 있다. 즉, 본 방법은 테스트 중인 기하학적인 패턴에 따라서, 하나 또는 여러 페이스들을 (그 패턴이 하나 또는 여러 초기 엘리먼트들을 갖는지에 의존하여) 정의하고, 그후 그 정의된 초기 페이스들에 패턴 규칙들을 적용하는 것으로부터 기하학적인 패턴의 발생이 존재하고 있는지를 체크하는 단계를 포함할 수도 있다. 주기적으로 정의된 패턴들 및 그의 발생들을 테스트하는 방법들의 예들이 추후 제공된다.
S30 에서 제 1 그룹을 형성할 때 어떤 기하학적인 패턴이 인식되든 그리고 어떤 프로세스가 그에 사용되든, 본 방법은 따라서 페이스들의 제 1 그룹에 소위 페이스들의 "제 2 그룹" 을 연관시키는 단계 (S40) 을 포함한다. 즉, 새로운 데이터는 마치 S30 처럼 S40 에서 생성되며, 이 새로운 데이터는 제 1 그룹과 그 제 1 그룹에 지금까지 없는 B-Rep 의 다른 페이스들 사이의 링크들을 포함한다. 따라서, 연관시키는 단계 (S40) 는 인식된 기하학적인 패턴을 새로운 페이스들로 "확장한다". 어구 "기하학적인 패턴" 은 따라서 다음에서 초기 기하학적인 패턴의 이 확장되는 버전을 나타낼 수도 있다. 이하에서, 본 방법에 의해 인식되는 임의의 기하학적인 패턴은 따라서 또 다른 것의 복사본들 페이스인 적어도 "제 1 그룹" 페이스들, 및 아래에서 설명되는 바와 같이 어떤 제약들을 고려하는 "제 2 그룹" 페이스들을 포함한다.
페이스들의 제 2 그룹은 S10 에서 제공되는 B-Rep 의 페이스들의 전체 세트의 서브세트인 페이스들의 세트이다. 제 2 그룹의 페이스들은 제 2 그룹의 각각의 페이스에 있어, 제 1 그룹의 각각의 페이스에 인접한 특이성 (specificity)/제약을 갖는다. 즉, 제 2 그룹의 각각의 페이스는 제 1 그룹의 페이스와 에지를 공유한다. 이 제 1 그룹 페이스는 다음에서 그의 인접한 제 2 그룹 페이스와의 그의 관계를 나타내기 위해 "'각각의' 제 1 그룹 페이스" 로서 설계된다. 제 2 그룹의 페이스들의 또 다른 특이성/제약은 제 2 그룹의 페이스들의 각각의 쌍에 있어, 특정의 강체 운동에 따른다는 점이다. 페이스는 지점-세트, 즉 3차원의 공간
Figure pat00001
의 서브세트로서 보여질 (그리고, 이에 따라 본 방법에 의해 그와 같이 처리될) 수도 있다. 강체 운동은
Figure pat00002
에 의해 2개의 지점-세트들 사이에 정의되는 맵핑
Figure pat00003
이며, 여기서, R 은 회전이며 T 는 병진운동 벡터 (아마도, 널) 이다.
Figure pat00004
Figure pat00005
에 등가이므로 강체 운동은 비역전적 (invertible) 이며, 여기서,
Figure pat00006
이다. 제 1 그룹의 페이스들이 또 다른 것의 복사본 페이스이므로, 제 1 그룹의 2개의 페이스들이 주어지면, 하나가 강체 운동을 적용함으로써 다른 하나의 페이스로부터 유도될 수도 있다. 이제, S40 에서 제 1 그룹에 연관되는 페이스들의 일부인 인접한 페이스들에 대해, 본 방법은 그들을 그들의 각각의 제 1 그룹의 인접한 페이스들을 하나를 나머지 다른 하나로 변환하는 강체 운동과 2개 단위로 따르게 하는 것을 요한다. 이것은 이런 강체 운동이 예컨대 본 방법에 의해 구현되는 특정의 테스트에서, 제 1 그룹의 페이스들에 인접한 페이스들이 제 2 그룹에 추가되는지 여부를 결정하기 위해, 사용된다는 것을 의미한다.
준수 (compliancy) 의 개념은 제 2 그룹의 페이스들이 반드시 상기 특정의 각각의 강체 운동들로 나머지 다른 하나로부터 하나를 유도할 필요가 없을 수 있더라도, 제 2 그룹의 페이스들이 상기 특정의 각각의 강체 운동들을 통해서 2개 단위로 기하학적으로 링크된다는 것을 의미한다 (즉, 그 기준이 "의 복사본인" 기준보다 "더 느슨"하다). 이것은 숙련기술자에 의해 생각되는 어떤 방법으로든 구현될 수도 있다. 예를 들어, 본 방법은 강체 운동이 또한 하나를 나머지 다른 하나로, 적어도 제 1 그룹의 각각의 페이스들에 대해 쌍의 페이스들의 인접의 영역에서, 그 쌍의 페이스들에 대한 지지하는 표면들을 변환할 때 특정의 강체 운동 (즉, 그 쌍의 페이스들이 인접한 제 1 그룹의 각각의 페이스들을, 하나를 나머지 다른 하나로, 변환하는 강체 운동) 에 따르는 페이스들의 쌍을 평가할 수도 있다. 인접의 영역은 실제로 제 2 그룹의 페이스들 (즉, 2개의 인접한 페이스들에 의해 공유되는 에지) 상에서 인접 에지의 미리 결정된 이웃일 수도 있다. 이웃의 사이즈는 숙련기술자에 의해 생각되는 어떤 방법으로든 정의될 수도 있다. 각각의 지지 표면들의 일부로 한정될 수도 있다. 본 방법은 그후 지지하는 표면들이 이런 이웃에서 다른 하나의 복사본 페이스인지를 하나의 각각의 제 1 그룹의 페이스를 나머지 다른 하나로 변환하는 강체 운동을 통해서 평가할 수도 있다. 또 다른 예는 인접 에지들이 나머지 다른 하나의 복사본 페이스인지를 하나의 제 1 그룹의 페이스를 다른 페이스로 변환하는 강체 운동을 통해서 평가하는 것이다 (이것은 설령 제 1 그룹의 페이스들이 다른 하나의 복사본 페이스이더라도, 표면 유도체들 (derivatives) 상의 일부 정보가 인접 에지들, 예컨대 추후 설명되는 바와 같이, 에지들에 의해 구획된 잠재적인 제 2 그룹 페이스들에 부속된 로칼 축 시스템들에 부속될 수도 있기 때문에, 반드시 사실은 아니다). 이의 대안으로, 본 방법은 강체 운동이 또한 하나를 나머지 다른 하나로, 전체 각각의 지지하는 표면들을 변환하면 특정의 강체 운동에 따르는 페이스들의 쌍을 평가할 수도 있다. 어쨌든, (형성하는 단계 (S30) 와 비교될 때) 연관시키는 단계 (S40) 에 대한 기하학적인 비교 기준의 느슨함은 기하학적인 패턴의 좀더 빈번한 확장을 가능하게 하여, 더 엄격한 기준에 기초하여 기하학적인 패턴이 S30 에서 이미 존재하는 것으로 결정되었다는 것을 이미 나타내는 정보를 이용할 수 있다. 또한, 이 결과는 사용자에 의해 처리하기에 더 쉽다 (일부 엘리먼트들이 기하학적인 패턴의 부분이 아닌 것으로 사용자에게 나타나면 사용자가 예를 들어, 그후 S40 에서 연관되는 기하학적인 패턴의 일부 엘리먼트들을 삭제할 수도 있기 때문에, 잊혀진 것으로 사용자에게 나타나는 새로운 엘리먼트들을 추가하는 것보다 더 쉽다).
따라서, 페이스 정의들에 기초하여 간단한 기하학적인 계산들을 수행함으로써, 그리고 또 다른 것의 복사본들 페이스이고 기하학적인 패턴을 형성하는 페이스들의 제 1 그룹을 식별함으로써, 그리고 그후 인접한 페이스들과 제 1 그룹을 적절히 확장함으로써, 본 방법은 사용자가 임의의 특정의 페이스 또는 식별을 돕기 위한 모델링된 오브젝트 상의 위치를 식별하는 (즉, 사전-선택하는) 요구 없이, 복잡할 (언제나 오직 하나의 페이스의 패턴들보다 더 정교할) 수도 있는 기하학적인 패턴들을 효율적으로 식별한다. 본 방법은 실제로 사용자에 의해 이루어지는 이런 식별을 배제할 수도 있다. 따라서, 본 방법은 모델링된 오브젝트의 경계 표현에 적응된 패턴들의 효율적인 식별을 가능하게 한다. 본 방법은 기하학적 구조의 임의의 사용자의 시각적 분석을 필요로 하지 않는다. 본 방법은 입력 기하학적 구조를 체계적으로 분석함으로써 중복된 기하학적 구조들의 배열들에 집중한다. 사용자가 직접 프로세스에 관계되지 않기 때문에, 시간이 다른 작업들을 위해 절약된다. 더욱이, 추후 설명되는 바와 같이, 본 방법은 중복된 기하학적 구조들의 모든 배열들을 최종 결과로서 획득하는데 사용될 수도 있다. 이것은 1회의 프로세스이다. 그 결과, 본 발명은 패턴 인식에 소비되는 시간을 단축하고 최상의 가능한 결과를 제공한다.
이제, 본 방법이 반복될 수도 있음에 유의한다. 반복적으로 S30 에서 제 1 그룹에 포함되거나 또는 S40 에서 제 1 그룹에 연관되는 페이스들이 다음 반복들 동안 폐기되도록 반복이 수행된다. 특히, 본 방법은 위에서 설명한 바와 같이 하나의 초기 제공하는 단계 (S10) 를 포함할 수도 있다 (B-Rep 는 실제로 처음에 제공되지만 그후 적어도 본 방법의 끝까지 존재한다). 그후 본 방법은 패턴 인식을 시작하기 위해, 사용자가 트리거링 단계를 수행하는 것을 포함할 수도 있다. 본 방법은 그후 결정하는 단계 (S20), 형성하는 단계 (S30) 및 연관시키는 단계 (S40) 를, 모든 패턴들 (본 방법에 의해 인식가능한 모든 패턴들) 이 인식될 때까지, 예컨대, 자동적으로 (즉, 임의의 사용자-개입 없이), 반복할 수도 있다. 각각의 반복에서, (제 1 그룹을 형성하는 페이스들의 부분인 페이스들 및 제 2 그룹에 연관되는 페이스들을 포함하고, 그러나 또한 추후 설명되는 소위 "페이스들의 블록들" 에 속하는 페이스들을 포함하는) "사용되는" 임의의 페이스는 다음 반복들에서 사용되지 않도록, 제거될 (즉, 폐기될) 수도 있다. 이것은 패턴 인식을 간단하게 유지하고, 많아 봐야 하나의 기하학적인 패턴에 속하는 주어진 페이스를 갖는 것이다.
이런 반복 덕분에, 본 방법은 충분히 정교한/미세한 기하학적인 패턴들을 포괄적인 방법으로 최소의 사용자-개입으로 인식할 수도 있다. 여기서, 제 1 결정하는 단계 (S20) 는 또 다른 것의 복사본들 페이스인 페이스들의 모든 서브세트를 결정할 수도 있으며, 각각의 반복의 결정하는 단계 (S20) 가 이들 처음에 결정된 서브세트들 중의 선택으로 이루어진다는 점에 유의한다. 처음에 서브세트들은 본 방법의 예들을 참조하여 이후 설명되는 바와 같이, 본 방법의 다른 하나의 액션들의 반복들에 따라서 수정될 수도 있다. 또한, 본 방법의 단계들 (S30 및 S40) 을 하나의 반복을 또 다른 반복으로, 교체하는 것 또는 대안적으로는, 형성하는 단계 (S30) 의 여러 반복들, 따라서 오직 연관시키는 단계 (S40) 의 여러 반복들만을 수행하는 것이 가능하다는 점에 유의한다. 본 방법의 단계들이 반복되는 정확한 순서정렬은 패턴 인식의 완전포괄성에 필수적인 것은 아니다. 각각의 반복에서 본 방법의 단계들을 수행하는 방법의 예들이 이후 제공된다. 숙련기술자에 의해 구현가능한 임의의 변형은 본 설명의 범위 내이다.
본 방법은 따라서 입력 오브젝트 내 기하학적 피쳐들의 모든 복사본들 뿐만 아니라, 모든 이들 복사본들의 각각의 배열들을 자동적으로 발견하는 것을 가능하게 한다. 이 작업은 입력 오브젝트, 일반적으로 입체의 B-Rep 에 대해, 임의의 사용자 선택 없이, 수행된다. 알고리즘은 모든 복제된 피쳐들을 기술하는데 필요로 하는 만큼 많은 패턴들을 출력한다. 일 예에서, 본 방법은 먼저 입력 입체를 독립적인 페이스들의 세트로서 간주한다. 이 예의 제 1 단계에서, 강체 운동을 법으로 하여 동일한 페이스들이 서브세트들로 수집된다. 이것은 분리된 서브세트들로의 페이스들의 초기 세트의 파티션을 초래한다. 개략적으로 말하면, 동일한 서브세트에서 임의의 2개의 페이스들 a,b 이 주어지면,
Figure pat00007
인 경우 강체 운동 D 가 존재한다. 이 예의 제 2 단계에서, 페이스들의 각각의 서브세트 내에서, 알고리즘은 모든 특징적인 패턴들을 식별한다. 이후에 제공되는 예들에서 설명되는 바와 같이, 1차원 패턴은 등간격으로 이격된 오브젝트들의 선형 또는 원형의 시퀀스이며, 2차원 패턴은 직사각형의 그리드 또는 동심 및 원형의 배열이다. 이 예의 제 3 단계는 패터닝된 피쳐들을 확장하는 것이다.
본 일부 정의들을 제공한 후, 본 방법의 예들이 이하 설명된다.
지점-세트 X 가 주어지면, 간단히
Figure pat00008
로 표기되는
Figure pat00009
인 경우, 강체 운동 D 가 존재하면, 지점-세트 Y 는 X 의 "복제본" 이다.
"지향된 지점-세트" 는 쌍
Figure pat00010
이며, 여기서,
Figure pat00011
는 지점-세트이며 그리고
Figure pat00012
는 맵핑
Figure pat00013
이며, 여기서
Figure pat00014
Figure pat00015
의 단위 벡터들의 세트이다. 즉, 임의의 지점
Figure pat00016
에서, 단위 벡터
Figure pat00017
가 정의된다.
Y 가 그 방위를 절약시키는 X 의 복제본이면, 지향된 지점-세트
Figure pat00018
는 지향된 지점-세트
Figure pat00019
의 "복사본" 이다. 좀더 정확하게는, 모든
Figure pat00020
에 대해, 복제본 상의 대응하는 지점 D(x) 의 단위 벡터는 지점 x 에서 X 의 회전된 단위 벡터이다. 형식적으로, 모든
Figure pat00021
에 대해,
Figure pat00022
이며, 다음 다이어그램이 가환성인 것을 의미한다.
Figure pat00023
결정하는 단계 (S20) 가 의존하는 지점-세트들 상의 관계 "복사본인" 은 등가 관계이다. 이를 입증하기 위해, 다음 성질들을 체크하는 것이 충분하며, 어렵지 않다: (1) 지점-세트는 자체의 복사본이고, (2) Y 가 X 의 복사본이면 X 는 Y 의 복사본이며, 그리고 (3) Y 가 X 의 복사본 및 Z 가 Y 의 복사본이면, Z 는 X 의 복사본이다.
기초 대수학에 따라서, 지점-세트들의 유한한 세트 G 가 주어지면 (G 의 엘리먼트들이 지점-세트들임을 의미한다), 등가 관계 "복사본인" 은 G 를 복사본들의 분리된 그리고 최대한의 서브세트들
Figure pat00024
로 분리한다. 이것은
Figure pat00025
이면
Figure pat00026
이고,
Figure pat00027
,
Figure pat00028
이면 Y 는 X 의 복사본이고 그리고
Figure pat00029
Figure pat00030
이면 Y 가 X 의 복사본이 아님을 의미한다. 서브세트들
Figure pat00031
은 실제로, 등가 관계의 등가 클래스들에 대한 참조에 의한 지점-세트들의 "클래스들" 이다.
이전 이론은 입체 (즉, 이 예에서 모델링된 오브젝트는 입체이다) 의 페이스들에 적용된다 (이에 한정되지 않는다). 페이스들은 지점-세트들의 역할을 하며 입체의 B-Rep 는 세트 G 이다. 즉, 결정하는 단계 (S20) 를 구현하기 위해, 숙련기술자는 페이스들을 지점-세트들로서 그리고 S10 에서 제공되는 B-Rep 를 위에서 정의된 바와 같은 세트 G 로서 나타낼 수도 있다.
결정하는 단계 (S20) 의 일 예가 이하 설명된다.
예컨대, 입체를 나타내는 모델링된 오브젝트가 주어지면, S10 에서 제공되는 상기 입체의 B-Rep 는 독립적인 페이스들의 세트로서 간주된다.
Figure pat00032
Figure pat00033
임을 의미하며, 여기서,
Figure pat00034
는 입체의 i-번째 페이스이다. 바로 제 1 단계는 "복사본인" 관계에 따라서 G 의 서브세트들을 계산하는 것이다 (즉, 결정하는 단계 (S20)). 전체 알고리즘은 다음과 같다.
Figure pat00035
볼 수 있는 바와 같이, 복사본들의 모든 서브세트들이 따라서 시작 시에, 위에서 설명한 바와 같은 결정된 서브세트들의 가능한 수정들로 결정된다.
페이스들에 대한 "복사본인" 관계를 구현하는 방법의 일 예가 이하 설명된다.
앞에서 설명한 바와 같이, 입체의 페이스는 지지하는 표면 (예컨대, 평면) 에 의해 그리고 경계 에지들에 의해 정의된다. 일 예에서, 페이스에는 입체의 외부 법선 벡터가 마련된다. 경계 에지들은 이 법선 벡터에 따라서 지향된다. 경계 에지들은 교점들을 공유함으로써 접속된다.
비교를 수행하고 강체 운동들을 발견하기 위해, 각각의 페이스에는 여러 축 시스템들이 마련된다. 페이스의 각각의 정점
Figure pat00036
에서, 축 시스템은 다음과 같이 생성된다. 원점 P 의 좌표들은 정점
Figure pat00037
의 좌표들이다. U 로 표기되는, 제 1 벡터는
Figure pat00038
의 입력 경계 에지에, 그리고 -U 가 경계 에지와 유사하게 지향되도록 접한다. V 로 표기되는 제 2 벡터는
Figure pat00039
의 출력 경계 에지에 접하며 경계 에지 방향으로 지향된다. 단어들 "입력" 및 "출력" 은 페이스의 법선 벡터에 따라서 경계 에지들의 위상학적인 방위에 관련된다. 제 3 벡터는 정점
Figure pat00040
에서 계산된 페이스의 외부 법선 벡터 N 이다. N 이 항상 U 에 그리고 V 에 수직함에도 불구하고, 축 시스템 (P,U,V,N) 이 일반적으로 일직선이고 직교하지 않다는 점에 유의한다.
도 9 내지 도 11 은 반-원통형 페이스 (90) 의 축 시스템들을 예시한다. 도 9 는 페이스 (90) 및 그의 법선 벡터 (92) 를 나타낸다. 도 10 은 법선 벡터 (92) 에 의해 유도된 경계 에지들 (94) 의 위상학적인 방위를 나타낸다. 경계 에지 a 는 정점
Figure pat00041
의 입력 에지이다. 경계 에지 b 는 정점
Figure pat00042
의 출력 에지이다. 도 11 은 축 시스템들의 벡터들 U,V,N 을 각각의 경계 정점에서 디스플레이한다.
이제, 본 방법은 일 예에서, 결정하는 단계 (S20) 내에서, 있다면, 페이스들 사이의 강체 운동을 탐색함으로써 2개의 페이스들이 또 다른 것의 복사본들 페이스인지를 결정할 수도 있다. f,g 가 (동일한 개수의) 로칼 축 시스템들
Figure pat00043
이 각각 마련된 2개의 페이스들이라고 하자. 페이스들 f,g 이 동일한 개수의 로칼 축 시스템들을 갖지 않으면, 이것은 페이스들이 동일한 개수의 경계 교점들을 갖지 않고, 그 결과 페이스들이 서로의 복사본들인 것으로 결정되지 않으며 강체 운동 탐색이 개시되지 않는다는 것을 의미한다.
제 1 단계는 페이스 f 의 i-번째 축 시스템을 페이스 g 의 j-번째 축 시스템으로 각각 변경시키는 강체 운동들
Figure pat00044
을 계산하는 것이다.
Figure pat00045
이므로, 많아 봐야
Figure pat00046
개의 이런 강체 운동들이 존재한다. 형식적으로, 강체 운동들은
Figure pat00047
인 경우이다.
Figure pat00048
Figure pat00049
임에 주목하면, 이것은 알려지지 않은 것들이 매트릭스
Figure pat00050
의 계수들 및 벡터
Figure pat00051
의 좌표들임에 유념하면서, 다음의 선형 시스템을 먼저 풀어서 얻어진다.
Figure pat00052
두번째로, 매트릭스
Figure pat00053
가 회전인 것을 보증하기 위해, 2개의 다음 조건들이 체크되어야 한다.
Figure pat00054
그렇지 않고,
Figure pat00055
Figure pat00056
이 회전이 아니기 때문에 강체 운동이 아니다.
그 후, f 를 g 로 변경시키는 강체 운동
Figure pat00057
은 있다면, 이전에 계산된
Figure pat00058
사이에서 발견될 것이다. 문제는, 이제 f,g 및 강체 운동 D 이 주어지면,
Figure pat00059
가 참인가? 라는 질문에 응답하는 것이다
이것은
Figure pat00060
에 대해, 3D 지점들
Figure pat00061
의 컬렉션으로 페이스 f 를 샘플링함으로써, 그리고 지점들
Figure pat00062
과 페이스 g 사이의 거리들이 동일한 오브젝트들에 대한 미리 결정된 수치적인 임계치에 비교될 때 충분히 작은지를 체크함으로써, 이루어질 수도 있다.
Figure pat00063
사이에, 여러 강체 운동들이 f 를 g 로 변경하면, 순수한 병진운동이 가능할 때 선택된다. 이것은 결정하는 단계 (S20) 를 수행하는 효율적인 방법이며, 사용자 의도와 준수하는 결과들을 초래한다.
S20 의 반복들에서 결정된 서브세트들에 대한 데이터 구조의 일 예가 이하 설명된다.
강체 운동들 및 관련되는 지점-세트들은 (주어진 페이스에 대응하는) 주어진 지점-세트의 복사본들 및 연관되는 강체 운동들을 취출하기 위해, 이하 설명되는 적합한 데이터 구조로 저장될 수도 있다. 개념적으로, 이 데이터 구조는 방향성 그래프 W=(P,A,α,ω) 를 포함하며, 여기서 노드들 P 는 지점-세트들이며 아크들 A 은 강체 운동들로 라벨링된다. 라벨링은 맵핑
Figure pat00064
Figure pat00065
이며, 여기서, SE(3) 는 3차원의 강체 운동들의 그룹이다. 좀더 정확하게는, 아크 u∈A 가 노드 α(u)=x∈P 에서 시작하고 노드 ω(u)=y∈P 에서 종료한다고 기록하는 것은 지점-세트들 x 및 y 가 서로의 복사본들이고 강체 운동 m(u) 이 x 를
Figure pat00066
로 표기되는 y 로 변화시킨다는 것을 의미한다. 이제, 아크 v∈A 가 x 및 z∈P 에 접속된다고 가정하면, α(v)=x 및 ω(v)=z 로 기록된다. x 를 z 로 변화시키는 강체 운동은
Figure pat00067
이다. 그 후, z 는 또한 y 의 복사본이며, y 를 z 로 변화시키는 강체 운동은
Figure pat00068
이다. 반대로, z 를 y 로 변화시키는 강체 운동은
Figure pat00069
이다. 이 정보는 모두 데이터 구조에 의해 캡쳐될 수도 있다.
성질 상, 초기 서브세트들을 계산하는 알고리즘은 깊이-1 트리 그래프들로 이루어지는 그래프를 생성하며, 그 그래프들 각각은 서브세트이다. 정의에 의해, 깊이-1 트리는 어떤 입력 아크도 없는 하나의 노드 (루트 노드) 및 어떤 출력 아크 노드들도 없는 모든 다른 노드들 (잎 노드들) 을 특징으로 그린 트리 그래프이다. 즉, 모든 비-루트 노드들은 루트 노드에 접속된다. 그 결과, 깊이-1 트리 그래프 내에 임의의 2개의 노드들이 주어지면, 그 노드들을 접합하는 아크들의 오직 하나의 경로가 존재하며, 이 고유한 경로는 오직 2개의 아크들만을 포함한다.
도 12 내지 도 13 은 초기 서브세트들을 계산하는 알고리즘 (결정하는 단계 (S20)) 에 기인하는 그래프 데이터 구조를 예시한다. 도 12 는 페이스들이 1 로부터 12 까지 넘버링됨과 동시에, 4개의 정렬된 원통형 슬롯들로 이루어지는 모델링된 오브젝트의 B-Rep (120) 을 예시한다. 그들은 위상학적인 데이터 구조로 일부 임의의 스토리지에 따라서 넘버링된다. 도 13 은 2개의 깊이-1 트리들 (132) 을 포함한, 그래프 (130) 를 예시한다.
따라서, 하나의 지점-세트를 임의의 다른 지점-세트로 변화시키는 강체 운동은 2개의 상기 지점-세트들을 접합하는 아크들의 경로를 따라서 강체 운동들을 결합함으로써 계산된다. 이 경로가 2개의 아크들을 포함하므로, 오직 2개의 강체 운동들이 결합된다. 서브세트 내 임의의 2개의 지점-세트들에 관련한 강체 운동을 계산하는 이 편의 (facility) 는 본 방법의 예에서 널리 사용된다.
형성하는 단계 (S30) 의 예들이 이하 설명된다. 이들 예들에서, 서브세트 내에 페이스들의 제 1 그룹을 형성하는 단계 (S30) 은 기하학적인 패턴들의 미리 결정된 세트 중 하나의 발생이 그 서브세트 내에 존재하는지를 테스트하는 단계를 포함한다. 테스팅 및 결과로 일어나는 액션들의 예들이 주기적으로 정의된 패턴들의 세트를 포함하는 기하학적인 패턴들의 미리 결정된 세트에 대해 제공된다. 좀더 구체적으로는, 이 예의 주기적으로 정의된 패턴들의 세트는 선형 패턴 및/또는 원형 패턴을 포함하는 1차원 패턴들, 및 직사각형 그리드 패턴 및/또는 원형 그리드 패턴을 포함한 그리드 패턴들을 포함한다. 이 구조는 특히 이들 패턴들이 종종 발생하는 기계 설계에 잘 적응된다. 모든 이들 4개의 패턴들 (즉, 기하학적인 패턴들의 미리 결정된 세트는 원형의 그리드 패턴, 직사각형의 그리드 패턴, 원형 패턴, 및 선형 패턴을 포함한다) 을 포함하는 세트에 기초하여, 형성하는 단계 (S30) 를 수행하는 것은 따라서 기계 설계자들의 가장 의도되는 패턴들을 파악하는 것을 가능하게 한다. 그 세트가 이들 4개의 패턴들로 구성되면, 본 방법의 실행의 속도와 우수한 상충관계가 역시 보장된다.
테스팅 및 결과로 일어나는 액션들의 정의들 및 예들이 이하 이들 패턴들의 각각에 대해 제공된다.
지점-세트들의 세트 G 가 주어지면, H⊂G 가 S20 에서 결정된 G 의 서브세트라 하자. 이것은 H 의 모든 엘리먼트들이 서로의 복사본들임을 의미한다.
H 의 1차원 패턴은 쌍
Figure pat00070
이며, 여기서,
Figure pat00071
는 H 에 포함되는 세트이며 그리고 여기서, D 는
Figure pat00072
에 대해
Figure pat00073
인 경우에 강체 운동이다.
선형 패턴은 1차원 패턴이며, 여기서, 강체 운동 D 은 병진운동 (translation) 이며, 도 14 상에 예시된 바와 같이, 이 1차원 패턴은 또 다른 것의 복사본 페이스이고 병진운동되는 반-실린더 페이스들 (140) 에 의해 형성되는 선형 패턴을 나타낸다.
원형 패턴은 1차원 패턴이며 여기서, 강체 운동 D 은 회전이며, 도 15 상에 예시된 바와 같이, 이 1차원 패턴은 디스크 페이스들 (150) 의 원형 패턴을 나타낸다.
그리드 패턴은 비-평행한 2개의 강체 운동들을 가진 2D 레이아웃 패턴이다.
H 의 직사각형의 그리드 패턴은 3중 (H',D,B) 이며, 여기서,
Figure pat00074
Figure pat00075
는 다음의 경우에 H 의 서브세트이다:
- 강체 운동들 B 및 D 은 비 공선적인 병진운동들 (non collinear translations) 이며;
-
Figure pat00076
에 대해
Figure pat00077
이며; 그리고
-
Figure pat00078
Figure pat00079
에 대해
Figure pat00080
이다.
도 16 은 디스크 페이스들 (160) 의 직사각형의 그리드 패턴을 예시한다.
H 의 원형의 그리드 패턴은 3중 (H',R,T) 이며, 여기서, 다음과 같은 경우
Figure pat00081
Figure pat00082
는 H 의 서브세트이며, 여기서 T 는 병진운동이며 그리고, R 은 회전이다:
- 병진운동 T 는 R 의 회전축에 수직하다;
-
Figure pat00083
에 대해
Figure pat00084
이며; 그리고
-
Figure pat00085
Figure pat00086
에 대해
Figure pat00087
이다.
도 17 은 삼각형 페이스들 (170) 의 원형의 그리드 패턴을 예시한다.
이 예들에서, 형성하는 단계 (S30) 는 가능하면 패턴을 형성하려고 시도하고 (이것은 패턴을 "초기화한다고 지칭된다), 그후 패턴을 서브세트 내에서 확장함으로써, 위에서 설명한 기하학적인 패턴들 중 하나의 발생이 서브세트 내에 존재하는지를 테스트하는 단계를 포함한다.
1차원 패턴을 초기화하는 방법의 일 예가 이하 설명된다.
이 예에서 테스트하는 것은 1차원 패턴을 형성하는 3개의 엘리먼트들을 발견하려고 시도하는 것을 포함한다. 1차원 패턴의 첫번째 3개의 엘리먼트들을 발견하는 알고리즘은 다음과 같다. H 가 지점-세트들의 서브세트라 하자 (H 의 엘리먼트들 h 가 서로들의 복사본들임을 의미함). 알고리즘의 시작 시에, 모든 엘리먼트들이 미사용되며, 엘리먼트들이 임의의 패턴에 아직 관련되지 않는다는 것을 의미한다.
Figure pat00088
로 표기된 첫번째 주어진 미사용된 엘리먼트는 어떤 방법으로든 선택될 수도 있다.
단계 (1):
Figure pat00089
에 대해,
Figure pat00090
Figure pat00091
을 의미하는,
Figure pat00092
로부터 거리를 증가시킴으로써,
Figure pat00093
에 대해 리스트
Figure pat00094
에서 모든 다른 미사용된 엘리먼트들을 분류한다.
단계 (2);
Figure pat00095
가 리스트 L 에서 제 1 엘리먼트라고 하자.
Figure pat00096
인 경우 D 가 강체 운동이라 하자.
Figure pat00097
인 경우 또 다른 미사용된 엘리먼트
Figure pat00098
을 탐색한다. 이
Figure pat00099
가 존재하면, 패턴
Figure pat00100
가 초기화되며, 엘리먼트들
Figure pat00101
이 미사용되며 알고리즘이 중지된다.
단계 (3): 그렇지 않고,
Figure pat00102
Figure pat00103
인 경우 또 다른 미사용된 엘리먼트
Figure pat00104
를 탐색한다. 이
Figure pat00105
가 존재하면, 패턴
Figure pat00106
이 초기화되며,
Figure pat00107
가 사용되며 알고리즘이 중지된다.
단계 (4): 이런
Figure pat00108
Figure pat00109
엘리먼트들이 존재하지 않으면,
Figure pat00110
를 리스트 L 에서의 다음 엘리먼트로서 취함으로써 단계 (2) 로 진행한다. 리스트 L 에서의 모든 엘리먼트들이 방문되었으면, 어떤 패턴도
Figure pat00111
로부터 초기화되지 않는다.
단계들 (2) 및 (3) 에서, 병진운동 D 는 선형 패턴을 초기화하며; 회전 D 는 원형 패턴을 초기화한다.
도 18 내지 도 19 는 선형 패턴 초기화를 예시한다.
도 20 은 리스트 L 이 유용한 이유를 예시한다. 패턴 초기화를 엘리먼트
Figure pat00112
로 시작할 때, 리스트 L 은
Figure pat00113
이다. a 까지 가장 가까운 엘리먼트는
Figure pat00114
이며,
Figure pat00115
경우이다. 그러나,
Figure pat00116
또는
Figure pat00117
인 경우 엘리먼트
Figure pat00118
또는
Figure pat00119
이 존재하지 않는다. 그 후, L(2)=b 인, 리스트 L 에서의 다음 엘리먼트를 고려함으로써,
Figure pat00120
이도록 하는 가 존재하며, 패턴
Figure pat00122
이 초기화된다.
원형의 그리드 패턴을 초기화하는 방법의 일 예가 이하 설명된다.
이 예에서 테스트하는 것은 원형의 그리드 패턴을 형성하는 4개의 엘리먼트들을 발견하려고 시도하는 것을 포함한다. 원형의 그리드 패턴의 첫번째 4개의 엘리먼트들을 발견하는 알고리즘은 다음과 같다. H 가 지점-세트들의 서브세트라 하자 (H 의 엘리먼트들 h 가 서로들의 복사본들임을 의미함). 초기 상태에서, 모든 엘리먼트들이 미사용되며, 엘리먼트들이 임의의 패턴에 아직 관련되지 않는다는 것을 의미한다. 처음에 주어진 미사용된 엘리먼트는
Figure pat00123
로 표기된다.
단계 (1):
Figure pat00124
에 대해
Figure pat00125
임을 의미하는,
Figure pat00126
으로부터 거리를 증가시킴으로써,
Figure pat00127
에 대해 리스트 L(i) 에서 모든 다른 미사용된 엘리먼트들을 분류한다.
단계 (2):
Figure pat00128
Figure pat00129
Figure pat00130
로 변화시키는 강체 운동 R 이 회전인 경우 리스트 L 에서,
Figure pat00131
로 표기되는 제 1 엘리먼트를 탐색한다. 이런
Figure pat00132
엘리먼트가 존재하지 않으면, 원형 패턴이
Figure pat00133
로부터 초기화되지 않는다.
단계 (3): 리스트 L 에서,
Figure pat00134
Figure pat00135
Figure pat00136
로 변화시키는 강체 운동 T 가 회전축 R 에 수직한 병진운동인 경우
Figure pat00137
로 표기되는 제 1 엘리먼트를 탐색한다. 이런
Figure pat00138
엘리먼트가 존재하지 않으면, 리스트 L 의 다음 엘리먼트
Figure pat00139
와 함께 단계 (2) 로 진행한다.
단계 (4): 마지막으로,
Figure pat00140
Figure pat00141
인 경우 또 다른 미사용된 엘리먼트
Figure pat00142
를 탐색한다. 이런
Figure pat00143
엘리먼트가 존재하면, 패턴
Figure pat00144
이 초기화되며
Figure pat00145
가 사용된다. 이런
Figure pat00146
엘리먼트가 존재하지 않으면, 리스트 L 의 다음 엘리먼트
Figure pat00147
와 함께 단계 (3) 으로 진행한다.
도 21 은 원형의 그리드 패턴 초기화를 예시한다.
직사각형의 그리드 패턴을 초기화하는 방법의 일 예가 이하 설명된다.
이 예에서 테스트하는 것은 직사각형의 그리드 패턴을 형성하는 4개의 엘리먼트들을 발견하려고 시도하는 것을 포함한다. 직사각형의 그리드 패턴의 처음 4개의 엘리먼트들을 발견하는 알고리즘은 다음과 같다. H 가 지점-세트들의 서브세트라 하자 (H 의 엘리먼트들 h 가 서로들의 복사본들임을 의미함). 초기 상태에서, 모든 엘리먼트들 h 이 미사용되며, 엘리먼트들이 임의의 패턴에 아직 관련되지 않는다는 것을 의미한다. 첫번째 주어진 미사용된 엘리먼트는
Figure pat00148
로 표기된다.
단계 (1):
Figure pat00149
에 대해
Figure pat00150
임을 의미하는,
Figure pat00151
으로부터 거리를 증가시킴으로써,
Figure pat00152
에 대해 리스트 L(i) 에서 모든 다른 미사용된 엘리먼트들을 분류한다.
단계 (2):
Figure pat00153
Figure pat00154
Figure pat00155
로 변화시키는 강체 운동 D 이 병진운동인 경우 리스트 L 에서,
Figure pat00156
로 표기되는 제 1 엘리먼트를 탐색한다. 이런
Figure pat00157
엘리먼트가 존재하지 않으면, 직사각형의 패턴이
Figure pat00158
로부터 초기화되지 않는다.
단계 (3):
Figure pat00159
Figure pat00160
Figure pat00161
로 변화시키는 강체 운동 B 가 병진운동 D 에 공선적이 아닌 병진운동인 경우 리스트 L 에서,
Figure pat00162
로 표기되는 제 1 엘리먼트를 탐색한다. 이런
Figure pat00163
엘리먼트가 존재하지 않으면, 리스트 L 의 다음 엘리먼트
Figure pat00164
와 함께 단계 (2) 로 진행한다.
단계 (4): 마지막으로,
Figure pat00165
Figure pat00166
인 경우 또 다른 미사용된 엘리먼트
Figure pat00167
를 탐색한다. 이런
Figure pat00168
엘리먼트가 존재하면, 패턴
Figure pat00169
가 초기화되며
Figure pat00170
가 미사용된다. 이런
Figure pat00171
엘리먼트가 존재하지 않으면, 리스트 L 의 다음 엘리먼트
Figure pat00172
과 함께 단계 (3) 로 진행한다.
도 22 는 직사각형의 그리드 패턴 초기화를 예시한다.
형성하는 단계 (S30) 에 있어 S20 에서 결정된 서브세트 내에서 1차원 패턴을 확장하는 방법의 일 예가 이하 설명된다.
지점-세트들의 서브세트 H 및 이 서브세트에서 초기화된 패턴 P 가 주어지면, 그 목표는 초기 패턴 P 를 포함하는 가장 큰 패턴을 계산하는 것이다. 1차원 패턴
Figure pat00173
이 주어지면,
Figure pat00174
는 P 의 제 1 엘리먼트로 지칭되며, f(P) 로 표기된다;
Figure pat00175
는 P 의 최종 엘리먼트로 지칭되며,
Figure pat00176
로 표기된다. 확장 알고리즘은 순방향 확장 단계:
Figure pat00177
그리고, 역방향 확장 단계:
Figure pat00178
를 포함한다.
"while" 루프들의 끝에서, 최대한의 1차원 패턴 P 은 서브세트 H 내에서 완료된다.
형성하는 단계 (S30) 에 있어 S20 에서 결정된 서브세트 내에서 2차원 패턴 (예컨대, 그리드 패턴) 을 확장하는 방법의 일 예가 이하 설명된다.
지점-세트들의 서브세트 H 및 이 서브세트에서 초기화되는 패턴 P 가 주어지면, 그 목표는 초기 패턴 P 을 포함하는 가장 큰 패턴을 계산하는 것이다. 확장 프로세스는 순방향 로우 확장 알고리즘, 역방향 로우 확장 알고리즘, 순방향 칼럼 확장 알고리즘 및 역방향 칼럼 확장 알고리즘을 포함한다. 2차원 패턴
Figure pat00179
가 주어지면, 순방향 로우 확장 알고리즘은 도 23 의 플로우차트 상에 나타낸 바와 같다.
도 24 내지 도 27 은 원형의 그리드 패턴의 순방향 로우 확장 알고리즘을 연대순으로 예시한다. 점선들은 확장되는 원형 패턴에 포함되지 않는 지점-세트들이다. 이 예에서, q=2 및 p=4 이다.
순방향 칼럼 확장 알고리즘은 도 28 의 플로우차트 상에 나타낸 바와 같다. 도 29 내지 도 31 은 원형의 그리드 패턴에 대해 순방향 칼럼 알고리즘을 연대순으로 예시한다. 점선들은 확장되는 원형 패턴에 포함되지 않는 지점-세트들이다. 이 예에서, q=3 및 p=3 이다.
순방향 로우 확장 및 순방향 칼럼 확장 알고리즘들 양자는 직사각형의 및 원형의 그리드 패턴들에 사용되도록 설계된다. 역방향 로우 및 칼럼 확장 알고리즘들은 이들이 순방향 확장 버전들로부터 용이하게 추론되기 때문에 상세히 설명되지 않는다. 예를 들어, 하나의 방법은 로우들의 넘버링을 역전하는 것이며 칼럼들의 넘버링을 역전하는 것이다.
모든 경우들에서, 테스트하는 것은 우선순위 순서에 따라서 기하학적인 패턴들의 미리 결정된 세트를 브라우징하는 것을 포함할 수도 있다. 즉, 미리 결정된 (아마도, 사용자-정의된) 우선순위 순서는 패턴들의 미리 결정된 세트에 연관되며, 형성하는 단계 (S30) 는 그 순서에 따라서 테스팅을 수행함으로써 이들 패턴들의 발생들을 발견하려고 시도할 수도 있다. 사실대로 말하자면, 결정하는 단계 (S20) 후, 본 방법은 S20 에서 결정된 복사본들의 서브세트 내에서 패턴들을 탐색한다. 본 방법을 그 고려되는 애플리케이션에 더욱 더 적응시키기 위해서, 이것은 상이한 패턴들 사이의 일부 우선순위 순서에 따라서 반복될 수도 있다. 예를 들어, 최고 우선순위 패턴의 모든 발생들이 S30 에서 형성되며, 있다면, 그후 다음 우선순위의 모든 발생들, 있다면, 최저 우선순위 까지 기타 등등으로 형성된다.
위에서 설명한 패턴들의 구체적인 예들을 참조하면, 우선순위 순서는 최고 우선순위로부터 최저 우선순위까지, 원형의 그리드 패턴, 직사각형의 그리드 패턴, 원형 패턴, 그리고 그후 선형 패턴을 순서정렬할 수도 있다. 이런 구조는 특히 (상이한 사용자들의 세트에 대해 관찰되는 통계적 계산 시간의 관점에서) 기계 설계의 분야에 잘-적응된다.
성패가 달려 있는 본 방법의 예는 다음 패턴 유형들: 1D 선형, 2D 선형, 1D 원형 및 2D 원형을 다룬다. 패턴들은 알고리즘에 의해 다음 내림 우선순위 리스트에 따라서 탐색된다:
1. 2D 원형 (즉, 원형의 그리드)
2. 2D 선형 (즉, 직사각형의 그리드)
3. 1D 원형
4. 1D 선형.
이 우선순위 리스트는 실제로 매우 우수한 결과들을 보이는 다음 휴리스틱 고려사항들에 기초한다.
하나의 휴리스틱은 2D 원형이 2D 선형보다 더 낫다는 점이다. 도 32 상에 예시된 입력 기하학적 구조가 주어지면, 2D 선형 (도 33) 패턴 및 2D 원형 (도 34) 패턴 양자는 이론적으로 인식될 수 있다. 2D 원형 패턴이 그러나 가장 타당한 설계 의도로서 선택된다.
또 다른 휴리스틱은 2D 선형이 1D 원형보다 더 낫다는 점이다. 도 35 상에 예시된 입력 기하학적 구조가 주어지면, 1D 원형 (도 36) 패턴 및 2D 선형 (도 37) 패턴 양자가 이론적으로 인식될 수 있다. 2D 선형 패턴이 그러나 가장 타당한 설계 의도로서 선택된다.
또 다른 휴리스틱은 1D 원형이 1D 선형 보다 더 낫다는 점이다. 도 38 상에 예시된 입력 기하학적 구조가 주어지면, 부분 1D 선형 (도 39) 패턴 및 부분 1D 원형 (도 40) 패턴 양자가 이론적으로 인식될 수 있다. 1D 원형 패턴이 가장 타당한 설계 의도로서 선택된다.
연관시키는 단계 (S40) 의 예들이 이하 설명된다.
최대한의 패턴들은 각각의 서브세트 내에서 이 예들의 이전 알고리즘들을 통해서 계산될 수도 있다. 연관시키는 단계 (S40) 의 하나의 목표는 가능한 한 패터닝되는 지점-세트들 (즉, 페이스들의 기하학적인 패턴) 을 확장하는 것이다. 그 원리는 인접한 페이스들로의 위상학적인 확장을 수행하는 것이다. 즉, 각각의 패턴 P 에 대해 그리고 이 패턴에서의 각각의 엘리먼트에 대해, 그 목표는 상기 페이스들이 패턴 P 의 구조를 유지할 때 다른 패턴들 또는 서브세트들로부터 상기 엘리먼트에 인접한 페이스들을 파악하는 것이다. 데이터 구조 관점에서, 이런 페이스들은 그들 소유하는 패턴 또는 서브세트로부터 패턴 P 로 이동될 수도 있다 (즉, 본 방법은 이전 반복들에서 결정된 서브세트들 및 기하학적인 패턴들을 수정할 수도 있다).
이 위상학적인 확장은 다음과 같이 향상된다. 여기서 또한, 엘리먼트들은 인접한 페이스들에 방문함으로써 확장되며, 그러나 이 예에서의 목표는 복사본들이 입체 상에 중복될 때 동일한 방법으로 트리밍되지 않는다는 것을 식별하는 것이다. 이 예에서의 원리는 다음 기준들을 충족시키는 페이스들을 패터닝되는 엘리먼트에 포함시키는 것이다. (1) 후보 페이스는 패터닝되는 엘리먼트에 인접하다.
Figure pat00180
Figure pat00181
에 대해
Figure pat00182
라 하면, 그 에지들은 후보 페이스 및 패터닝되는 엘리먼트에 의해 공유된다. (2) 후보 페이스의 지지하는 표면은 패턴 구조에 적합하다. (3) 에지들
Figure pat00183
의 교점들의 (위에서 정의된 바와 같은) 로칼 축 시스템들은 패턴 구조에 적합하다.
예를 들어, 도 41 의 입체 (410) 에 적용되는 패턴 인식 알고리즘은 S30 의 반복에서, 도 42 상에 나타낸 그리고 사각형 (squared) 패드들 (414) 의 4개의 상부 페이스들 (412) 을 포함하는 선형 패턴 (420) 을 인식하고 형성한다.
도 41 내지 도 42 의 예에서, 패터닝되는 페이스들의 인접한 페이스들은 서로의 복사본들이 아니며; 이것이 이 페이스들이 임의의 패턴에 속하지 않는 이유이다. 도 43 상에 예시된 바와 같이, 페이스들 (432, 433 및 434) 은 페이스 (431) 의 복사본들이 아니다. 그럼에도 불구하고, 페이스들이 위상학적인 확장 기준들을 충족시키므로, 이 페이스들은 그 패턴에 포함된다. 모든 측면 페이스들이 포함된 후, 초기 패턴 (420) 은 도 44 상에 나타낸 패턴 (440) 이 된다.
제 2 그룹의 페이스들의 개수는 제 1 그룹의 페이스들의 개수 마이너스 미리 결정된 임계치, 예를 들어, 1 보다 더 높을 수도 있다. 즉, 연관시키는 단계 (S40) 를 수행할 때, 본 방법은 제 2 그룹을 생성하기 전에 또 다른 제약을 부과한다: 제 1 그룹의 페이스들의 개수보다 작지만, 미리 결정된 임계치가 감산되는 이 개수보다 더 큰 (따라서, 최소 값 이상이어야 한다) 어떤 개수의 페이스들을 가져야 한다. 아이디어는 그 고려되는 인접한 페이스들이 아마도 그 패턴을 따르도록 의도되지 않았다는 것을 의미할 것이므로, (엘리먼트들의 개수의 관점에서) 제 1 그룹보다 더 적은 제 2 그룹들로 패턴을 확장하지 않는 것이다. 지금까지는, 너무 엄격할 수도 있고 로칼 변화들이 설계 동안 패턴 생성 이후 일어난 상황들을 부적절하게 제거할 것이므로, 제 1 그룹 만큼 큰 제 2 그룹을 가질 필요가 없다. 본 방법은 따라서 이런 로칼 변화들에 대해 일부 마진을 남겨 둘 수도 있다. 미리 결정된 임계치에 대한 숫자 1 은 거짓 양성들 (false positives) 과 거짓 음성들 (false negatives) 사이의 우수한 상충관계이다.
인접한 페이스들로의 위상학적인 확장은 따라서 모든 복사본들 상에 나타나지 않는 페이스들을 고려할 수도 있다. 예를 들어, 도 45 내지 도 47 상에 (명료성을 위해 3개의 상이한 뷰들로) 나타낸 입체 (450) 가 고려된다.
패턴 알고리즘은 형성하는 단계 (S30) 에서, 도 48 상에 나타낸, 정사각형 패드의 상부 페이스들 (452) 의 선형 시퀀스를 인식한다. 다른 페이스가 S30 에서 도 49 상에 나타낸 패턴 (490) 에 포함되지 않을 수 있다.
이 예의 방법은 그후 S40 에서 초기 패턴의 페이스에 인접하는 페이스들을, 그 지지하는 평면이 패턴 사양에 적합하도록, 포함한다 (즉, 제 1 그룹 페이스들에 인접한 페이스들의 여러 제 2 그룹들과의 S40 의 여러 반복들). 이것은 도 50 내지 도 52 상에 연대순으로 나타낸 바와 같이, 패턴 (490) 의 수정들을 점진적으로 획득한다.
이제, 본 방법은 페이스들의 제 1 그룹에 페이스들의 소위 "블록들" 의 적어도 하나의 그룹을 연관시키는 단계를 더 포함할 수도 있다. 각각의 블록은 제 2 그룹의 각각의 페이스에 인접하고 그리고 블록들의 각각의 쌍에 대해, 강체 운동을 따르는 접속된 페이스들의 세트이다 (즉, 블록은 예컨대, 추이적인 (transitive), 에지-공유하기를 통해서 모두 함께 접속되는 하나 이상의 페이스(들) 의 세트이다). 즉, 본 방법은 S30 에서 형성된 기하학적인 패턴을, S40 에서 확장한 후, 제 1 그룹 페이스들에 인접하지 않고 제 2 그룹 페이스들에 접속된 새로운 페이스들로 추가로 확장한다.
준수 (compliancy) 를 위해 보유되는 기준은 정확히 연관시키는 것과 동일할 수도 있다. 즉, 블록들의 쌍들의 대응하는 페이스들은 각각의 제 1 그룹 페이스들을 하나를 나머지 다른 하나로 변환하는 강체 운동을 통해서, 적어도 현재 확장되는 패턴의 각각의 페이스들에 대해 고려되는 페이스들의 인접의 영역에서, 나머지 다른 하나로부터 하나를 유도할 수 있는 지지하는 표면들을 가져야 한다. 본 예의 경우, 지지하는 표면들은 실제로 연관시키는 단계 (S40) 에 대해서와 같이, 나머지 다른 하나로부터 하나를 정확히 (즉, 전적으로) 유도할 수도 있다.
더욱이, 대응하는 제 2 그룹 페이스들의 개수가 (미리 결정된 임계치를 법으로 하여) 제 1 그룹 페이스들의 개수보다 더 적을 수도 있지만, 블록들의 개수는 제 2 그룹 페이스들의 개수와 동일하도록 속박될 수도 있다. 이것은 블록들이 이미 제 1 그룹 페이스들이 아니기 때문이다.
일부 복사본들에 인접한 페이스들을 허용하고 다른 복사본들에서 생략함으로써, 그리고 그 패턴을 블록들로 확장함으로써; 도 53 의 패턴 (530) 이 계산된다. 이 최종적인 패턴 (530) 은 이 예의 방법에 의해 결정되는 바와 같이, 다음 설계 의도에 대응한다: 도 55 상에 나타낸 입체 (550) 상에 도 54 상에 나타낸 피쳐 (540) 를 복사한다.
본 방법의 단계들의 상기 예들의 반복에 관련되는 이슈들이 일 예를 통해서 이하 설명된다. 패턴 확장이 페이스들을 하나로부터 또 다른 것으로 이동시킴으로써 패턴들 및 서브세트들을 다시 작업하므로, 반복들이 수정된 패턴들 및 서브세트들을 조사하는데 필요하다.
예를 들어, S10 에서 제공되는 초기 모델은 도 56 상에 나타낸 11개의 작은 정사각형들 및 4개의 큰 정사각형들의 배열 (560) 일 수도 있다. 작은 정사각형들 (8, 9, 10 및 11) 은 큰 정사각형들 (12, 13, 14 및 15) 에 각각 인접하다. 초기 서브세트들 계산 알고리즘은 작은 정사각형들의 서브세트
Figure pat00184
및 큰 정사각형들의 서브세트
Figure pat00185
를 직접 산출할 수도 있다. 서브세트들 내에서의 패턴 인식은 큰 정사각형들의 선형 패턴
Figure pat00186
및 작은 정사각형들의 선형 그리드 패턴 P=({1,2,3,4,5,7,8,9,10,11},D,B) 를 산출할 수도 있다. 도 57 은 서브세트들 및 패턴들 상태를 예시한다.
패턴들 확장 알고리즘은 패턴 P' 이 작은 및 큰 정사각형들 인접 때문에 그리고 T=D 이기 때문에 작은 정사각형들 (8,9,10,11) 의 페이스들을 파악할 수 있다는 것을 발견한다. 이 동작은 페이스들을 패턴 P 로부터 패턴 P' 로 이동시키며 패턴 P 를 삭제한다. 업데이트된 패턴 P' 은
Figure pat00187
이다. 더욱이, 도 58 에 예시된 바와 같이, 서브세트 C 는 엘리먼트들 (8 내지 11) 이 패턴 P' 에 기여하기 때문에 이제
Figure pat00188
이며, 그리고 서브세트 C' 는 모든 그의 엘리먼트들이 패턴 P' 에 관련되기 때문에 삭제된다.
서브세트 C 가 수정되기 때문에, 반복이 시작된다. 도 59 에 예시된 바와 같이, 선형 패턴
Figure pat00189
를 발견한다. 서브세트 C 가 단일 엘리먼트까지 감소되며 반복들이 중지된다.
구체적인 세부내용들이 이하 설명된다.
본 발명에서 설명되는 패턴 인식 알고리즘은 여러 솔루션들이 존재할 수 있음에도 불구하고 단일 결과를 제공한다. 예를 들어, 도 60 내지 도 61 은 디스크들의 동일한 초기 입력에 대한 직사각형의 패턴들의 2개의 가능한 솔루션들을 (점선으로 된 원들로) 예시하며, 선험적으로, 나머지 다른 하나에 하나를 선호하는 것에는 이유가 없다. 본 방법은 이들 2개 중에서 하나를 무작위로 계산할 수도 있다.
또한, 패턴이 인식된 후, 하나는 복사되는 피쳐의 참조 버전을 필요로 할 수도 있다. 참조 피쳐들의 모든 복사본들이 트리밍 동작들에 의해 변경될 수도 있기 때문에, 예를 들어, 편집 목적을 위해 "최초인 (virgin)" 참조 피쳐를 계산하는데 유용할 것이다. 본 방법은 임의의 구현예에 따라서, 참조 버전의 이런 결정을 포함할 수도 있다.

Claims (14)

  1. 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법으로서,
    상기 모델링된 오브젝트의 경계 표현을 제공하는 단계 (S10) 로서, 상기 경계 표현은 각각의 지지하는 표면의 구획된 부분으로서 각각 정의된 페이스들 (faces) 의 세트를 포함하는, 상기 제공하는 단계 (S10);
    상기 페이스들이 다른 것의 복사본 페이스인 상기 경계 표현의 페이스들의 세트의 서브세트를 결정하는 단계 (S20);
    기하학적인 패턴을 형성하는 상기 서브세트 내에서의 페이스들의 제 1 그룹을 형성하는 단계 (S30); 및
    제 2 그룹의 각각의 페이스에 대해, 상기 제 1 그룹의 각각의 페이스에 인접하고, 상기 제 2 그룹의 페이스들의 각각의 쌍에 대해, 상기 쌍의 상기 페이스들이 인접한 상기 제 1 그룹의 상기 각각의 페이스들을, 하나를 나머지 다른 하나로, 변환하는 강체 운동 (rigid motion) 에 따르는, 페이스들의 적어도 하나의 제 2 그룹을 페이스들의 상기 제 1 그룹에 연관시키는 단계 (S40) 를 포함하는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 연관시키는 단계 (S40) 에 있어, 상기 강체 운동이 또한 상기 쌍의 상기 페이스들 각각에 대한 상기 지지하는 표면들을, 적어도 상기 제 1 그룹의 상기 각각의 페이스들에 대해 상기 쌍의 상기 페이스들의 인접의 영역에서, 하나를 나머지 다른 하나로, 변환할 때, 상기 쌍의 상기 페이스들이 인접한 상기 제 1 그룹의 각각의 페이스들을, 하나를 나머지 다른 하나로, 변환하는 상기 강체 운동에 따르는 것으로 페이스들의 쌍이 평가되는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 2 그룹의 페이스들의 개수는 상기 제 1 그룹의 페이스들의 개수 마이너스 미리 결정된 임계치 보다 더 많은, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    각각의 블록에 있어, 상기 제 2 그룹의 각각의 페이스에 인접한 접속된 페이스들의 세트이며 그리고 블록들의 각각의 쌍에 있어, 상기 강체 운동을 따르는 페이스들의 블록들의 적어도 하나의 그룹을 상기 페이스들의 제 1 그룹에 연관시키는 단계를 더 포함하는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 방법은 반복되며,
    반복적으로 상기 제 1 그룹에 포함되거나 또는 상기 제 1 그룹에 연관되는 페이스들은 다음 반복들 동안 폐기되는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 서브세트 내에서 상기 페이스들의 제 1 그룹을 형성하는 단계 (S30) 는 기하학적인 패턴들의 미리 결정된 세트 중 하나의 발생이 상기 서브세트 내에서 존재하는지를 테스트하는 단계를 포함하는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  7. 제 6 항에 있어서,
    상기 기하학적인 패턴들의 미리 결정된 세트는 주기적으로 정의된 패턴들의 세트를 포함하는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  8. 제 7 항에 있어서,
    상기 주기적으로 정의된 패턴들의 세트는 선형 패턴 및/또는 원형 패턴을 포함하는 1차원 패턴, 및/또는 직사각형의 그리드 패턴 및/또는 원형의 그리드 패턴을 포함하는 그리드 패턴을 포함하는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  9. 제 8 항에 있어서,
    상기 테스트하는 단계는 우선순위 순서에 따라서 상기 기하학적인 패턴들의 미리 결정된 세트를 브라우징하는 단계를 포함하는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  10. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 기하학적인 패턴들의 미리 결정된 세트는 원형의 그리드 패턴, 직사각형의 그리드 패턴, 원형 패턴, 그 다음 선형 패턴을 포함하는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  11. 제 10 항에 있어서,
    상기 테스트하는 단계는 최고 우선순위로부터 최저 우선순위까지, 상기 원형의 그리드 패턴, 상기 직사각형의 그리드 패턴, 상기 원형 패턴, 그 다음 상기 선형 패턴을 순서정렬하는 우선순위 순서에 따라서, 상기 기하학적인 패턴들의 미리 결정되는 세트를 브라우징하는 단계를 포함하는, 3차원의 모델링된 오브젝트를 설계하는 컴퓨터 구현 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 기재된 방법을 수행하는 명령들을 포함하는 컴퓨터 프로그램.
  13. 제 12 항에 기재된 컴퓨터 프로그램을 기록하고 있는 데이터 저장 매체.
  14. 메모리 및 그래픽 사용자 인터페이스에 커플링된 프로세서를 포함하는 CAD 시스템으로서, 상기 메모리는 제 12 항에 기재된 컴퓨터 프로그램을 기록하고 있는, CAD 시스템.
KR1020130167847A 2012-12-31 2013-12-30 기하학적인 패턴을 형성하는 페이스들의 그룹들 KR101993935B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP12306720.9A EP2750107B1 (en) 2012-12-31 2012-12-31 Groups of faces that form a geometrical pattern
EP12306720.9 2012-12-31

Publications (2)

Publication Number Publication Date
KR20140088027A true KR20140088027A (ko) 2014-07-09
KR101993935B1 KR101993935B1 (ko) 2019-06-27

Family

ID=47522368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130167847A KR101993935B1 (ko) 2012-12-31 2013-12-30 기하학적인 패턴을 형성하는 페이스들의 그룹들

Country Status (6)

Country Link
US (1) US9798835B2 (ko)
EP (1) EP2750107B1 (ko)
JP (1) JP6328930B2 (ko)
KR (1) KR101993935B1 (ko)
CN (1) CN103914865B (ko)
CA (1) CA2838185C (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2750106B1 (en) 2012-12-31 2021-09-15 Dassault Systèmes Geometrical elements transformed by rigid motions
EP2750107B1 (en) 2012-12-31 2017-03-15 Dassault Systèmes Groups of faces that form a geometrical pattern
US9569564B2 (en) * 2013-02-11 2017-02-14 Ford Global Technologies, Llc Automated cad process for creating mold packages
EP2808810B1 (en) 2013-05-28 2017-01-11 Dassault Systèmes Compression and decompression of 3d modeled object
IN2013MU04141A (ko) * 2013-12-31 2015-08-07 Dassault Systemes
EP3098735A1 (en) 2015-05-28 2016-11-30 Dassault Systèmes Querying a database with thickness criterion
EP3098734A1 (en) 2015-05-28 2016-11-30 Dassault Systèmes Querying a database with likeness criterion
EP3271809B1 (en) 2015-07-31 2023-01-11 Hewlett-Packard Development Company, L.P. Parts arrangement determination for a 3d printer build envelope
EP3179389B1 (en) * 2015-12-07 2019-05-22 Dassault Systèmes Detecting cut-outs
EP3264286B1 (en) 2016-06-28 2020-11-18 Dassault Systèmes Querying a database with morphology criterion
EP3293648B1 (en) * 2016-09-12 2024-04-03 Dassault Systèmes Representation of a skeleton of a mechanical part
EP3321817A1 (en) 2016-11-14 2018-05-16 Dassault Systèmes Querying a database based on a parametric view function
EP3340084A1 (en) * 2016-12-22 2018-06-27 Dassault Systèmes Replica selection
EP3460760B1 (en) * 2017-09-26 2021-05-19 Dassault Systèmes Generating a 2d drawing representing a mechanical part
US11281824B2 (en) 2017-12-13 2022-03-22 Dassault Systemes Simulia Corp. Authoring loading and boundary conditions for simulation scenarios
US11847820B2 (en) 2022-01-03 2023-12-19 Hcl Technologies Limited Method and system for classifying faces of boundary representation (B-Rep) models using artificial intelligence

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258889A (ja) * 2008-04-15 2009-11-05 Hitachi Ltd 形状モデル作成装置
US7733340B1 (en) * 2008-01-09 2010-06-08 Spaceclaim Corporation, Inc. Systems and methods for using a single tool for the creation and modification of solids and surfaces
WO2012115827A1 (en) * 2011-02-24 2012-08-30 Siemens Product Lifecycle Management Software Inc. Global deformation for a modeled object

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533148A (en) 1993-09-30 1996-07-02 International Business Machines Corporation Method for restructuring physical design images into hierarchical data models
US5842004A (en) 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US6778970B2 (en) * 1998-05-28 2004-08-17 Lawrence Au Topological methods to organize semantic network data flows for conversational applications
US6768928B1 (en) 1999-05-20 2004-07-27 Olympus Optical Co., Ltd. Mechanism component design support system
US6879946B2 (en) 1999-11-30 2005-04-12 Pattern Discovery Software Systems Ltd. Intelligent modeling, transformation and manipulation system
JP3536786B2 (ja) 2000-06-07 2004-06-14 株式会社デンソー 3次元モデリングシステム
US6721614B2 (en) 2001-05-21 2004-04-13 International Business Machines Corporation Multi-discipline universal CAD library
US6615503B1 (en) * 2002-04-16 2003-09-09 General Electric Company Calibration software for surface reconstruction of small objects
US7027054B1 (en) * 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method
JP4516957B2 (ja) 2003-01-25 2010-08-04 パーデュー リサーチ ファンデーション 3次元オブジェクトについて検索を行なうための方法、システムおよびデータ構造
US7269808B2 (en) 2005-05-26 2007-09-11 International Business Machines Corporation Design verification
US8576224B2 (en) 2006-05-31 2013-11-05 The Boeing Company Methods and apparatus for automated part positioning based on geometrical comparisons
US8988420B2 (en) 2006-08-11 2015-03-24 Siemens Product Lifecycle Management Software Inc. Visual file representation
US7688318B2 (en) 2007-02-02 2010-03-30 Dassault Systemes Solidworks Corporation Reusable data constructs for a modeling system
CN100460813C (zh) * 2007-05-10 2009-02-11 上海交通大学 三维空间连杆曲线匹配度的检测方法
US20090182450A1 (en) 2008-01-14 2009-07-16 Emmanuel Goldschmidt Web application for increasing mold reusability
US8368689B2 (en) 2008-09-25 2013-02-05 Siemens Product Lifecycle Management Software Inc. System, method, and computer program product for radial functions and distributions of three dimensional object models
US8384717B2 (en) 2010-02-16 2013-02-26 Siemens Product Lifecycle Management Software Inc. Method and system for B-rep face and edge connectivity compression
JP5469491B2 (ja) 2010-03-15 2014-04-16 オムロン株式会社 画像処理装置および画像処理方法
EP2387004B1 (en) 2010-05-11 2016-12-14 Dassault Systèmes Lossless compression of a structured set of floating point numbers, particularly for CAD systems
CN101995231B (zh) * 2010-09-20 2012-07-18 深圳大学 一种大型薄壳物体表面的三维检测系统及其检测方法
EP2439664A1 (en) 2010-09-23 2012-04-11 Dassault Systèmes Designing a modeled object within a session of a computer-aided design system interacting with a database
EP2750107B1 (en) 2012-12-31 2017-03-15 Dassault Systèmes Groups of faces that form a geometrical pattern
EP2750106B1 (en) 2012-12-31 2021-09-15 Dassault Systèmes Geometrical elements transformed by rigid motions
EP2808810B1 (en) 2013-05-28 2017-01-11 Dassault Systèmes Compression and decompression of 3d modeled object
US9946732B2 (en) 2013-12-15 2018-04-17 Socovar, Société En Commandite Method and system for comparing 3D models
EP3098735A1 (en) 2015-05-28 2016-11-30 Dassault Systèmes Querying a database with thickness criterion
EP3098734A1 (en) 2015-05-28 2016-11-30 Dassault Systèmes Querying a database with likeness criterion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7733340B1 (en) * 2008-01-09 2010-06-08 Spaceclaim Corporation, Inc. Systems and methods for using a single tool for the creation and modification of solids and surfaces
US7830377B1 (en) * 2008-01-09 2010-11-09 Spaceclaim Corporation, Inc. Systems and methods for using a single tool for the creation and modification of solids and surfaces
JP2009258889A (ja) * 2008-04-15 2009-11-05 Hitachi Ltd 形状モデル作成装置
WO2012115827A1 (en) * 2011-02-24 2012-08-30 Siemens Product Lifecycle Management Software Inc. Global deformation for a modeled object

Also Published As

Publication number Publication date
EP2750107B1 (en) 2017-03-15
JP6328930B2 (ja) 2018-05-23
JP2014130602A (ja) 2014-07-10
CN103914865B (zh) 2018-08-14
CA2838185C (en) 2020-05-05
CN103914865A (zh) 2014-07-09
EP2750107A1 (en) 2014-07-02
US20140188439A1 (en) 2014-07-03
CA2838185A1 (en) 2014-06-30
KR101993935B1 (ko) 2019-06-27
US9798835B2 (en) 2017-10-24

Similar Documents

Publication Publication Date Title
KR101993935B1 (ko) 기하학적인 패턴을 형성하는 페이스들의 그룹들
KR102055955B1 (ko) 강체 운동들에 의해 변환된 기하학적 엘리먼트들
US11256832B2 (en) Replica selection
US11163915B2 (en) Three-dimensional modeled object
KR20140139984A (ko) 3d 모델링된 오브젝트의 압축 및 압축해제
EP2811463B1 (en) Designing a 3d modeled object with 2d views
US20160048293A1 (en) Navigation through the hierarchical structure of a three-dimensional modeled assembly of parts
JP2012069108A (ja) データベースとインタラクションを行うcadシステムのセッション内のモデル化オブジェクトの設計
JP2012238311A (ja) 三次元シーンにおけるオブジェクトの三次元モデル化アセンブリの設計
JP2020115335A (ja) 機械部分の設計
US10409921B2 (en) Designing industrial products by using geometries connected by geometrical constraints
US9483585B2 (en) Designing a staggered pattern of objects in a computer-aided design system
JP6389033B2 (ja) オブジェクトの円形ジグザグ・パターンの設計

Legal Events

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