KR20160024824A - 순차적 업데이트를 위한 기준 - Google Patents

순차적 업데이트를 위한 기준 Download PDF

Info

Publication number
KR20160024824A
KR20160024824A KR1020150120532A KR20150120532A KR20160024824A KR 20160024824 A KR20160024824 A KR 20160024824A KR 1020150120532 A KR1020150120532 A KR 1020150120532A KR 20150120532 A KR20150120532 A KR 20150120532A KR 20160024824 A KR20160024824 A KR 20160024824A
Authority
KR
South Korea
Prior art keywords
geometric
graph
nodes
objects
relationships
Prior art date
Application number
KR1020150120532A
Other languages
English (en)
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 KR20160024824A publication Critical patent/KR20160024824A/ko

Links

Images

Classifications

    • G06F17/5086
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)

Abstract

본 발명은 특히 3D 모델링된 오브젝트를 설계하는 방법에 관한 것이다. 지오메트릭 오브젝트들을 표현하는 노드들 및 관계를 각각 표현하는 아크들을 갖는 모델링 그래프가 제공되며, 절차적 관계들은 단방향성 아크들에 의해 표현되며, 지오메트릭 오브젝트들을 연결하는 관계들은 양방향성 아크들에 의해 표현되는 라이브 관계들을 더 포함하고, 제공된 모델링 그래프는 모델링 그래프의 각각의 스트롱 컴포넌트의 모든 아크들이 양방향성이라는 기준을 준수한다. 추가 전에 3D 모델링된 오브젝트를 정의하는 데이터에 포함되는 지오메트릭 오브젝트들 중 2 개를 연결하는 관계를 추가할 시에, 방법은 추가될 관계에 의해 연결된 2 개의 지오메트릭 오브젝트들을 선택하며, 선택은 기준에 따라 수행된다.
그러한 방법은 3D 모델링된 오브젝트의 설계를 향상시킨다.

Description

순차적 업데이트를 위한 기준{CRITERION FOR SEQUENTIAL UPDATE}
본 발명은 특히, 비히클 설계, 패키징 설계, 기계 설계, 소비재 및 일렉트로닉스 설계와 같은 산업 설계의 분야에 관한 것이다.
다수의 시스템들 및 프로그램들이 오브젝트들의 설계, 엔지니어링 및 제조를 위해 시장에 제공된다. CAD 는 Computer-Aided Design 의 두문자어이며, 예를 들어, CAD 는 오브젝트를 설계하기 위한 소프트웨어 솔루션들과 관련된다. CAE 는 Computer-Aided Engineering 의 두문자어이며, 예를 들어, CAE 는 미래 제품의 물리적 거동 (physical behavior) 을 시뮬레이션하기 위한 소프트웨어 솔루션들과 관련된다. CAM 은 Computer-Aided Manufacturing 의 두문자어이며, 예를 들어, CAM 은 제조 프로세스들 및 동작들을 정의하기 위한 소프트웨어 솔루션들과 관련된다. 이러한 컴퓨터 지원 설계 시스템들에서는, 그래픽 사용자 인터페이스가 그 기법의 효율과 관련하여 중요한 역할을 한다. 이들 기법들은 PLM (Product Lifecycle Management) 시스템들 내에 내장될 수도 있다. PLM 은 회사들이 확장된 기업의 개념 전체에 걸쳐, 제품 데이터를 공유하고, 공통 프로세스들을 적용하며, 제품들의, 구상으로부터 그들의 수명의 마지막까지의 개발을 위한 코포레이트 지식 (corporate knowledge) 에 영향력을 행사하는 것을 돕는 비즈니스 전략을 나타낸다.
(상표들 CATIA, ENOVIA 및 DELMIA 하의) DASSAULT SYSTEMES 에 의해 제공된 PLM 솔루션들은 제품 엔지니어링 지식을 조직화하는 엔지니어링 허브, 제조 엔지니어링 지식을 관리하는 제조 허브, 및 엔지니어링 허브와 제조 허브 양자에의 기업 통합들 및 연결들을 가능하게 하는 기업 허브를 제공한다. 시스템은 다 함께, 오픈 오브젝트 모델 연결 제품들, 프로세스들, 리소스들을 전달하여 최적화된 제품 정의, 제조 준비, 생산 및 서비스를 드라이빙하는 동적, 지식 기반 제품 생성 및 결정 지원을 가능하게 한다.
상이한 프레임워크들이 3 차원 모델링된 오브젝트의 설계를 위해 산업 설계자들에게 제공된다. 가장 널리 확산된 프레임워크에서는, 산업 설계자들이 절차적 관계 (procedural relationship) 들을 통해 그들의 설계들을 수행한다. 보다 정확하게, 산업 설계자들은 의도된 복잡한 모델을 형성하기 위하여, 기본 지오메트리들, 및 그 기본 지오메트리들을 절차들의 이력 (history) 에 따라 계층적으로 연결되는 보다 정교한 오브젝트들로 변환하는 절차들의 이력을 정의한다. 이 프레임워크는, 특히 숙련된 설계자들이 그들의 설계를 비교적 빠르게 수행하는 것을 허용하기 때문에 가장 선호되는 프레임워크이다. 실제로, 적절한 절차들을 이용하면, 비교적 많지 않은 동작들로 복잡한 모델을 달성할 수 있다. 이 주제에 대한 참조는 "Hanbook of solid modeling"; Donald E Lacourse, Ed. : Mac Graw Hill 이다.
다른 프레임워크에서는, 산업 설계자들이 비절차적 관계들을 통해 그들의 설계를 수행한다. 보다 정확하게, 산업 설계자들은 제약들의 세트를 준수하는 기본 지오메트리들의 세트가 의도된 복잡한 모델을 형성하도록, 기본 지오메트리들을 정의하고, 그 뒤에, 그 지오메트리들 간의 라이브 관계 (live relationship) 들을 정의한다.
이 콘텍스트 내에는, 3D 모델링된 오브젝트를 설계하기 위해 개선된 솔루션의 필요성이 여전히 존재한다.
따라서, 산업 제품을 표현하고, 복수의 지오메트릭 오브젝트들 및 지오메트릭 오브젝트들을 연결하는 관계들을 포함하는 데이터에 의해 정의되는 3 차원 모델링된 오브젝트를 설계하는 컴퓨터-구현된 방법이 제공되며, 여기서 지오메트릭 오브젝트들을 연결하는 관계들은 절차적 관계들을 포함한다. 방법은 지오메트릭 오브젝트들을 표현하는 노드들 및 아크의 인시던트 (incident) 노드들에 의해 표현되는 2 개의 지오메트릭 오브젝트들을 연결하는 관계를 각각 표현하는 아크들을 갖는 모델링 그래프를 제공하는 단계를 포함하며, 여기서 절차적 관계들은 절차적 관계들과 동일한 배향을 갖는 단방향성 아크들에 의해 표현되며, 여기서 지오메트릭 오브젝트들을 연결하는 관계들은 양방향성 아크들에 의해 표현되는 라이브 (live) 관계들을 더 포함하고, 여기서 제공된 모델링 그래프는 모델링 그래프의 각각의 스트롱 컴포넌트 (strong component) 의 모든 아크들이 양방향성이라는 기준을 준수한다. 그리고, 방법은, 추가 전에 3D 모델링된 오브젝트를 정의하는 데이터에 포함되는 지오메트릭 오브젝트들 중 2 개를 연결하는 관계를 추가할 시에, 추가될 관계에 의해 연결될 2 개의 지오메트릭 오브젝트들을 선택하는 단계를 포함하며, 선택은 기준에 따라 수행된다.
방법은 다음 중 하나 이상을 포함할 수도 있다:
- 추가될 관계에 의해 연결될 2 개의 지오메트릭 오브젝트들의 선택은 모든 지오메트릭 오브젝트들 중에서 제 1 지오메트릭 오브젝트를 선택하는 것, 모든 지오메트릭 오브젝트들과 제 1 지오메트릭 오브젝트 사이의 관계를 추가하는 것이 기준을 어길 모든 지오메트릭 오브젝트들을 모델링 그래프 내에서 식별하는 것, 및 그 다음에 식별된 지오메트릭 오브젝트들에 따라 제 2 지오메트릭 오브젝트를 선택하는 것을 포함한다;
- 추가될 관계는 라이브 관계이고 식별하는 것은 제 1 지오메트릭 오브젝트의 스트롱 컴포넌트에 포함된 모든 노드들의 모든 종족 (tribe) 노드들을 결정하는 것으로 구성되거나, 추가될 관계는 제 1 지오메트릭 오브젝트를 입력으로서 취하는 절차적 관계이고 식별하는 것은 제 1 지오메트릭 오브젝트의 스트롱 컴포넌트에 포함된 모든 노드들의 모든 부모 노느들을 결정하는 것으로 구성되거나, 추가될 관계는 제 1 지오메트릭 오브젝트를 출력으로서 갖는 절차적 관계이고 식별하는 것은 제 1 지오메트릭 오브젝트의 스트롱 컴포넌트에 포함된 모든 노드들의 모든 자식 노드들을 결정하는 것으로 구성된다;
- 제 1 지오메트릭 오브젝트의 스트롱 컴포넌트에 포함된 모든 노드들의 모든 종족 노드들 또는 모든 부모 노드들 또는 모든 자식 노드들을 결정하는 것은 모델링 그래프의 스트롱 (strong) 그래프를 결정하고 (여기서 스트롱 그래프는 모델링 그래프의 스트롱 컴포넌트들의 그래프이다), 그 다음에 스트롱 그래프 내에서 제 1 지오메트릭 오브젝트의 스트롱 컴포넌트의 모든 종족 노드들 또는 모든 부모 노드들 또는 모든 자식 노드들을 결정함으로써 수행된다;
- 제 1 지오메트릭 오브젝트 및/또는 제 2 지오메트릭 오브젝트의 선택은 사용자 상호작용을 통해 수행된다;
- 제 2 오브젝트의 선택은 기준을 어기는 것으로 식별되지 않는 모델링 그래프의 지오메트릭 오브젝트들로 제한된다;
- 라이브 관계는 스타일링 (styling) 관계 및/또는 기계적 관계이다;
- 산업 제품은 기계 부품 또는 소비재이다; 그리고/또는
- 방법은, 3D 모델링된 오브젝트를 정의하는 데이터의 추가적인 수정 시에, 스트롱 그래프를 결정하는 단계 (여기서 스트롱 그래프는 모델링 그래프의 스트롱 컴포넌트들의 그래프이다), 및 스트롱 그래프의 순회에 따라 3D 모델링된 오브젝트를 업데이트하는 단계를 포함한다.
방법을 수행하기 위한 명령들을 포함하는 컴퓨터 프로그램이 또한 제공된다.
컴퓨터 프로그램이 기록된 컴퓨터 판독가능 저장 매체가 또한 제공된다.
메모리 및 그래픽 사용자 인터페이스에 커플링된 프로세서를 포함하는 CAD 시스템이 또한 제공되며, 메모리는 컴퓨터 프로그램을 기록한다.
방법에 의해 설계된 3 차원 오브젝트가 또한 제공된다.
3 차원 오브젝트를 저장하는 데이터 파일이 또한 제공된다.
3 차원 오브젝트를 저장하는 데이터 구조가 또한 제공된다.
3 차원 오브젝트에 의해 표현되는 산업 제품이 또한 제공된다.
위의 설계 방법에 따른 산업 제품을 표현하는 3 차원 오브젝트를 설계하고, 그 다음에 설계된 3 차원 오브젝트에 기초하여 산업 제품을 제조하는 단계를 포함하는, 산업 제품을 제조하는 방법이 또한 제공된다.
본 발명의 실시형태들은 이제 비제한적인 예로, 그리고 첨부한 도면들을 참조하여 설명될 것이다.
- 도 1 은 방법의 일 예의 플로우차트를 도시하는 도면;
- 도 2 는 시스템의 그래픽 사용자 인터페이스의 일 예를 도시하는 도면;
- 도 3 은 시스템의 일 예를 도시하는 도면; 및
- 도 4 내지 도 32 는 방법을 예시하는 도면.
도 1 의 플로우차트를 참조하면, 3 차원 모델링된 오브젝트를 설계하기 위한 컴퓨터 구현 방법이 제안된다. 3D 모델링된 오브젝트는 산업 제품을 표현한다. 3D 모델링된 오브젝트는 복수의 지오메트릭 오브젝트들 및 그 지오메트릭 오브젝트들을 연결하는 관계들을 포함하는 데이터에 의해 정의된다. 지오메트릭 오브젝트들을 연결하는 관계들은 절차적 관계들 및 라이브 관계들을 포함한다. 방법은 지오메트릭 오브젝트들을 표현하는 노드들 및 아크의 인시던트 노드들에 의해 표현된 2 개의 지오메트릭 오브젝트들을 연결하는 관계를 각각 표현하는 아크들을 갖는 모델링 그래프를 제공하는 단계 (S10) 를 포함한다. 이 그래프에서, 절차적 관계들은 그 절차적 관계들과 동일한 배향을 갖는 단방향성 아크들에 의해 표현되며, 라이브 관계들은 양방향성 아크들에 의해 표현된다. 상기 제공 단계 (S10) 는 방법의 다른 단계들과는 완전히 다르게 표현되지만, 그 제공은 (잠재적으로 방법 전체에 걸쳐 수정된) 모델링 그래프가 항상 제공되도록, 실제로는 컴퓨터 구현 견지에서, 백그라운드 프로세스로서 발생할 수도 있다.
도 1 에 표현한 바와 같이, 방법은 3D 모델링된 오브젝트를 정의하는 데이터의 수정 (S30) 시에, 스트롱 그래프를 결정하는 단계 (S30) 를 포함할 수도 있다. 그 결정은 예를 들어, 스크래치로부터 또는 방법의 이전의 반복에서 결정된 스트롱 그래프를 업데이트/취출하는 것으로부터 수행될 수도 있다. 스트롱 그래프는 모델링 그래프의 스트롱 컴포넌트들의 그래프이다. 방법은 또한 S30 에서, 스트롱 그래프의 순회에 따라 3D 모델링된 오브젝트를 업데이트하는 단계를 포함한다. 수정 (S30), 결정 (S30) 및 업데이팅 (S30) 은 반드시 순차적인 것이 아니며, 단일 단계로 겹쳐진 것처럼 보일 수도 있기 때문에 동일 블록 S30 내에 표현된다.
또한, 도 1 에 표현한 바와 같이, 제공하는 단계 (S10) 다음에는 대안으로, 추가 전에 3D 모델링된 오브젝트 (즉, 추가되는 관계에 의해 연결될 오브젝트들은 이미 존재하고/이미 인스턴트화되며, 즉 그들은 추가에 의해 새롭게 생성되지 않는다) 를 정의하는 데이터에 포함되는 지오메트릭 오브젝트들 중 2 개 (즉 적어도 2 개) 의 지오메트릭 오브젝트들을 연결하는 (라이브 또는 절차적) 관계를 추가 (S20) 시에, 추가될 관계에 의해 연결될 2 개의 지오메트릭 오브젝트들을 선택하는 단계 (S20) 가 후속될 수도 있다. 다시, 선택 (S20) 및 추가 (S20) 는 반드시 순차적인 것이 아니며, 단일 단계로 겹쳐진 것처럼 보일 수도 있기 때문에 동일 블록 내에 표현된다. 그 경우에, 선택 (S20) 은 그래프에 의해 준수된 특정 기준에 따라, 예를 들어 전체 방법에 걸쳐 수행된다. 이 기준은 다음에서 "S20 의 기준" 또는 "S20 에 관련된 기준" 또는 "순차적 기준" 으로 지칭될 수도 있다. 구체적으로, 제공된 모델링 그래프는 모델링 그래프의 각각의 스트롱 컴포넌트의 모든 아크들이 양방향성인 기준을 준수한다.
또한, 도 1 에 표현한 바와 같이, 단계 S20 및 단계 S30 각각 다음에는 반복될 수도 있다. 특히, S20 에서의 라이브 또는 절차적 관계의 추가는 3D 모델링된 오브젝트를 정의하는 데이터의 수정을 이루어, S10 및 S20 의 반복 다음에 S10 및 S30 의 반복이 후속될 수도 있으며, 그 반복의 S30 의 데이터 수정은 그 반복의 S20 의 라이브 또는 절차적 관계의 추가이다. 이것은 개념적으로는, S10 이 백그라운드 프로세스이기 때문에 S20 및 그 후 S30 의 반복에 대응한다. 이 경우에, S20 은 3D 모델링된 오브젝트를 정의하는 데이터의 수정이 임의의 방법으로 수행되지 않고 S20 에서 서술된 특정 방법으로 수행된다는 추가 조건을 부가한다는 의미에서 S30 을 특정한다. 예를 들어, 방법은 S20 또는 S30 이 수행될 때마다, S10 및 S20 에 의한 제 1 반복, 그 후 S10 및 S30 에 의한 제 2 반복, 그리고 그 후 옵션으로 다른 반복들을 포함할 수도 있다. 3D 모델링된 오브젝트를 정의하는 데이터의 다른 타입들 (표현되지 않음) 의 수정, 이를 테면 기존의 지오메트릭 오브젝트를 입력으로서 취하고 새로운 지오메트릭 오브젝트를 출력으로서 생성하는 절차적 관계를 추가 (즉, 가능하게는 다음에는 "새로운 절차" 를 추가하는 것으로 지칭됨) 하거나, 절차적 관계를 삭제하거나, 또는 라이브 관계를 삭제하는 것이 고려될 수도 있다. 그 경우에, 도 1 의 플로우차트를 참조하면, 방법은 다른 타입들의 수정 시에 S20 을 수행하지 않는다. 이 반복 프로세스는 산업 설계자가 설계 방법을 연속적인 방식으로 수행하는 것에 대응한다. 실제로, 설계자는 절차적 또는 라이브 관계들을 추가 또는 삭제하거나, 또는 그/그녀는 3D 모델링된 오브젝트를 정의하는 데이터의 다른 수정들을 행한다. 이러한 수정이 있을 때마다, S30 이 수행될 수도 있다. 수정이 특정적으로 라이브 또는 절차적 관계를 추가하는 것을 포함할 때마다, S20 이 수행될 수도 있고, 그리고 가능하게는 S30 이 그 후 수행될 수도 있다.
S30 이 사전 수정 시에 3D 모델링된 오브젝트의 업데이트에 대응한다는 것에 주목한다. 이러한 업데이트는 그 수정들의 즉시 통합이 예를 들어 그 시각적 피드백을 (예를 들어, 3D 모델링된 오브젝트가 수정들이 수행되는 동안 디스플레이된다면) 설계자에게 제공하는 것을 허용한다. 그러나, 이러한 업데이트가 반드시 즉흥적으로 (on the fly) 수행될 필요는 없다. 실제로는 또한, 설계자들이 임의의 업데이트 없이 (그리고 따라서 반드시 임의의 시각적 피드백을 이용할 필요 없이) 설계 수정들을 수행하는 것이 빈번하다. 그 수정들은 어큐뮬레이트될 수도 있으며, 업데이트는 그 후에 아무때나 발생할 수도 있다. 이러한 경우에, 방법은 S10 및 S20 (또는 S20 에 의해 고려된 수정들과는 다른 수정들) 의 수회 반복들을 포함할 수도 있다. 그리고 나서, 방법은 가능하게는, 다른 워크스테이션에서, 다른 날에 및/또는 다른 사람에 의해 업데이트를 수행하기 위해 S10 및 S20 의 반복을 포함할 수도 있다.
이러한 방법은 3D 모델링된 오브젝트의 설계를 개선한다. 특히, 방법은 절차적 관계들과 라이브 관계들 양자로 3 차원 오브젝트를 설계하는 것을 허용한다. 이것은, 설계자가 아무때나 임의의 제약들을 설정할 수도 있도록 라이브 관계들의 플렉서빌리티를 산업 설계자들에게 제공하면서, 복잡한 지오메트리들을 빨리 달성하기 위하여 설계자가 절차들을 이용할 수도 있도록 절차적 관계들의 아키텍처 이점들을 산업 설계자에게 제공한다. 방법은 3D 모델링된 오브젝트의 업데이트들을 그 정의 데이터의 수정들 시에 수행하는 시스템적 방법을 제공함으로써, 이들 2 개의 프레임워크들의 통합을 견고한 방법으로 달성한다. 실제로, 방법은 S30 에서 스트롱 그래프의 순회에 따라 업데이트들을 시스템적으로 수행할 수도 있다. 그렇게 하듯이 그래프 이론에 의존함으로써, 방법은 비교적 빠르게 수행된다. 실제로, 그래프에 의해 3D 모델링된 오브젝트들 및 관계들을 표현하고 3D 모델링된 오브젝트의 업데이트들을, 스트롱 그래프의 이용을 통해 그 정의 데이터의 수정들 시에 수행하는 것은, 특히, 스트롱 그래프가 방법의 하나의 반복으로부터 다른 반복으로 용이하게 업데이트될 수도 있기 때문에 용이하고 빠른 업데이트를 허용한다. 예를 들어, 이전의 반복들의 서브-결과들은 임의의 반복에서 이용될 수도 있다. 따라서, 반복 시에, 방법은 원활한 설계를 허용한다. 또한, 중요하게는, 방법은 산업 설계자를 위해 직관적이고 예측가능한 업데이트를 허용한다. 실제로, 산업 설계자들은 널리 확산되고 일관된 설계 선호도들을 갖는다. 특히, 발명자들에 의해 수행된 테스트들에 의해 확인된 바와 같이, 산업 설계자들은, 절차적 관계들을 포함하는 3D 모델링된 오브젝트를 정의하는 데이터를 수정할 때, 절차적 관계들의 입력들이 설계자에 의해 수정되지 않는 한 업데이트에 의해 수정/이동되지 않는다는 것을 예상한다. 방법은 스트롱 그래프의 순회에 의해 이 요건을 보장한다. 마지막으로, 라이브 또는 절차적 관계가 2 개의 기존의 오브젝트들 간의 3D 모델링된 오브젝트에 추가될 때마다 S20 을 시스템적으로 수행하는 옵션에 의해 보장되는, 모델링 그래프의 각각의 스트롱 컴포넌트의 모든 아크들이 양방향성이라는 기준을 준수하는 구현에서, 방법은 기존의 전용 솔버들의 재이용이, (그 뒤에, 즉 S30 에서) 업데이트를 강인하게 그리고 빨리 수행하는 것을 허용한다. 실제로, 스트롱 컴포넌트들은 S30 의 예들을 상세화할 때 후에 언급될 바와 같이, 기존의 및 적절한 라이브 솔버들 및 절차 실행들/평가들을 교대함으로써 업데이트가 수행될 수도 있도록, (산업 설계의 콘텍스트에서는 아마도 각각의 그룹에 대해 동일한 종류의) 라이브 관계들에 의해 관련되는 지오메트릭 오브젝트들의 그룹들의 분리를 제공한다. 이것은 양자의 종류들의 관계들을 핸들링할 수 있는 개발중인 전용 솔버들보다 더 용이하고 더 시스템적이다.
방법은 컴퓨터 구현된다. 이것은 방법의 단계들 (또는 순차적으로 모든 단계들) 이 적어도 하나의 컴퓨터, 또는 비슷한 임의의 시스템에 의해 실행된다는 것을 의미한다. 따라서, 방법의 단계들은 컴퓨터에 의해, 가능하게는 완전히 자동적으로, 또는 반자동적으로 수행된다. 예들에서, 방법의 단계들의 적어도 일부의 트리거링은 사용자 컴퓨터 상호작용을 통하여 수행될 수도 있다. 요구된 사용자 컴퓨터 상호작용의 레벨은 예견된 자동성 레벨에 의존하며, 사용자의 의도 (wish) 들을 구현할 필요성과 균형을 맞출 수도 있다. 예들에서, 이 레벨은 사용자 정의 및/또는 사전 정의될 수도 있다.
방법의 컴퓨터 구현의 통상의 예는 이 목적을 위해 적응된 시스템에서 방법을 수행하는 것이다. 시스템은 메모리 및 그래픽 사용자 인터페이스 (GUI) 에 커플링된 프로세서를 포함할 수도 있으며, 메모리는 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 프로그램을 기록하고 있다. 메모리는 또한 데이터베이스를 저장할 수도 있다. 메모리는 가능하게는 여러 물리적 별개의 부품들 (예를 들어, 프로그램용의 부품 그리고 가능하게는 데이터베이스용의 부품) 을 포함하는, 이러한 저장을 위해 구성된 임의의 하드웨어이다.
방법은 일반적으로 모델링된 오브젝트들을 조작한다. 모델링된 오브젝트는 데이터베이스에 저장된 데이터에 의해 정의된 임의의 오브젝트이다. 더 나아가, 표현 "모델링된 오브젝트" 는 데이터 그 자체를 명시한다. 방법에 의해 설계된 3D 모델링된 오브젝트들은 그들의 정의 데이터 중에서, 양자의 종류들의 관계들을 표현하는 아크들을 가진 모델링 그래프를 갖는 구조적 특수성 (specificity) 을 갖는다. S20 의 기준이 준수되는 구현에서, 3D 모델링된 오브젝트들은 그래프가 기준을 준수하는 추가 특수성을 갖는다. 3D 모델링된 오브젝트들은 전용 데이터 구조에, 가능하게는 데이터 파일에 저장될 수도 있다.
시스템의 타입에 따라, 모델링된 오브젝트들은 상이한 종류들의 데이터에 의해 정의될 수도 있다. 시스템은 실제로 CAD 시스템, CAE 시스템, CAM 시스템, PDM 시스템 및/또는 PLM 시스템의 임의의 조합일 수도 있다. 그 상이한 시스템들에서, 모델링된 오브젝트들은 데이터를 대응시킴으로써 정의된다. 그 모델링된 오브젝트들은 이에 따라 CAD 오브젝트, PLM 오브젝트, PDM 오브젝트, CAE 오브젝트, CAM 오브젝트, CAD 데이터, PLM 데이터, PDM 데이터, CAM 데이터, CAE 데이터임을 증명할 수도 있다. 그러나, 이들 시스템들은 모델링된 오브젝트가 이들 시스템들의 임의의 조합에 대응하는 데이터에 의해 정의될 수도 있기 때문에 다른 시스템의 배타적 시스템이 아니다. 따라서 시스템은 물론, 이하 제공된 이러한 시스템들의 정의로부터 명백할 바와 같이, CAD 와 PLM 시스템 양자일 수도 있다.
CAD 시스템은, 임의의 시스템이 CATIA 와 같은 모델링된 오브젝트의 그래픽 표현을 기반으로 적어도 모델링된 오브젝트를 설계하기 위해 적응되는 것을 의미하게 된다. 이 경우에, 모델링된 오브젝트를 정의하는 데이터는 모델링된 오브젝트의 표현을 허용하는 데이터를 포함한다. CAD 시스템은 예를 들어 에지들 또는 라인들을 이용하여, 소정의 경우들에는 면들 또는 표면들로 CAD 모델링된 오브젝트들의 표현을 제공할 수도 있다. 라인들, 에지들, 또는 표면들은 다양한 방식들, 예를 들어 비균일 유리 B-스플라인 (NURBS) 로 표현될 수도 있다. 구체적으로, CAD 파일은 사양들을 포함하며, 그로부터 지오메트리가 생성될 수도 있으며, 차례로 표현이 생성되는 것을 허용한다. 모델링된 오브젝트의 사양들은 단일 CAD 파일 또는 다수의 CAD 파일들에 저장될 수도 있다. CAD 시스템에서 모델링된 오브젝트를 표현하는 파일의 통상의 사이즈는 부품 당 1 메가바이트의 범위 내이다. 그리고 모델링된 오브젝트는 통상 수천 개의 부품들의 어셈블리일 수도 있다.
CAD 의 콘텍스트에서, 모델링된 오브젝트는 통상 예를 들어 부품 또는 부품들들의 어셈블리와 같은 제품, 또는 가능하게는 제품들의 어셈블리를 표현하는 3D 모델링된 오브젝트일 수도 있다. "3D 모델링된 오브젝트" 는, 그 3D 표현을 허용하는 데이터에 의해 모델링되는 임의의 오브젝트를 의미하게 된다. 3D 표현은 모든 각도들로부터의 부품의 뷰잉을 허용한다. 예를 들어, 3D 모델링된 오브젝트는, 3D 표현 시, 그 축들 중 임의의 축 둘레로, 또는 표현이 디스플레이되는 스크린 내의 임의의 축 둘레로 핸들링 및 터닝될 수도 있다. 이것은 특히 3D 모델링되지 않는 2D 아이콘들을 배제한다. 3D 표현의 디스플레이는 설계를 용이하게 한다 (즉 설계자들이 그들의 태스크를 통계적으로 완수하는 속도를 증가시킴). 이것은 제품들의 설계가 제조 프로세스의 일부이기 때문에, 산업 내 제조 프로세스의 속도를 높인다.
3D 모델링된 오브젝트는 예를 들어, CAD 소프트웨어 솔루션 또는 CAD 시스템, 이를 테면 (예를 들어, 기계) 부품 또는 부품들의 어셈블리, 또는 보다 일반적으로는 임의의 강체 어셈블리 (예를 들어, 모바일 메커니즘) 에 의한 그 가상 설계의 완료 다음에 실시계에서 제조될 제품의 지오메트리를 표현할 수도 있다. CAD 소프트웨어 솔루션은 다양한 및 비제한된 산업 분야들에서 제품들의 설계를 허용하며, 이는 에어로스페이스 (aerospace), 아키텍처, 컨스트럭션 (construction), 소비재들, 하이-테크 디바이스들, 산업 장비, 트랜스포테이션, 마린 (marine), 및/또는 오프숄 (offshore) 또는 트랜스포테이션을 포함한다. 따라서 방법에 의해 설계된 3D 모델링된 오브젝트는 육상 비히클의 일부 (예를 들어, 카 (car) 및 라이트 트럭 장비, 레이싱 카들, 모터사이클들, 트럭 및 모터 장비, 트럭들 및 버스들, 트레인들을 포함), 에어 비히클의 일부 (예를 들어, 에어프레임 장비, 에어로스페이스 장비, 프러펄션 (propulsion) 장비, 디펜스 제품들, 에어라인 장비, 스페이스 장비를 포함), 네이벌 (naval) 비히클의 일부 (예를 들어, 네이비 장비, 커머셜 쉽 (commercial ship) 들, 오프숄 장비, 요트들 및 워크보트들, 마린 장비를 포함), 기계 부품 (예를 들어, 산업 제조 머시너리, 헤비 모바일 머시너리 또는 장비, 인스톨 장비, 산업 장비 제품, 제작된 금속 제품, 타이어 제조 제품을 포함), 전자기 또는 전자 부품 (예를 들어, 가전 제품들, 시큐리티 및/또는 제어 및/또는 인스트루먼테이션 제품들, 컴퓨팅 및 통신 장비, 반도체들, 의료 디바이스들 및 장비를 포함), 소비재 (예를 들어, 퍼니쳐, 홈 및 가든 제품들, 레저 상품들, 패션 제품들, 내구 소비재 소매업자 (retailer) 들의 제품들, 비내구 소비재 소매업자들의 제품들을 포함), 패키징 (예를 들어, 음식 및 음료 및 담배, 뷰티 및 퍼스널 케어, 하우스홀드 제품 패키징을 포함) 일 수도 있는 산업 제품을 표현한다. 방법은 구체적으로는 효율적으로 3D 모델링된 오브젝트가 기계 부품 또는 소비재를 표현할 때 적용된다. 실제로, 설계가 상대적으로 요구하는 그 분야들에서, 산업 설계자들은 방법에 의해 제공된 절차적 관계들과 라이브 관계들의 혼합이 특히 관련 있도록 라이브 관계들에 의해 제공된 플렉서빌리티로부터 비교적 고도로 이득을 본다.
PLM 시스템에 의하면, 물리 제조품을 표현하는 모델링된 오브젝트의 관리를 위해 적응된 임의의 시스템을 의미하게 된다. PLM 시스템에서, 모델링된 오브젝트는 따라서 물리 오브젝트의 제조에 적합한 데이터에 의해 정의된다. 이들은 통상 치수 값들 및/또는 허용오차 값일 수도 있다. 오브젝트의 정확한 제조를 위해, 실제로는 이러한 값들을 갖는 것이 더 좋다.
CAM 은 컴퓨터 지원 제조 (Computer-Aided Manufacturing) 를 의미한다. CAM 솔루션은, 제품의 제조 데이터를 관리하기 위해 적응된 임의의 솔루션, 하드웨어의 소프트웨어를 의미하게 된다. 제조 데이터는 일반적으로 제조할 제품, 제조 프로세스 및 요구된 리소스들에 관련된 데이터를 포함한다. CAM 솔루션은 제품의 전체 제조 프로세스를 계획 및 최적화하는데 이용된다. 예를 들어, 그것은 제조 프로세스의 지속기간 또는 제조 프로세스의 특정 단계에서 이용될 수도 있는 특정 로봇들과 같은 리소스들의 수; 관리 또는 요구된 투자에 대한 결정을 허용하는, 실현가능성에 대한 정보를 CAM 사용자들에게 제공할 수 있다. CAM 은 CAD 프로세스 및 잠재적인 CAE 프로세스 다음의 후속 프로세스이다. 이러한 CAM 솔루션들은 상표 DELMIA® 하의
Figure pat00001
에 의해 제공된다.
CAE 는 컴퓨터 지원 엔지니어링을 의미한다. CAE 솔루션은, 모델링된 오브젝트의 물리적 거동의 분석을 위해 적응된, 임의의 솔루션, 하드웨어의 소프트웨어를 의미하게 된다. 널리 공지되고 널리 사용된 CAE 기법은 유한 요소법 (Finite Element Method; FEM) 이며, 이는 통상 모델링된 오브젝트의, 물리적 거동들이 방정식들을 통하여 컴퓨팅 및 시뮬레이션될 수 있는 요소들로의 분할을 수반한다. 이러한 CAE 솔루션들은 상표 SIMULIA® 하의
Figure pat00002
에 의해 제공된다. 다른 성장하는 CAE 기법은 CAD 지오메트리 데이터 없이 상이한 물리학 분야들로부터 복수의 컴포넌트들을 구성하는 복잡한 시스템들의 모델링 및 분석을 수반한다. CAE 솔루션들은 시뮬레이션 및 그에 따른 제조할 제품들의 최적화, 개선 (improvement) 및 확인 (validation) 을 허용한다. 이러한 CAE 솔루션들은 상표 DYMOLA® 하의
Figure pat00003
에 의해 제공된다.
PDM 은 제품 데이터 관리를 의미한다. PDM 솔루션은, 특정 제품에 관련된 데이터의 모든 타입들을 관리하기 위해 적응된, 임의의 솔루션, 하드웨어의 소프트웨어를 의미하게 된다. PDM 솔루션은 주로 엔지니어들, 그러나 또한 프로젝트 매니저들, 파이낸스 피플, 세일즈 피플 및 바이어들을 포함하는 제품의 라이프사이클에 관련된 모든 액터들에 의해 이용될 수도 있다. PDM 솔루션은 일반적으로 제품 지향 데이터베이스에 기초한다. 그것은 액터들이 그들의 제품들에 대한 일관된 데이터를 공유하는 것을 허용하고 따라서 액터들이 다른 데이터를 이용하는 것을 막는다. 이러한 PDM 솔루션들은 상표 ENOVIA® 하의
Figure pat00004
에 의해 제공된다.
도 2 는 시스템의 GUI 의 일 예를 도시하며, 여기서 시스템은 CAD 시스템이다.
GUI (2100) 는 표준 메뉴 바들 (2110, 2120) 은 물론 바텀 및 사이드 툴바들 (2140, 2150) 을 갖는 통상의 CAD 형 인터페이스일 수도 있다. 이러한 메뉴- 및 툴바들은 사용자 선택가능 아이콘들의 세트를 포함하며, 각각의 세트는 당업계에 공지한 바와 같이 하나 이상의 동작들 또는 기능들과 연관된다. 이들 아이콘들 중 일부는 GUI (2100) 에서 디스플레이된 3D 모델링된 오브젝트 (2000) 에 대해 편집 및/또는 작업하기 위해 적응된 소프트웨어 툴들과 연관되며, 디스플레이된 3D 모델링된 오브젝트 (2000) 는 예를 들어 방법을 수행한 결과이다. 소프트웨어 툴들은 워크벤치들로 그룹화될 수도 있다. 각각의 워크벤치는 소프트웨어 툴들의 서브세트를 포함한다. 특히, 워크벤치들 중 하나는 모델링된 제품 (2000) 의 지오메트릭 피처들을 편집하는데 적합한 편집 워크벤치이다. 동작 시에, 설계자는 예를 들어 오브젝트 (2000) 의 일부를 사전-선택하고 그 후 동작 (예를 들어, 치수, 컬러 등을 변경) 을 개시하거나 적절한 아이콘을 선택함으로써 지오메트릭 제약들을 편집할 수도 있다. 예를 들어, 통상의 CAD 동작들은 스크린 상에 디스플레이된 3D 모델링된 오브젝트의 펀칭 또는 폴딩의 모델링이다.
GUI 는 예를 들어, 디스플레이된 제품 (2000) 에 관련된 데이터 (2500) 는 디스플레이할 수도 있다. 도 2 의 예에서, "피처 트리" 및 그들의 3D 표현 (2000) 으로 디스플레이된 데이터 (2500) 는 브레이크 캘리퍼 및 디스크를 포함하는 브레이크 어셈블리와 관련된다. GUI 는 예를 들어 오브젝트의 3D 배향을 용이하게 하거나, 편집된 제품의 동작의 시뮬레이션을 트리거링하거나 또는 디스플레이된 제품 (2000) 의 다양한 속성들을 렌더링하기 위해 다양한 타입들의 그래픽 툴들 (2130, 2070, 2080) 을 추가로 도시할 수도 있다. 커서 (2060) 는 사용자가 그래픽 툴들과 상호작용하는 것을 허용하기 위해 햅틱 디바이스에 의해 제어될 수도 있다.
도 3 은 시스템의 일 예를 도시하며, 여기서 시스템은 클라이언트 컴퓨터 시스템, 예를 들어, 사용자의 워크스테이션이다.
그 예의 클라이언트 컴퓨터는 내부 통신 BUS (1000) 에 접속된 중앙 프로세싱 유닛 (CPU) (1010), BUS 에 또한 접속된 랜덤 액세스 메모리 (RAM) (1070) 를 포함한다. 클라이언트 컴퓨터에는 또한, BUS 에 접속된 비디오 랜덤 액세스 메모리 (1100) 와 연관되는 그래픽 프로세싱 유닛 (GPU) (1110) 이 제공된다. 비디오 RAM (1100) 은 또한 프레임 버퍼로 당업계에 알려져 있다. 대용량 저장 디바이스 제어기 (1020) 는 하드 드라이브 (1030) 와 같은 대용량 메모리 디바이스에 대한 액세스들을 관리한다. 컴퓨터 프로그램 명령들 및 데이터를 유형적으로 수록하는데 적합한 대용량 메모리 디바이스들은 일 예로 반도체 메모리 디바이스들, 이를 테면 EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 이를 테면 내부 하드 디스크들 및 착탈식 디스크들; 광자기 디스크들; 및 CD-ROM 디스크들 (1040) 을 포함하는 불휘발성 메모리의 모든 형태들을 포함한다. 전술한 것 중 임의의 것은 특수 설계된 AISC들 (application-specific integrated circuits) 에 의해 보충되거나, 그것에 통합될 수도 있다. 네트워크 어댑터 (1050) 는 네트워크 (1060) 에 대한 액세스들을 관리한다. 클라이언트 컴퓨터는 또한 커서 제어 디바이스, 키보드 등과 같은 햅틱 디바이스 (1090) 를 포함할 수도 있다. 커서 제어 디바이스는 사용자가 디스플레이 (1080) 상의 임의의 원하는 위치에 커서를 선택적으로 포지셔닝하는 것을 가능하게 하기 위해 클라이언트 컴퓨터에서 이용될 수도 있다. 또한, 커서 제어 디바이스는 사용자가 다양한 커맨드들을 선택하고 제어 신호들을 입력하는 것을 허용한다. 커서 제어 디바이스는 시스템에 대한 입력 제어 신호들을 위한 다수의 신호 생성 디바이스들을 포함한다. 통상, 커서 제어 디바이스는 마우스일 수도 있으며, 그 마우스의 버튼은 신호들을 생성하는데 이용된다. 대안으로 또는 부가적으로, 클라이언트 컴퓨터 시스템은 센서티브 패드, 및/또는 센서티브 스크린을 포함할 수도 있다.
컴퓨터 프로그램은 컴퓨터에 의해 실행가능한 명령들을 포함할 수도 있으며, 그 명령들은 상기 시스템으로 하여금, 방법을 수행하게 하는 수단을 포함한다. 프로그램은 시스템의 메모리를 포함하는 임의의 데이터 저장 매체 상에 기록가능할 수도 있다. 프로그램은 예를 들어, 디지털 전자 회로에서, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합들에서 구현될 수도 있다. 프로그램은 장치, 예를 들어 프로그램가능 프로세서에 의한 실행을 위해 머신 판독가능 저장 디바이스에 유형적으로 수록된 제품으로서 구현될 수도 있다. 방법 단계들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 방법의 기능들을 수행하기 위해 명령들의 프로그램을 실행하는 프로그램가능 프로세서에 의해 수행될 수도 있다. 프로세서는 따라서 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고, 그들에 데이터 및 명령들을 송신하기 위해 프로그램가능하고 커플링될 수도 있다. 애플리케이션 프로그램은 하이-레벨 절차 또는 오브젝트 지향 프로그래밍 언어로, 또는 원한다면 어셈블리 또는 머신 언어로 구현될 수도 있다. 임의의 경우에, 그 언어는 컴파일링 또는 인터프리팅된 언어일 수도 있다. 프로그램은 풀 인스톨레이션 프로그램 또는 업데이트 프로그램일 수도 있다. 시스템 상의 프로그램의 애플리케이션은 임의의 경우에 방법을 수행하기 위한 명령들을 초래한다.
"3D 모델링된 오브젝트를 설계하는 것" 은 3D 모델링된 오브젝트를 정교화하는 프로세스의 적어도 일부인 임의의 액션 또는 일련의 액션들을 명시한다. 따라서, 방법은 3D 모델링된 오브젝트를 스크래치로부터 생성하는 것을 포함할 수도 있다. 대안으로, 방법은 이전에 생성된 3D 모델링된 오브젝트를 제공한 후, 3D 모델링된 오브젝트를 수정시키는 것을 포함할 수도 있다. 컴퓨터 지원 지오메트릭 설계를 이용하는 것에 의한 가상 제품의 설계는 지오메트리들을 연결하는 관계들을 이용함으로써 고도로 강화된다. CAD 시스템은 전체 모델이 자동적으로 업데이트될 수 있도록 상기 관계들을 통하여 설계 변경들이 관련 지오메트리들에 전파될 수 있는 그러한 방식으로 설계 의도를 캡처한다.
CAD 월드에서는, 2 개의 종류들의 관계들이 전통적으로 존재한다. 종래 기술의 반대로, 이들 2 개의 종류들은 방법에서 공존한다.
제 1 종류는 "이력적 관계 (historical relationship)" 로도 명명된 소위 "절차적 관계" 이다. 그것은 오브젝트 (y) 가 절차 (f) 를 통하여 입력 오브젝트 (x) 로부터 컴퓨팅된다는 사실을 캡처한다. 이것은 y = f(x) (여기서 f 는 수학적 견지에서의 "맵핑" 이다) 로 심볼 기입되며, 출력 오브젝트 (y) 가 입력 오브젝트 (x) 에 의해 고유하게 정의되고, 그 결과 출력 오브젝트 (y) 를 변경하기 위한 방법은 단지 입력 오브젝트 (x) 를 x' 로 변경하고, 절차 : y' = f(x') 를 이용하는 것에 의해 오브젝트 (y) 의 새로운 버전 (y') 을 컴퓨팅하는 것 뿐임을 의미한다. 절차적 관계는 입력 오브젝트로부터 출력 오브젝트를 향하여 결정적으로 배향되고, 이 배향을 변경하기 위한 어떠한 방법도 존재하지 않는다. 절차적 관계는 기존의 오브젝트들에 대해 귀납적으로 생성될 수 있다. 예를 들어, 평면 프로파일로부터 압출된 솔리드를 컴퓨팅하는 것은 절차에 의해 구현될 수 있다. 결과의 솔리드의 형상을 변경하는 것은 절차를 편집하고 입력 데이터 : 깊이 값 또는 프로파일의 형상을 변경하는 것이다. 다른 예는 카의 프레임을 정의하는 표면 내의 홀이며, 그 홀은 예를 들어 윈도우를 표현한다. 절차적 및 비순환적 데이터 플로우를 통하여 서로로부터 컴퓨팅된 오브젝트들의 체인은 "이력 트리 (history tree)" 이다. 종래 기술에서 이력 트리를 업데이트하는 것은 모든 그 입력 오브젝트들이 최신의 것이 되자마자 각각의 절차를 실행하는 것이다. 네트워크가 비순환적이기 때문에, 이 프로세스는 유한 수의 단계들 후에 종료한다. 모든 종래 기술의 이력 기반 지오메트릭 모델러 (modeler) 들은 이 개념에 기초한다.
제 2 종류의 관계들은 "라이브 관계" 로도 불리며, 이는 방법의 콘텍스트에서, "비이력적 (non-historical) 관계들" 또는 "비절차적 (non-procedural) 관계들" 을 의미한다. 라이브 관계들은 스타일링 제약들 관련 곡선들 및 표면들 (예를 들어, 접촉 (tangency), 매칭, 연결 표면, 종점 일치, 연결 평활도 (connection smoothness)) 을 포함한다. 라이브 관계들은 또한 치수적 제약들 (예를 들어, 거리, 각도, 원 반경, 구 반경, 원통 반경) 및 지오메트릭 제약들 (예를 들어, 일치 (coincident), 공면 (co-planar), 탄젠트 (tangent), 동축, 병렬) 을 포함한다. 라이브 관계들은 기존의 오브젝트들에 대해 귀납적으로 생성될 수 있으며, 그들은 본질적으로 배향되지 않는다. 이용의 용이함을 위해, 그들은 배향될 수 있지만, 이 배향은 CAD 시스템에 의해서나 또는 산업 설계자에 의해서 중 어느 하나에 의해 역전될 수 있다. 따라서, 그들은 이 방법에서 양방향성 아크들에 의해 표현된다. 라이브 관계들의 네트워크는 종래 기술에서 특수 솔버에 의해 솔빙된다. 그것은 동시에 모든 관계들을 고려하며 예를 들어, 방정식들의 시스템의 솔루션을 반복적으로 검색함으로써 솔루션을 컴퓨팅하기 위한 반복적 수치 및 조합 알고리즘들을 실행할 수도 있다. 예를 들어, 2D 스케치들은 전용 솔버들에 의해 컴퓨팅되며, 강체들의 3D 기계 어셈블리들이 물론 전용 솔버들에 의해 컴퓨팅된다.
본 방법 및 CAD 시스템에서, 산업 설계자는 따라서 다음의 방법으로 3D 모델링된 오브젝트를 설계할 수도 있다. CAD 시스템은 설계자에게 (임의의 그래픽적 방법으로) 지오메트릭 오브젝트들의 리스트 및 그 지오메트릭 오브젝트들 간의 관계들을 제시한다. 스크래치로부터 설계하면, 산업 설계자는 (비제한적인 예로서 명백한 바와 같이, 세그먼트들, 원들, 타원들, 디스크들, 구들, 직사각형들, 평행 6면체들, 원통들과 같이) 시스템에 의해 제공된 라이브러리로부터 선택된 미리 결정된 프리미티브 형상들의 인스턴스들을 선언함으로써 제 1 지오메트릭 오브젝트들을 생성할 수도 있다. 산업 설계자는 (길이들, 포지션들과 같이) 이러한 프리미티브 형상들의 파라미터들에 대한 값들을 정의할 수도 있다. 그 후에, 그 설계자는 기존의 것들을 이용함으로써, 또는 다시 프리미티브 오브젝트들을 인스턴트화함으로써 새로운 지오메트릭 오브젝트들을 구성할 수도 있다. 지오메트릭 오브젝트들은 임의의 경우에는 통상 이하 논의한 바와 같은 서로 밀접하게 연관된 방법으로 3D 모델링된 오브젝트의 지오메트리를 정의하는 (예를 들어, 리스트로서) 개별 저장된 데이터의 블록들이다. 지오메트릭 오브젝트들의 세트는 통상 설계자에게 제시되며, 그 설계자는 따라서 그들을 구별할 수 있다.
아무때나, 산업 설계자는 하나 이상의 기존의 지오메트릭 오브젝트들 간의 라이브 관계들 또는 심지어는 절차적 관계들을 정의할 수도 있다. 컴퓨터 구현 견지에서, 이들 관계들은 기존의 오브젝트들의 리스트를 수정시키지 않고, 그들은 (라이브 관계들에 의해 영향을 받는다면) 기존의 오브젝트들의 파라미터들의 값들에 대한 제약들을 부과한다. 라이브 관계들은 따라서 그들이 새로운 지오메트리를 생성하지 않고 그들이 기존의 지오메트리를 수정시킨다는 의미에서 비절차적 관계들이다. 라이브 관계들은 3D 모델링된 오브젝트의 기존의 지오메트릭 오브젝트들에 연결된 제약들이다. 그들은 기존의 오브젝트들의 단순 조작들에 의해, 설계자가 이러한 관계를 라이브로 생성할 수도 있고 산업 설계자는 그 결과를 (새로운 지오메트리가 추가될 필요 없이) 바로 볼 수도 있기 때문에 "라이브" 라고 한다. 방법의 라이브 관계들은 스타일링 관계들 (예를 들어, 상기 언급된 접촉, 매칭, 연결 표면, 종점 일치, 연결 평활도 관계들) 및/또는 기계 관계들 (예를 들어, 상기 언급된 치수적 제약들 - 예를 들어, 거리, 각도, 원 반경, 구 반경, 원통 반경 - 및/또는 상기 언급된 지오메트릭 제약들 - 예를 들어, 일치, 공면, 탄젠트, 동축, 병렬) 을 포함할 수도 있다. 이들 타입들의 라이브 관계들은 산업 제품이 기계 부품 또는 소비재인 콘텍스트에서 특히 유용한 것으로 입증된다.
아무때나, 설계자는 하나 이상의 기존의 지오메트릭 오브젝트들을 수반하는 절차적 관계들을 정의할 수도 있다. 절차적 관계들은 통상, 그들이 (사용자에게 제시된 기존의 오브젝트들의 상기 언급된 리스트의) 하나 이상의 기존의 오브젝트들을 취하고, 그들이 그 리스트에 새로운 오브젝트들을 추가한다는 의미에서 구성적일 수도 있다. 라이브 관계들에 반해서, 절차적 관계들은 보통 입력 지오메트리를 수정시키지 않는다 (즉, 절차적 관계는 그 입력 지오메트릭 오브젝트들의 파라미터들의 값들에 대해 작용하지 않는다). 이들 출력 오브젝트들은 입력 오브젝트들을 삭제하는 것이 반드시 출력 오브젝트들을 삭제하도록 그들이 스템 아웃 (stem out) 하는 입력 오브젝트들에 끊임없이 관련된다. 절차적 관계들에 의해 생성된 오브젝트들은 그 후 그것들 자체가 후속 절차적 관계들의 입력들로서 이용될 수도 있고, 또는 그들은 라이브 관계들에 의해 수반될 수도 있다. 그러나, 이전에 언급한 바와 같이, 절차적 관계는, 그것에 의해 정의된 출력(들)이 실제로 그것에 의해 정의된 입력(들)에 대응한다면 (이러한 대응은 절차적 관계의 추가에 의해 옵션으로 시행가능하다) 기존의 오브젝트들 간에 또한 추가될 수도 있다.
절차적 관계들과 라이브 관계들 간의 차이들이 컴퓨터 데이터 견지에서, 방법의 그리고 시스템의 컴퓨터 구현에 큰 영향을 준다는 것에 주목하는 것이 중요하다. 실제로, 오브젝트 지향 프로그래밍을 참조하면, 이들 2 개의 종류들의 관계들은 그들이 상이한 방법들로 다른 오브젝트들 (본 경우에는 지오메트릭 오브젝트들) 을 수반하기 때문에 완전히 상이한 거동들을 갖는 프로그래밍된 오브젝트들/클래스들이다. 이들 거동들은 특히 산업 콘텍스트에 관련되는 인체공학 (ergonomic) 들에 영향을 준다. 방법이 2 개의 타입들의 관계들을 허용하며 따라서 동일한 3D 모델링된 오브젝트에 대한 2 개의 거동들이 특히 매우 복잡하고 각각이 수십 또는 수백 개의 피처들을 수반할 수 있는 기계 부품들 또는 소비재들의 경우에서 바람직한 것이 사실이다.
종래 기술에서, 각각의 종류의 관계는 개별적으로 평가 또는 솔빙될 수 있다. 절차적 관계들은 비순환적 데이터 플로우를 업데이트함으로써 평가되며; 라이브 관계들은 전용 알고리즘들에 의해 솔빙된다. CAD 툴들의 더 나은 통합으로 인해, 산업 설계자가 동일한 모델의 지오메트리들 내의 양자의 종류들의 관계들을 생성하게 하는 이용이 존재한다. 문제는, 이들 2 개의 기술들을 혼합하는 것이 어렵다는 것이다. 통상의 상황은 다른 오브젝트 (z) 와 제 1 라이브 관계를 통하여 연결되는 절차 y = f(x) 의 출력 오브젝트 (y) 이며, 이는 차례로 그 절차의 입력 오브젝트 (x) 와 제 2 라이브 관계를 통하여 연결된다. 오브젝트 (x) 를 편집하고 절차 (f(·)) 를 평가하는 것은 오브젝트 (y) 를 변경하며, 이는 오브젝트 (z) 를 변경한 후 절차 (f(·)) 의 입력 오브젝트인 오브젝트 (x) 를 변경할 수도 있다. 분명히, 이 순환적 데이터 플로우에는 라이브 솔버 단독도 절차적 평가 단독도 아닐 수 있는 솔빙 기술이 마땅하다. 문제는 산업 알고리즘 제공 일반적 및 허용가능한 솔루션들이 없다는 것이다. 이 결론은 프로토타입을 통하여 출원인에 의해 수행된 테스트들로부터 나온다. 컴퓨팅된 결과들은 산업 설계자 견지에서 예측불가능하고, 불안정한 또는 비자연적인 방법으로 행동할 수도 있다.
분명히, 2 개의 불충분한 상황들 간의 기술적 갭이 존재한다. 이 2 개의 불충분한 상황들은, 한편으로는, 2 개의 분리된 기술들 (요컨대 : 절차적 대 비-절차적) 그리고 다른 한편으로, 이들 2 개의 기술들의 풀 통합이다. 방법은 라이브 및 절차적 관계들의 소정 레벨의 공존 (cohabitation) 을 허용하는 중간 솔루션을 이종의 네트워크로 구성한다. 추후 제시된 예에서, 전체 네트워크는 유한 시퀀스를 통하여 업데이트되어, 네트워크들의 적절한 서브세트들에 대해 수행된 절차적 평가들 및 라이브 솔빙을 교대한다. 이것은 다음에 표현 "순차적 업데이트" 로 지칭될 수 있다.
방법의 가능한 애플리케이션들의 예들이 이제 도 4 내지 도 7 를 참조하여 논의된다.
치수적 및 지오메트릭 (기계) 제약들의 통상의 이용은 기계 어셈블리들의 설계이다. 도 4 는 CAD 시스템의 스크린 상에 디스플레이되는 바와 같이, 헬리콥터 꼬리 로터를 예시한다. 이 기계 어셈블리는 지오메트릭 관계들과 함께 복수의 부품들을 포함한다. 각각의 기계 부품은 단일 솔리드이며, 각각의 지오메트릭 관계는 2 개의 솔리드들의 기능 표면들의 커플을 연결한다. 도 5 는 모든 부품들이 보이도록 어셈블리의 분해된 구성을 예시한다. 이 어셈블리에서, 원통형 표면 (1) 은 원통형 표면 (2) 과 동축이다. 원통형 표면 (5) 은 원통형 표면 (6) 과 동축이다. 구 표면 (3) 은 구 표면 (4) 과 동심원이다. 다수의 다른 이러한 지오메트릭 관계들은 산업 설계자에 의해 생성된다. 방법의 솔버는 전체 어셈블리가 모든 관계들을 피팅하도록 모든 솔리드들의 포지션들을 컴퓨팅한다.
스타일링 제약들의 통상의 이용은 차체 설계이다. 도 6 은 차체의 형상이 곡선들 및 표면들을 이용함으로써 설계되는 것을 예시한다. 산업 설계자는 먼저 곡선들을 생성한 후, 표면들이 그 곡선들의 폐쇄 등고선 (closed contour) 들을 선택함으로써 생성된다. 산업 설계자는 또한 곡선들의 커플들 또는 표면들의 커플을 연결하는 매칭 및 접촉 관계들을 생성한다. 곡선 1 내지 곡선 7 은 도 7 의 그래프에 따른 스타일링 관계들을 통하여 연결된다. 명료함을 위해, 곡선 1 의 종점들은 점 8 및 점 10 이고 곡선 2 의 종점들은 점 9 및 점 11 이라는 것이 이해되어야 한다. 곡선 1 및 곡선 3 은 고정 곡선들이다. 곡선 6 및 곡선 7 의 종점들은 곡선 1 의 종점들과 공유된다. 곡선 2 의 종점들은 각각 곡선 6 및 곡선 7 에 대해 제약된다. 곡선 4 의 종점들은 각각 곡선 1 및 곡선 2 에 대해 제약된다. 곡선 5 의 종점들은 각각 곡선 2 및 곡선 3 에 대해 제약된다. 마지막으로, 곡선 2 위에 놓인 곡선 5 의 종점들은 곡선 2 위에 놓인 곡선 4 의 종점과 일치하며, 이 점에서, 곡선 4 와 곡선 5 간의 연결은 곡률 연속 (curvature continuous) 이다. 스타일링 솔버는 산업 설계자가 예를 들어 곡선 5 의 종점을 곡선 3 을 따라 슬라이딩함으로써 지오메트리를 변경할 때 모든 이들 관계들을 유지가능하다.
솔리드 모델링의 클래식 피처들이 표 I 에 열거된다. 본 논의의 콘텍스트에서, "피처" 는 입력 오브젝트와 출력 오브젝트 간의 "절차적 관계" 를 의미한다. 입력 오브젝트들의 본성이 상세화된다. 출력 오브젝트는 항상 솔리드이다. 표 I 의 절차적 관계들은 방법에 의해 전부 또는 부분적으로 고려될 수도 있다.
Figure pat00005
표 I. 솔리드 모델링의 클래식 피처들
단계 (S30) 가 이제 논의된다.
앞서 언급한 바와 같이, 3D 모델링된 오브젝트를 정의하는 데이터의 수정은 기존의 지오메트릭 오브젝트 및/또는 기존의 관계의 파라미터의 임의의 수정일 수도 있다. 이는 또한 (S20 에서와 같이) 새로운 지오메트릭 오브젝트 또는 새로운 관계의 추가, 또는 기존의 지오메트릭 오브젝트 또는 기존의 관계의 삭제를 뜻할 수도 있다. 그러한 수정 시에, 방법은 이른바 "스트롱 그래프" 를 결정한다. 스트롱 그래프는 고유하고 모델링 그래프의 스트롱 컴포넌트들의 그래프를 뜻한다 (모델링 그래프는 지오메트릭 오브젝트들을 표현하는 노드들 및 아크의 인시던트 노드들에 의해 표현되는 2 개의 지오메트릭 오브젝트들을 연결하는 관계를 각각 표현하는 아크들을 가지며, 여기서 절차적 관계들은 절차적 관계들과 동일한 배향을 갖는 단방향성 아크들에 의해 표현되고, 여기서 라이브 관계들은 양방향성 아크들에 의해 표현된다). 스트롱 컴포넌트들의 개념은 추후에 상세히 설명되고 그래프 이론에서 알려져 있다. 그래프 이론에서 기인한 많은 것들이 본 논의에서 이용된다. 고전적인 참조대상은: <Frank Harary, Graph Theory, Addison Wesley 1969> 이다. 위키피디아는 우선권 출원이 출원된 시점에서 스트롱 컴포넌트의 개념의 논의를 제공한다.
3D 모델링된 오브젝트의 임의의 수정 시에, 방법은 오브젝트의 라이브 업데이트를 제공한다. 이는 3D 모델링된 오브젝트가 산업 설계자에게 표현/디스플레이되는 경우에 특히 유용하다. 그러한 경우에, 설계자는 수정의 결과들을 바로 볼 수도 있다. 업데이트는 또한, 앞서 언급한 바와 같이, 추후에 일어날 수도 있다. 임의의 경우에, 업데이트는 스트롱 그래프에 기초하여, 좀더 구체적으로 스트롱 그래프의 순회에 따라 수행된다. 다시 말해, 스트롱 그래프의 아크들에 뒤이어 방법의 업데이트 (S30) 가 오거나/브라우징된다. 또 달리 말하면, 방법은 스트롱 그래프의 구조에 따라, 좀더 구체적으로 스트롱 그래프의 아크들의 배향에 따라 업데이트를 수행한다. 추후에 상세히 설명되는 특정 예에서, 스트롱 그래프의 순회는 잘 알려진 심도 우선 순회이다. 이는 빠르고 강력한 업데이트를 허용하며, S20 과 관련된 기준의 훌륭한 이용을 갖는다. 특히, 스트롱 그래프의 순회 동안에, 각각의 스트롱 컴포넌트는 모델링 그래프의 나머지와 관계 없이 해를 구할 (solve) 수도 있다. 다시 말해, 방법은 지오메트릭 오브젝트들 및 지오메트릭 오브젝트들을 연결하는 관계들의 구조를 이용하며, 구조는 모델링 그래프에 의해 포착되고, 방법은 이러한 구조를 다른 구조, 즉, 스트롱 그래프로 재조직한다. 그 다음에, 방법은, 그러한 해구하기의 적절한 교번 및 오브젝트들 사이에서 상이한 스트롱 컴포넌트들의 오브젝트들을 연결하는 절차들이 재연에 의해, 독립적으로 스트롱 컴포넌트에 대응하는 지오메트릭 오브젝트들의 그룹들의 해를 구한다. 이는 오직 라이브 관계들만이 구현되는 모델들에 대한 전용 솔버 (solver) 들의 재이용을 허용한다. 예를 들어, 각각의 스트롱 컴포넌트는 방정식 시스템 솔버 (즉, 라이브 관계들의 세트를 방정식들의 시스템으로 바꿔 실질적으로 시스템의 해를 구하는 솔버) 에 의해, 또는 반복 솔버 (즉, 라이브 관계들의 세트에 의해 수반된 제약들이 실질적으로 준수되는 상태에 도달하기 위해 3D 모델링된 오브젝트의 파라미터들의 값들을 반복적으로 테스트하는 솔버) 에 의해 해가 구해질 수도 있다. 이러한 솔버들은 선행기술에서 알려져 있다. 솔버들은 수정 솔버들 및 스타일링 솔버들을 포함한다. 솔버의 속성은 애플리케이션 및 해가 구해질 스트롱 컴포넌트들에 수반된 라이브 관계들의 속성에 의존한다.
방법은 따라서, 절차적 관계들을 라이브 관계들과 함께 혼합하기 위한, 제한, "순차적 기준" 을 정의한다. 제한은 S30 을 포함하는 방법의 예에서 순차적 업데이트가 수행될 수 있는 것을 보장한다. 또한, S20 을 포함하는 예에서 방법은 상기 순차적 기준이 유지되는 그러한 방식으로 관계들의 네트워크를 편집하는 기능을 제공한다. 
도 8 의 다이어그램은 순차적 기준 진단 및 순차적 업데이트를 위한 위에서 논의된 예의 프로세스를 도시한다. 방향성 (모델링) 그래프 및 스트롱 그래프는 방법에 의해 계산들을 수행하는데 이용되는 특정 데이터로 바뀌는 수학적 개념들이다. 도 9 의 다이어그램은 네트워크에서 라이브 또는 절차적 관계의 생성 중에 순차적 기준을 저장하기 위한 프로세스를 도시한다. 다시 한번, 방향성 (모델링) 그래프 및 스트롱 그래프는 방법에 의해 계산들을 수행하는데 이용되는 특정 데이터로 바뀌는 수학적 개념들이다.
방법은, 데이터 모델의 면에서 그리고 업데이트의 면에서, 절차적 및 비절차적 관계들의 통합의 순수 레벨을 제공한다. 결과적으로, 산업 설계자를 위한 가치는 보다 융통성있고 강한 설계 시스템, 뿐만 아니라 확장된 설계 능력들이다. 본 발명에 의해 정의되는 순차적 기준은 제한이라기 보다는 가이드이다. 이는 산업 설계자가 이종 네트워크의 혜택들을 취하고 복잡한 순환적 상황들의 임의의 수동 관리를 피하도록 돕는다. 순차적 기준은 모든 설계 프로세스에 걸쳐 안전하게 유지될 수도 있어, 항상 순차적 업데이트들을 보증한다. 이는 CAD 시스템의 무결성 및 신뢰성을 지킨다. 본 발명의 다른 이점은 기존의 절차적 평가 및 라이브 솔버들의 가능한 재이용이다. 새로운 알고리즘은 업데이트 시퀀스를 정의하고 실행하는 오버헤드이다. 이는 구현을 쉽고 강력하게 한다.
방법을 보다 잘 이해하기 위해 그래프 이론 배경이 이제 제공된다.
우선, 방법에 의해 이용되는 방향성 그래프의 개념 (모델링 그래프는 방향성 그래프이다) 이 지금 논의된다.
방향성 그래프는 4 개의 튜플
Figure pat00006
이며, 여기서 X 는 노드들의 세트이며, U 는 아크들의 세트이고, 여기서
Figure pat00007
Figure pat00008
접속 함수들이다. 식
Figure pat00009
Figure pat00010
이 아크
Figure pat00011
의 초기 노드임을 의미한다. 아크 u 는 노드 x 의 출력 아크이다. 식
Figure pat00012
Figure pat00013
가 아크
Figure pat00014
의 최종 노드임을 의미한다. 아크 u 는 노드 y 의 입력 아크이다.
이러한 표기법들에 따르면, 세트
Figure pat00015
는 노드 y 의 입력 아크들의 세트이며,
Figure pat00016
는 노드 x 의 출력 아크들의 세트이며, 세트
Figure pat00017
는 노드 y 의 입력 노드들의 세트이고, 세트
Figure pat00018
는 노드 y 의 세트 출력 노드들이다.
정의에 의하면, 루트 노드 (r) 는 입력 아크를 갖지 않으며, 이는
Figure pat00019
임을 의미한다. 리프 노드 (l) 는 출력 아크를 갖지 않으며, 이는
Figure pat00020
임을 의미한다.
본 방법에서 이용되는 다른 그래프 이론 개념들이 이제 논의된다.
순환: 순환은 아크들
Figure pat00021
의 리스트이며,
Figure pat00022
에 있어서
Figure pat00023
이고
Figure pat00024
이다. 순환은 또한 노드들
Figure pat00025
의 리스트에 의해 정의될 수 있으며,
Figure pat00026
에 있어서
Figure pat00027
및 ω(ui)=xi+1 인 아크 ui 가 존재하고, α(un)=xn 이고 ω(un)=x1 인 un 이 존재한다. 도 10 은 방향성 그래프를 도시한다. 노드들의 세트는
Figure pat00028
이다. 이중 배향을 갖는 화살표는 역 배향들을 특징으로 하는 2 개의 화살표들에 대한 그래픽 쇼트컷 (shortcut) 이다. 노드들 (3,10,11) 이 순환을 정의한다.
서브 그래프: 노드들의 서브세트 (YX) 를 고려하면, G 의 대응하는 서브 그래프 (H) 는 노드들 (Y) 을 접속시키는 G 의 모든 아크들에 의해 정의된다. 형식상,
Figure pat00029
이며, 여기서
Figure pat00030
Figure pat00031
이다.
방향성 비순환 그래프:
정의에 의하면, 방향성 비순환 그래프는 순환을 포함하지 않는다.
스트롱 컴포넌트:
스트롱 컴포넌트들의 목적은 서브 그래프들이 모든 순환들을 포함하고 서브 그래프들이 비순환 방식으로 함께 접속되는 방식으로 방향성 그래프를 서브 그래프들로 조직하는 것이다. 이러한 그래프 이론 개념은 방향성 그래프의 순환 및 비순환 특성들을 조직하는데 가장 효율적이다. 본 발명의 이러한 중요 특징은 다음에서 상세히 설명된다.
형식상, 제 1 단계는 노드들 (X) 의 세트의 관계 (ρ) 를 정의하는 것이다. 2 개의 노드들 (x,y∈X) 이 연관되며, x 에서 y 로의 아크들의 경로 및 y 에서 x 로의 아크들의 경로가 존재하는 경우, 이는 xρy 로 표기되된다. 분명히, ρ 는 등가 관계 (반사, 대칭, 전이) 이다. 따라서, 기본 대수학 덕분에, 관계 (ρ) 는 세트 (X) 를 X 의 분할을 정의하는 등가 분류들 (
Figure pat00032
) 로 분리한다. 이는
Figure pat00033
이고
Figure pat00034
인 경우
Figure pat00035
임을 의미한다.
정의에 의하면, 각각의 X i 는 그래프 (G) 의 스트롱 컴포넌트이다. 물론, 하나의 X i 노드들로부터 노드들을 다른 X j 의 노드들로 접속시키는 아크들이 존재할 수도 있으나, 그것들은 임의의 순환에 속하지 않는다.
모든 순환들은 Xi 에 의해 정의되는 서브 그래프들에서 포착되며, 각각 Gi 로 표기된다.
맵핑 클래스:
Figure pat00036
Figure pat00037
인 경우 class(x)=X i 에 의해 정의된다. 이러한 맵핑은 각각의 x 가 정확히 하나의 X i 에 속하기 때문에 매우 잘 정의된다.
도 11 은 이전의 그래프의 (점선들에 의해 둘러싸인) 스트롱 컴포넌트들을 도시한다. 형식상, X 1={7}, X 2={4,5}, X 3={1,2,6,8}, 및 X 4={3,9,10,11} 이다. 또한, class(6)=X 3, class(4)=X 2 등이다.
스트롱 컴포넌트들 계산:
스트롱 컴포넌트들은 다음의 알고리즘에 의해 계산될 수 있다. 코어 알고리즘은 주어진 노드를 포함하는 스트롱 컴포넌트를 계산한다. 시작하기 전에, 모든 노드들은 마킹되지 않고 스트롱 컴포넌트들의 카운터 (n) 는 제로이다.
1. 노드 x 가 마킹되지 않은 채로 존재하는 경우, n:=n+1 이고, 그렇지 않으면, 단계 6 으로 간다.
2. 노드 x 에 대해 마크 ±n 을 설정한다.
3. 원래의 배향에서 그래프의 아크들을 이용하여 노드 x 로부터 도달될 수 있는 모든 노드들에 대해 마크 +n 을 설정한다.
4. 역 배향에서 그래프의 아크들을 이용하여 노드 x 로부터 도달될 수 있는 모든 노드들에 마크 -n 을 설정한다.
5. ±n 으로 마킹된 노드들의 리스트를 포함하는 새로운 스트롱 컴포넌트를 생성하고 단계 1 로 간다.
6. 종료한다.
도 12 는 노드 3 을 포함하는 (제 1) 스트롱 컴포넌트의 계산을 도시한다. 가장 왼쪽의 그림은 단계 2 이후의 그래프이며, 중앙의 그림은 단계 3 이후의 그래프이고, 가장 오른쪽의 그림은 단계 4 이후의 그래프이다. 노드 3 의 스트롱 컴포넌트는 {3,9,10,11} 이다.
스트롱 그래프:
정의에 의하면, 스트롱 그래프 (S) 의 노드들은 스트롱 컴포넌트들 (X i) 이고 스트롱 그래프 (S) 의 아크들은 구별되는 서브세트들 (X i) 로부터의 2 개의 노드들을 접속시키는 그래프 (G) 의 아크들이다 (여러 개의 그러한 아크들은 가능하게는 서브세트들 (X i) 의 동일한 쌍에 대해 존재하고, 따라서 여러 개의 아크들은 가능하게는 스트롱 그래프의 노드들의 동일한 쌍을 접속시킨다). 형식상,
Figure pat00038
이며:
Figure pat00039
이다.
구성에 의하면, 스트롱 그래프는 항상 비순환이다.
도 13 은 예의 스트롱 그래프를 도시한다.
방향성 비순환 그래프에서의 부모/자식 노드들 및 종족들:
Figure pat00040
이 방향성 비순환 그래프라고 하고,
Figure pat00041
는 "선택된 노드" 라고 이름이 붙은 특정 노드라고 하자. 정의에 의하면, z 부터 z' 까지의 아크들의 체인 (z' 에서 z 로의 아크들의 체인을 표현함) 이 존재하는 경우 노드
Figure pat00042
은 z ("부모 노드" 를 표현함) 의 "자식 노드" 이다. 정의에 의하면, "종족 노드" 는 부모 노드 또는 자식 노드이다.
부모 노드들 및 자식 노드들은 그래프의 아크들을 방문함으로써 쉽게 계산될 수 있다.
도 14 는 방향성 비순환 그래프의 일 예를 도시하고 선택된 노드는 "a" 이다. "a" 의 자식 노드들은 "b", "c", 및 "d" 이다. "a" 의 부모 노드들은 "e" 및 "g" 이다. 결과적으로, "a" 의 종족 노드들은 "b", "c", "d", "e", 및 "g" 이다.
방향성 그래프 (즉, 모델링 그래프) 로 관계들의 네트워크를 모델링하는 것이 이제 논의된다.
지오메트릭들 및 관계들의 네트워크가 그래프에 의해 모델링된다. 그래프의 노드들은 지오메트릭 오브젝트들을 표현하고 아크들은 관계들을 표현한다.
절차적 관계
Figure pat00043
는 입력 오브젝트들 (x 및 y) 을 출력 오브젝트 (z) 에 접속시키는 아크들 (u 및 υ) 에 의해 표현된다. 아크들은 절차 (f) 의 입력 오브젝트들 (x,y) 로부터 절차 (f) 의 출력 오브젝트 (z) 쪽으로 배향된다. 다시 말해,
Figure pat00044
,
Figure pat00045
이다. 단일 절차는 입력 오브젝트들의 개수에 따라 여러 개의 아크들에 의해 모델링될 수 있다. 절차의 출력 오브젝트는 항상 고유하다. 아크들 모델링 절차 관계들은 "절차적 아크들" 이라고 불린다. 이는 도 15 에 의해 도시된다.
CAD 산업 설계자의 관점에서, 라이브 관계가 배향되거나 배향되지 않을 수 있다. 배향되는 경우, 역으로 되거나 비배향으로 설정될 수 있다. 비배향인 경우, 임의의 방식으로 배향될 수 있다. 이러한 이유들로, 라이브 관계들은 다음과 같이 모델링된다.
2 개의 지오메트릭들 (a 및 b) 을 접속시키는 라이브 관계는 2 개의 아크들 (υ, w) 에 의해 표현된다. (양방향성 아크와 동등하게) 하나는 a 에서 b 로 배향되고 다른 하나는 b 에서 a 로 배향된다. 다시 말해,
Figure pat00046
이고
Figure pat00047
이다. 라이브 관계를 모델링하는 아크들은 "라이브 아크들" 이라고 불린다.
이러한 모델링은 절차적 관계가 항상 배향되고 절대 라이브 관계에 대해 역으로 되지 않을 수 있다는 사실을 포착한다. 그래픽적 관점에서, 단일 배향을 갖는 화살표는 절차적 아크이고 이중 배향된 화살표는 라이브 아크이다. 원래는, 모든 라이브 아크들은 스트롱 컴포넌트들에 포함된다.
본 방법의 일 예에 적용될 수도 있는 순차적 업데이트 기준이 이제 논의된다.
절차적 및 라이브 관계들의 네트워크를 고려하면, 그리고 그것의 연관된 그래프를 고려하면, 순차적 업데이트를 위한 기준은 다음과 같다: 어떠한 절차적 아크도 스트롱 컴포넌트에 포함될 수 없다. 순차적 절차가 충족되는 경우, 모든 절차적 아크들은 스트롱 그래프에 속하고, 결과적으로, 그것들은 비순환적 방식으로 접속된다.
도 16 의 예시적인 그래프는 스트롱 컴포넌트 (G 4) 에서의 절차적 아크 (3→10) 때문에 이러한 기준에 맞지 않는다. 이는, 예를 들어, (도 17 에 도시된 바와 같이) 이러한 아크를 제거함으로써, 또는 라이브 아크 (3↔7) (미도시) 로 대체함으로써 정정될 수 있다.
방법에 의해 S30 에서 적용될 수도 있는 순차적 업데이트 알고리즘의 일 예가 이제 논의된다.
라이브 해구하기 및 절차적 평가들의 교번하는 시퀀스가 스트롱 그래프
Figure pat00048
를 순회함으로써 획득된다. 스트롱 그래프의 각각의 노드는 지오메트릭들 및 라이브 관계들을 표현하는 초기 그래프의 서브 그래프를 정의한다는 것을 기억하자.
스트롱 그래프가 하나 보다 많은 리프 노드를 특징으로 하는 경우, 각각의 리프 노드에서 추가된 리프 노드로 배향된 아크들을 생성함으로써 고유한 (그리고 상징적인) 리프 노드가 추가된다. 이러한 방식은 스트롱 그래프가 고유의 리프 노드를 갖는다고 항상 가정할 수 있다.
순회 알고리즘은 특히 심도 우선 순회를 구현하도록 선입후출 리스트 (last-in-first-out list) (다음에서는 LIFO) 를 이용한다. 리스트의 끝에 엘리먼트 x 를 추가하는 것은 Put(x) 로 작성된다. 리스트의 마지막 엘리먼트를 판독하는 것은 Read(y) 로 작성된다. 명령 Read(·) 은 리스트에서 엘리먼트들의 개수를 변경하지 않는다. 리스트에서 마지막 엘리먼트를 제거하는 것은 RemoveLast 로 작성된다.
순차적 업데이트 알고리즘이 도 18 의 다이어그램에서 설명된다. 이는 주로 리프 노드에서 시작하고 아크들의 역 배향을 이용하는 심도 우선 순회이다. 다음에서 자세히 설명되는 "빌드 (build)" 방법은 순회 중에 호출된다 (invoke). 초기화는 스트롱 그래프의 고유한 리프 노드를 리스트에 두는 것이다. 시작하기 전에, 모든 노드들은 0 으로 마킹되며, 이는 모든 x∈Xs 에 있어서 p(x):=0 으로 표기된다. 개략적으로 말하자면, p(x)=0 은 "x 에 의해 정의되는 서브 그래프가 아직 해가 구해지지 않았다" 는 것을 의미하고, p(x)=1 은 "x 에 의해 정의되는 서브 그래프의 해가 구해졌다" 는 것을 의미한다.
예에서, 스트롱 컴포넌트의 해를 구하는 경우, (입력 노드가 이전에 해가 구해진 스트롱 컴포넌트 중 하나인 절차적 관계들을 포함하는) 절차적 관계의 출력인 스트롱 컴포넌트의 노드에 의해 표현되는 각각의 지오메트릭 오브젝트는 고정으로 설정된다. 이는 강력한 해구하기 및 상대적으로 높은 사용자 의도의 준수를 허용한다. 충돌들은 임의의 방식으로 처리될 수도 있다.
방법 "빌드" 는 스트롱 그래프 (S) 의 노드 (y) 에 대해 호출된다. 이러한 노드는 사실 스트롱 컴포넌트이고 원래의 그래프 (S) 의 노드들의 서브세트이며, 이는 y=Xi 임의 의미한다. 세트
Figure pat00049
는 노드 (y) 의 모든 입력 아크들의 세트이다. 원래, 그것들은 절차적 아크들이다. 세트
Figure pat00050
는 절차적 아크들
Figure pat00051
의 최종 노드들인 원래의 그래프의 노드들의 세트이다. 방법 "빌드" 는 다음의 2 개의 액션들을 수행한다.
빌드 (y)
절차적 아크들
Figure pat00052
에 의해 모델링되는 모든 절차들을 평가한다.
세트
Figure pat00053
는 이러한 평가의 출력 오브젝트들을 포함한다.
Figure pat00054
의 오브젝트들이 고정되었고 수정될 수 없다는 것을 고려하여 y=Xi 에 의해 정의되는 라이브 서브 그래프의 해를 구한다.
순차적 업데이트 알고리즘은 절차적 방법들이 항상 모든 입력 오브젝트들이 평가되거나 해가 구해진 후에 평가되는 그러한 방식으로 설계된다.
알고리즘은 예시적인 그래프로 구동된다. 가독성을 위해, 초기 그래프 (G) (도 19) 및 스트롱 그래프 (S) (도 20) 양자 모두가 도시된다. LIFO 리스트는 L 로 표기된다.
(고유한) 리프 노드 {7} 가 리스트에 올려져 L=({7}) 이다. L 의 마지막 엘리먼트 {7} 의 입력 노드 {4,5} 가 0 으로 마킹되었으므로, 그것은 리스트에 추가되어 L=({7},{4,5}) 이다. L 의 마지막 엘리먼트 {4,5} 의 입력 노드 {1,2,6,8} 가 0 으로 마킹되었으므로, 그것이 리스트에 추가되어, L=({7},{4,5},{1,2,6,8}) 이다.
L 의 마지막 엘리먼트 {1,2,6,8} 은 입력 노드들이 없다. 따라서, "빌드" 방법이 {1,2,6,8} 에 적용되는데, 이는 노드들 1,2,6,8 에 의해 정의되는 G 의 라이브 서브 그래프의 해가 구해졌음을 의미한다. 그러면 그래프 (S) 의 노드 {1,2,6,8} 은 1 로 마킹되고 L 로부터 제거되어, L=({7},{4,5}) 이다.
이제, L 의 마지막 엘리먼트 {4,5} 의 모든 입력 노드들이 1 로 마킹되었으며, 따라서 "빌드" 방법이 {4,5} 에 적용되며, 이는 다음을 의미한다:
Figure pat00055
입력 오브젝트 (8) 로부터 출력 오브젝트 (4) 를 계산하는 아크 (8→4) 에 의해 모델링되는 절차가 평가되었다;
Figure pat00056
오브젝트 (4) 가 고정된다는 것을 고려하여 노드들 (4,5) 에 의해 정의되는 G 의 라이브 서브 그래프의 해가 구해졌다.
그래프 (S) 의 노드 {4,5} 는 실제로 1 로 마킹되고 L 로부터 제거될 수도 있으며, 따라서 L=({7}) 이다. L 에서의 마지막 엘리먼트 {7} 의 입력 노드 {3,8,10,11} 은 0 으로 마킹되어, L 에 추가되며 그러므로 L=({7},{3,9,10,11}) 이다.
L 의 마지막 엘리먼트 {3,9,10,11} 의 모든 입력 노드들이 1 로 마킹되었으므로 "빌드" 방법은 {3,9,10,11} 에 적용되며, 이는 다음을 의미한다:
Figure pat00057
입력 오브젝트 (6) 로부터 출력 오브젝트 (3) 를 계산하는 아크 (6→3) 에 의해 모델링되는 절차가 평가되었다;
Figure pat00058
오브젝트 (3) 가 고정되었다는 것을 고려하여 노드들 (3,9,10,11) 에 의해 정의되는 G 의 라이브 서브 그래프의 해가 구해졌다.
그러면, 그래프 (S) 의 노드 {3,9,10,11} 는 1 로 마킹되고 L 로부터 제거되어, L=({7}) 이다.
마지막으로, L 의 마지막 엘리먼트 {7} 의 모든 입력 노드들이 1 로 마킹되어, "빌드" 방법이 {7} 에 적용되며, 이는 입력 오브젝트들 (5,8,11) 로부터 출력 오브젝트 (7) 를 계산하는 아크들 (11→7, 8→7, 및 5→7) 에 의해 모델링되는 절차가 평가되었음을 의미한다. 그러면, 그래프 (S) 의 노드 {7} 는 1 로 마크되고 L 로부터 제거되어,
Figure pat00059
이다.
예상한 바와 같이, 순차적 업데이트 알고리즘은 절차적 평가들과 라이브 해구하기들의 교번하는 시퀀스를 수행한다 (해가 구해질 때 별표시 노드들은 고정된다):
1. 해를 구한다 : {1,2,6,8}.
2. 평가한다 : 8→4.
3. 해를 구한다 : {4*,5}.
4. 평가한다 : 6→3.
5. 해를 구한다 : {3*,9,10,11}.
6. 평가한다 : 5,8,11→7.
S20 덕분에 네트워크 편집을 통해 순차적 기준이 저장되는 방법의 일 예가 이제 논의된다.
문제는 이제 산업 설계자가 관계들의 네트워크를 편집하는 경우에 순차적 기준을 유지하는 것이다. 라이브 관계를 삭제하거나 절차적 관계를 삭제하는 것은 그래프에서 새로운 순환을 생성할 수 없고, 따라서 순차적 기준이 저장된다. 새로운 절차적 오브젝트를 생성하는 것은 (출력 오브젝트를 모델링하는) 새로운 노드 및 (입력 오브젝트들을 모델링하는) 일부 이전 노드들에서 새로운 노드로 배향되는 아크들을 추가하는 것이다. 이러한 동작은 새로운 순환을 생성할 수 없고, 따라서 순차적 기준이 저장된다. 결과적으로, 귀납적으로 (a posteriori), 오직 순차적 기준을 무효화할 수도 있는 동작들만이 기존의 오브젝트들 사이에 라이브 관계를 추가하거나 절차적 관계를 추가하는 것이다. 예를 들어, 도 21 의 그래프에서 노드들 (4 와 1) 사이에 라이브 관계를 추가하는 것은, 도 22 의 그래프에서 도시된 바와 같은, 절차적 아크 (8→4) 를 포함하는 스트롱 컴포넌트 {1,2,4,5,6,8} 를 야기한다. 분명히, 순차적 기준이 상실된다. 다른 예에서, 도 21 의 그래프에서 노드 (7) 에서 노드 (4) 로의 절차적 관계를 추가하는 것은, 도 23 에 도시된 바와 같은, 절차적 아크들 (5→7 및 7→4) 을 포함하는 스트롱 컴포넌트 {4,5,7} 를 야기한다. 분명히, 순차적 기준이 상실된다.
설명된 바와 같이, 이러한 예에서는, 제공되는 모델링 그래프는 모델링 그래프의 각각의 스트롱 컴포넌트의 모든 아크들이 양방향성이라는 기준을 준수하고자 한다. 다시 말해, 동일한 스트롱 컴포넌트의 지오메트릭 오브젝트들은 절차적 관계에 의해 서로 관련되지 않아, 잠재적으로 그것들을 수반하는 절차적 관계들이 반드시 다른 스트롱 컴포넌트들의 지오메트릭 오브젝트들을 가질 필요가 있다. 이러한 기준을 지키기 위해, 방법은, S20 에서, 기존의 오브젝트들 사이에 라이브 또는 절차적 관계를 추가할 시에, 추가될 라이브 또는 절차적 관계에 의해 연결될 2 개의 지오메트릭 오브젝트들의 특정 선택을 포함한다. 선택 (S20) 은 기준에 따라 수행된다. 다시 말해, 시스템은 (적어도, 2 개의 오브젝트들을 입력으로 취하는 그러한 라이브 또는 절차적 관계들에 있어서) 기존의 지오메트릭 오브젝트들의 특정 쌍들에 라이브 또는 절차적 관계들을 추가하도록 산업 설계자에게 지시할 수도 있다. 이러한 지시는 강력하거나 (즉, 사용자가 기준을 어길 수 없다), 단지 안내 (임의의 경우에 - 오브젝트의 주어진 쌍의 선택이 기준을 따르거나 그렇지 않은 경우 - 사용자에게 단지 선택에서 도움이 되거나 보여진다) 일 수도 있다.
일 예에서, 추가될 라이브 관계에 의해 연결된 2 개의 지오메트릭 오브젝트들의 선택은 모든 지오메트릭 오브젝트들 중에서 제 1 지오메트릭 오브젝트를 선택하는 것은 포함한다. 이는 통상적으로 사용자에 의해 (즉, 사용자 상호작용을 통해) 수동으로 수행된다. 그러면 선택은 모델링 그래프 내에서 지오메트릭 오브젝트들과 제 1 지오메트릭 오브젝트 사이의 라이브 관계를 추가하는 것이 기준을 어길 모든 지오메트릭 오브젝트들을 (예를 들어, 시스템에 의해 자동적으로) 식별하는 것을 포함한다. 제 1 지오메트릭 오브젝트의 스트롱 컴포넌트에 포함되는 모든 노드들의 모든 종족 노드들을 결정하는 것으로 구성되는, 그러한 식별을 구현하기 위한 효율적이고 강력한 방식이 추후 설명된다. 그리고 그 다음에 방법은 (통상적으로 설계자에 의해 - 사용자 상호작용을 통해) 식별된 지오메트릭 오브젝트들에 따라 제 2 지오메트릭 오브젝트를 선택하는 단계를 포함한다. 알 수 있는 바와 같이, 선택들 이외의 단계들은 완전히 자동일 수 있다. 선택이 위에서 언급된 바와 같이 엄격한 경우, 제 2 오브젝트의 선택은 기준을 어기는 것으로 식별되지 않는 모델링 그래프의 지오메트릭 오브젝트들로 제한될 수도 있다.
라이브 관계를 생성하기 위한 상호작용 대화 (dialogue) 는 따라서 산업 설계자에게 제 1 엘리먼트 및 제 2 엘리먼트를 선택할 것을 요청할 수도 있다. 제 1 엘리먼트가 선택되자 마자, 일 예에서의 시스템은 선택되는 경우 순차적 기준을 무효화할 네트워크의 모든 엘리먼트들을 식별함으로써 적절한 제 2 엘리먼트의 선택을 기대할 수 있다. 그래픽 사용자 인터페이스의 관점에서, 이러한 엘리먼트들을 선택불가능하게 하고 더 강화하게 하기에 충분하다. 그러면, 산업 설계자에 의해 제안된 선택은 항상 순차적 기준을 저장한다.
이제, 제 1 지오메트릭 오브젝트의 스트롱 컴포넌트에 포함된 모든 노드들의 모든 종족 노드들을 결정하는 것은 모델링 그래프의 스트롱 그래프를 결정하고, 그 다음에 스트롱 그래프 내에서 제 1 지오메트릭 오브젝트의 스트롱 컴포넌트의 모든 종족 노드들을 결정함으로써 빠르고 강력한 방식으로 수행될 수도 있다.
(네트워크의 사용자 선택된 엘리먼트를 표현하는) 그래프 (G) 에서의 선택된 노드 (x) 를 고려하면, 비양립식 노드들은 다음과 같이 식별될 수도 있다.
1. 선택된 노드 (x) 를 포함하는 스트롱 그래프 (S) 의 노드 Class(x) 를 취한다.
2. 스트롱 그래프 (S) 에서, Tribe(Class(x)) 로 표기된 Class(x) 의 종족 노드들을 계산한다.
3. Ic(x) 라고 표기되는, 선택된 노드 (x) 와 비양립하는 그래프 (G) 의 노드들은 모든 종족 노드들의 조합이다:
Figure pat00060
도 24 내지 도 28 은 비양립식 노드들의 식별을 예시한다. 초기 그래프 (G) 의 선택된 노드는, 도 24 에서 도시된 바와 같이, x=11 이다. 선택을 포함하는 스트롱 그래프 노드는, 도 25 에 도시된 바와 같이, Class(11)={3,9,10,11} 이다.
스트롱 그래프에서, {3,9,10,11} 의 비양립식 노드들은, 도 26 에 도시된 바와 같이, {1,2,6,8} 및 {7} 이다. 형식론에 따르면, 이는 다음을 의미한다:
Figure pat00061
그러면, 비양립식 노드들은:
Figure pat00062
이다.
초기 그래프 상에서 선택불가능한 아크들 및 노드들이 도 17 에서 가장 왼쪽의 그림에서 도시된다. 도 27 에서 중앙의 그림에서 도시된 바와 같이, 제 2 사용자 선택이 노드 (5) 인 경우, 노드들 (11 및 5) 을 접속시키는 라이브 관계가 생성되고 결과적인 그래프는 도 27 에서 가장 오른쪽의 그림이다.
아크 (11↔5) 를 생성하는 것은, 도 28 에서 도시되는 바와 같이, 순차적 기준이 저장될지라도 스트롱 컴포넌트들을 변경한다는 것이 유의되어야 한다.
절차적 관계를 생성하기 위한 상호작용 대화는 사용자에게 제 1 엘리먼트 및 제 2 엘리먼트를 선택할 것을 요청한다. 제 1 엘리먼트가 선택되자마자, 방법은 선택되는 경우 순차적 기준을 무효화할 네트워크의 모든 엘리먼트들을 식별함으로써 적절한 제 2 엘리먼트의 선택을 기대할 수도 있다. 그래픽 사용자 인터페이스의 관점에서, 이러한 엘리먼트들이 선택불가능하고 더 강화되게 하기에 충분하다. 그러면, 사용자에게 제안된 선택은 항상 순차적 기준을 저장한다. x 가 (네트워크의 사용자 선택된 엘리먼트를 표현하는) 그래프 (G) 에서 선택된 노드라고 하자.
선택된 엘리먼트가 배향된 아크가 생성되는 시작 노드라고 가정하자. 그러면, 비양립식 노드는 다음과 같이 식별된다,
1. 선택된 노드 (x) 를 포함하는 스트롱 그래프 (S) 의 노드 Class(x) 를 취한다.
2. 스트롱 그래프 (S) 에서, Parent(Class(x)) 라고 표기되는, Class(x) 의 부모 노드들을 계산한다.
3. Ic(x) 라고 표기되는, 선택된 노드 (x) 와 비양립하는 그래프 (G) 의 노드들은 Class(x) 의 노드들과 함께 모든 부모 노드들의 조합이다:
Figure pat00063
선택된 엘리먼트가 배향된 아크가 생성되는 최종 노드인 경우, 부모 방법을 자식 방법으로 대체함으로써 동일한 방법이 이용된다.
도 29 내지 도 32 는 비양립식 노드들의 식별을 예시한다. 초기 그래프 (G) 의 선택된 노드는, 도 29 에서 가장 왼쪽의 그림에서 도시된 바와 같이, x=5 이고, 사용자의 의도는 노드 (5) 에서 시작하는 배향된 아크를 생성하는 것이다. 선택을 포함하는 스트롱 그래프 노드는, 도 29 에서 가장 오른쪽의 그림에서 도시된 바와 같이, Class(5)={4,5} 이다. 스트롱 그래프에서,
Figure pat00064
이기 때문에, 그리고 공식:
Figure pat00065
에 따라, {4,5} 의 비양립식 노드들은 {4,5} 그 자체 및 {1,2,6,8} 이다.
초기 그래프 상에서 선택불가능한 아크들 및 노드들은 도 30 에서 가장 왼쪽의 그림에서 도시된다. 선택된 사용자 선택이 노드 (11) 인 경우, 도 30 에서 가장 오른쪽의 그림에서 도시된 바와 같이, 노드 (5) 를 노드 (11) 에 접속시키는 절차적 관계는, 도 31 에서 도시된 바와 같이 생성된다. 아크 (5→11) 를 생성하는 것은 도 32 에서 도시된 바와 같이 스트롱 컴포넌트들을 변경하지 않는다는 것이 유의되어야 한다.
다음의 시나리오가 통상적으로 시스템에 의해 실행될 수도 있다.
1. 제 1 생성 단계
a. 평면 (P 1) 을 생성한다.
b. 평면 (P 2) 을 생성한다.
c. P 1P 2 사이의 거리 제약 (d 1) 을 생성한다. 이는 P 1P 2 를 평행하게 한다.
d. P 2 상에 프로파일 (K 1) 을 스케치한다.
e. K 1 으로부터 솔리드 패드 (S 1) 를 확장들 (h 1h 2) 로 압출한다.
f. 평면 (P 3) 을 생성한다.
g. P 3S 1 의 측면 사이의 거리 제약 (d 2) 을 생성한다. 시스템은 오직 평면 (P 3) 만을 이동시킨다.
2. 제 1 수정 단계.
a. P 1 을 고정시킨다.
b. 거리 값 (d 1) 을
Figure pat00066
으로 변경하고 업데이트를 요청한다.
c. P 2, K 1, S 1 은 시스템에 의해
Figure pat00067
로 바뀐다.
d. P 3 는 시스템에 의해 이동되지 않는다.
3. 제 2 수정 단계.
a. P 1 을 고정해제한다.
b. 거리 값 (d 2) 을
Figure pat00068
으로 변경하고 업데이트를 요청한다.
c P 3
Figure pat00069
로 바뀌어야 한다. 모든 다른 지오메트릭들은 시스템에 의해 이동되지 않는다.
4. 제 2 생성 단계.
a. 평면 (P 4) 을 생성한다.
b. 거리 제약 생성 대화로 간다.
c. S 1 의 일 면을 선택한다.
d. P 1, P 2, 및 P 3 은 시스템에 의해 선택가능하도록 제공되지 않는다. P 4 는 시스템에 의해 선택가능하도록 제공된다.

Claims (15)

  1. 산업 제품을 표현하고, 복수의 지오메트릭 오브젝트들 및 상기 지오메트릭 오브젝트들을 연결하는 관계들을 포함하는 데이터에 의해 정의되는 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법으로서,
    상기 지오메트릭 오브젝트들을 연결하는 상기 관계들은 절차적 관계들을 포함하고, 상기 방법은,
    Figure pat00070
    상기 지오메트릭 오브젝트들을 표현하는 노드들 및 2 개의 상기 지오메트릭 오브젝트들을 연결하는 상기 관계를 각각 표현하는 아크들 (arcs) 을 갖는 모델링 그래프를 제공하는 단계로서, 상기 2 개의 지오메트릭 오브젝트들은 상기 아크의 인시던트 (incident) 노드들에 의해 표현되고, 상기 절차적 관계들은 상기 절차적 관계들과 동일한 배향을 갖는 단방향성 아크들에 의해 표현되고, 상기 지오메트릭 오브젝트들을 연결하는 상기 관계들은 양방향성 아크들에 의해 표현되는 라이브 관계들을 더 포함하며, 제공된 상기 모델링 그래프는 상기 모델링 그래프의 각각의 스트롱 컴포넌트의 모든 아크들이 양방향성이라는 기준을 준수하는, 상기 모델링 그래프를 제공하는 단계; 및
    Figure pat00071
    상기 3D 모델링된 오브젝트를 정의하는 데이터에 포함되는 상기 지오메트릭 오브젝트들 중 2 개를 연결하는 관계를 추가할 시에, 추가 전에, 추가될 상기 관계에 의해 연결될 2 개의 지오메트릭 오브젝트들을 선택하는 단계로서, 상기 선택은 상기 기준에 따라 수행되는, 상기 2 개의 지오메트릭 오브젝트들을 선택하는 단계를 포함하는, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  2. 제 1 항에 있어서,
    상기 추가될 관계에 의해 연결될 상기 2 개의 지오메트릭 오브젝트들을 선택은,
    Figure pat00072
    모든 지오메트릭 오브젝트들 중에서 제 1 지오메트릭 오브젝트를 선택하는 것;
    Figure pat00073
    지오메트릭 오브젝트들과 상기 제 1 지오메트릭 오브젝트 사이의 상기 관계를 추가하는 것이 상기 기준을 어길 모든 지오메트릭 오브젝트들을 상기 모델링 그래프 내에서 식별하는 것; 및 그 다음에
    Figure pat00074
    식별된 상기 지오메트릭 오브젝트들에 따라 제 2 지오메트릭 오브젝트를 선택하는 것을 포함하는, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  3. 제 2 항에 있어서,
    상기 추가될 관계는 라이브 관계이고 상기 식별하는 것은 제 1 지오메트릭 오브젝트의 상기 스트롱 컴포넌트에 포함된 모든 노드들의 모든 종족 노드들을 결정하는 것으로 구성되거나, 상기 추가될 관계는 상기 제 1 지오메트릭 오브젝트를 입력으로서 취하는 절차적 관계이고 상기 식별하는 것은 상기 제 1 지오메트릭 오브젝트의 상기 스트롱 컴포넌트에 포함된 모든 노드들의 모든 부모 노드들을 결정하는 것으로 구성되거나, 상기 추가될 관계는 상기 제 1 지오메트릭 오브젝트를 출력으로서 갖는 절차적 관계이고 상기 식별하는 것은 상기 제 1 지오메트릭 오브젝트의 상기 스트롱 컴포넌트에 포함된 모든 노드들의 모든 자식 노드들을 결정하는 것으로 구성되는, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  4. 제 3 항에 있어서,
    상기 제 1 지오메트릭 오브젝트의 상기 스트롱 컴포넌트에 포함된 모든 노드들의 모든 종족 노드들 또는 모든 부모 노드들 또는 모든 자식 노드들을 결정하는 것은 상기 모델링 그래프의 상기 스트롱 그래프를 결정하고, 그 다음에 상기 제 1 지오메트릭 오브젝트의 상기 스트롱 컴포넌트의 모든 종족 노드들 또는 모든 부모 노드들 또는 모든 자식 노드들을 상기 스트롱 그래프 내에서 결정함으로써 수행되며,
    상기 스트롱 그래프는 상기 모델링 그래프의 스트롱 컴포넌트들의 그래프인, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  5. 제 2 항, 제 3 항, 또는 제 4 항에 있어서,
    상기 제 1 지오메트릭 오브젝트 및/또는 상기 제 2 지오메트릭 오브젝트의 선택은 사용자 상호작용을 통해 수행되는, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  6. 제 2 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 제 2 오브젝트의 선택은 상기 기준을 어기는 것으로 식별되지 않는 상기 모델링 그래프의 지오메트릭 오브젝트들로 제한되는, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 라이브 관계는 스타일링 관계 및/또는 기계적 관계인, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  8. 제 7 항에 있어서,
    상기 산업 제품은 기계 부품 또는 소비재인, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 3D 모델링된 오브젝트를 정의하는 상기 데이터의 추가적인 수정 시에, 스트롱 그래프를 결정하는 단계, 및 상기 스트롱 그래프의 순회에 따라 상기 3D 모델링된 오브젝트를 업데이트하는 단계를 포함하고,
    상기 스트롱 그래프는 상기 모델링 그래프의 스트롱 컴포넌트들의 그래프인, 3D 모델링된 오브젝트를 설계하는 컴퓨터 구현된 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 기재된 방법에 따라 설계된, 3 차원 오브젝트.
  11. 제 10 항에 기재된 3 차원 오브젝트에 의해 표현되는, 산업 제품.
  12. 제 1 항 내지 제 9 항 중 어느 한 항에 기재된 방법에 따른 산업 제품을 표현하는 3 차원 오브젝트를 설계하는 단계, 및 그 다음에 설계된 상기 3 차원 오브젝트에 기초하여 상기 산업 제품을 제조하는 단계를 포함하는, 산업 제품을 제조하는 방법.
  13. 제 1 항 내지 제 9 항 중 어느 한 항에 기재된 방법을 수행하기 위한 명령들을 포함하는, 컴퓨터 프로그램.
  14. 제 13 항에 기재된 컴퓨터 프로그램을 기록한, 데이터 저장 매체.
  15. 메모리 및 그래픽 사용자 인터페이스에 커플링된 프로세서를 포함하는 CAD 시스템으로서,
    상기 메모리는 제 13 항에 기재된 컴퓨터 프로그램을 기록하는, CAD 시스템.
KR1020150120532A 2014-08-26 2015-08-26 순차적 업데이트를 위한 기준 KR20160024824A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14306316.2 2014-08-26
EP14306316.2A EP2990969A1 (en) 2014-08-26 2014-08-26 Criterion for sequential update

Publications (1)

Publication Number Publication Date
KR20160024824A true KR20160024824A (ko) 2016-03-07

Family

ID=51542290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150120532A KR20160024824A (ko) 2014-08-26 2015-08-26 순차적 업데이트를 위한 기준

Country Status (6)

Country Link
US (1) US10521516B2 (ko)
EP (1) EP2990969A1 (ko)
JP (1) JP6687345B2 (ko)
KR (1) KR20160024824A (ko)
CN (1) CN105389413B (ko)
CA (1) CA2901826A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6415493B2 (ja) * 2016-08-09 2018-10-31 株式会社ミスミ 設計支援方法、サーバ及び設計支援システム
US20180314408A1 (en) * 2017-04-28 2018-11-01 General Electric Company Systems and methods for managing views of computer-aided design models
US10885236B2 (en) * 2018-01-09 2021-01-05 Autodesk, Inc. Constraint-oriented programming approach to mechanical assembly design
CN112989492B (zh) * 2021-03-31 2022-09-20 华南理工大学 一种汽车传动轴中间支承动态特性的优化方法
EP4213059A1 (en) * 2022-01-17 2023-07-19 Dassault Systèmes Designing a product using procedural graphs
EP4343603A1 (en) * 2022-09-21 2024-03-27 Siemens Aktiengesellschaft System and method for managing geometric designs
CN117670660B (zh) * 2024-02-01 2024-04-30 中国电建集团西北勘测设计研究院有限公司 基于catia v6的快速生成剖视图的方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5165015A (en) * 1989-09-25 1992-11-17 Reliance Electric Industrial Company Electronic template system and method
DE69031758T2 (de) * 1990-04-13 1998-05-28 Koninkl Philips Electronics Nv Verfahren zur Organisation von und zum Zugriff auf Produkt beschreibenden Daten in Zusammenhang mit einem technischen Prozess
JPH0789382B2 (ja) * 1991-03-14 1995-09-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 形状モデルを生成する方法及び装置
US5251290A (en) * 1991-03-25 1993-10-05 Schlumberger Technology Corporation Modeling method for sorting dependencies among geometric entities
US6823299B1 (en) * 1999-07-09 2004-11-23 Autodesk, Inc. Modeling objects, systems, and simulations by establishing relationships in an event-driven graph in a computer implemented graphics system
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
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
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US8473524B2 (en) * 2009-04-28 2013-06-25 Dassault Systemes Method and system for updating object data with respect to object specifications in a product life cycle management system
US9330204B2 (en) * 2009-05-29 2016-05-03 Siemens Product Lifecycle Management Software Inc. CAD system and method for wireframe coupling
US8214069B2 (en) * 2009-10-23 2012-07-03 Certusoft, Inc. Automated hierarchical configuration of custom products with complex geometries: method and apparatus
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
EP2354986A1 (en) * 2009-12-31 2011-08-10 Dassault Systèmes Design of an assembly modeled by a graph
US20120109589A1 (en) * 2010-10-28 2012-05-03 Brian Thompson Methods and systems for direct-parametric interoperability in computer-aided design
EP2474929A1 (en) * 2010-12-30 2012-07-11 Dassault Systèmes Modeled object updating
EP2474928A1 (en) * 2010-12-30 2012-07-11 Dassault Systèmes Merging of modeled objects
CN102982214B (zh) * 2012-12-06 2015-11-04 北京数码大方科技股份有限公司 Cad模型的协同建立方法和装置

Also Published As

Publication number Publication date
JP6687345B2 (ja) 2020-04-22
US20160063141A1 (en) 2016-03-03
CA2901826A1 (en) 2016-02-26
US10521516B2 (en) 2019-12-31
JP2016045967A (ja) 2016-04-04
EP2990969A1 (en) 2016-03-02
CN105389413B (zh) 2021-01-01
CN105389413A (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
KR20160024825A (ko) 순차적 업데이트의 실행
JP7206039B2 (ja) レプリカ選択
KR20160024824A (ko) 순차적 업데이트를 위한 기준
JP6294072B2 (ja) 剛体運動によって変換される幾何学要素
JP6850116B2 (ja) 切り欠きの検出
EP2474928A1 (en) Merging of modeled objects
CN105761303A (zh) 在3d建模组件上创建包围盒
JP7505881B2 (ja) 弱型定義を用いるモデリング
JP6721330B2 (ja) マルチフィジックスシステムの設計
JP2018022476A (ja) モフォロジー基準によるデータベースの照会
US10409921B2 (en) Designing industrial products by using geometries connected by geometrical constraints
KR20150099464A (ko) 방정식들에 의해 제약된 물리적 시스템의 설계
JP2023056515A (ja) モデル化オブジェクトの設計
JP2017123171A (ja) 複数のグラフィックカードの管理
JP2021131852A (ja) 機械部品の構造シミュレーション
US20200211296A1 (en) Flexible modeling using a weak type definition
JP2023092523A (ja) タイプされたパラメータの設定