KR20050012685A - 컨텍스트-프리 그래머를 이용한 부품 설계 시스템 - Google Patents

컨텍스트-프리 그래머를 이용한 부품 설계 시스템

Info

Publication number
KR20050012685A
KR20050012685A KR1020040057833A KR20040057833A KR20050012685A KR 20050012685 A KR20050012685 A KR 20050012685A KR 1020040057833 A KR1020040057833 A KR 1020040057833A KR 20040057833 A KR20040057833 A KR 20040057833A KR 20050012685 A KR20050012685 A KR 20050012685A
Authority
KR
South Korea
Prior art keywords
seed structure
operations
history
contribution
contributions
Prior art date
Application number
KR1020040057833A
Other languages
English (en)
Other versions
KR100669059B1 (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 KR20050012685A publication Critical patent/KR20050012685A/ko
Application granted granted Critical
Publication of KR100669059B1 publication Critical patent/KR100669059B1/ko

Links

Classifications

    • 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/005Tree description, e.g. octree, quadtree
    • 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
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

부품 또는 부품의 어셈블리를 설계하기 위한 선언적 시스템은, 프리미티브 및 오퍼레이션을 지니는 저장 포맷을 갖는 히스토리-기반 설계 시스템 (40) 이다. 히스토리 기반 설계 시스템에서, 모델링된 오브젝트는 오퍼레이션 및 프리미티브의 순서화된 시퀀스에 의해 정의된다. 선언적 시스템은, 스페시피케이션의 세트를 최종-사용자 인터페이스 (44) 에 제공함으로써 최종 사용자에 의해 선택 (48) 및 인스턴스화되는 몇몇의 기능적 피처를 갖는다. 인스턴스화된 기능적 피처는 컨트리뷰션 (50) 을 제공하며, 각각의 컨트리뷰션은 히스토리-기반 설계 시스템의 오퍼레이션 및 프리미티브의 순서화된 시퀀스이다. 컨트리뷰션 (50) 은 시드 구조 (52) 에 의해 수용된다. 시드 구조는 컨텍스트-프리 그래머에 의해 정의된다. 시드 구조는 수용된 컨트리뷰션의 오퍼레이션 및 프리미티브를 순서화하고, 오퍼레이션 및 프리미티브의 순서화된 시퀀스 (54) 를 히스토리 기반 시스템에 제공한다. 편집기 (56) 은 그래머의 시드 구조를 편집할 수 있게 한다.

Description

컨텍스트-프리 그래머를 이용한 부품 설계 시스템{PART DESIGN SYSTEM USING A CONTEXT-FREE GRAMMAR}
본 발명은 컴퓨터 프로그램 및 시스템, 더 자세하게는 부품 설계 프로그램 및 시스템 분야에 관한 것이다.
CATIA 라는 상표로 본 출원인에 의해 제공되는 것과 같은 부품 또는 부품의 어셈블리의 설계에 대한 시장에서, 다수의 시스템 및 프로그램이 제공된다. 이러한 소위 컴퓨터-에이디드 설계 (CAD) 시스템은 사용자가 부품 또는 부품의 어셈블리의 복잡한 3 차원 (3D) 모델을 구성하고 취급할 수 있게 한다.
어셈블리의 모델을 생성하기 위해, 다수의 상이한 모델링 기술이 이용될 수 있다. 이러한 기술은 솔리드 (solid) 모델링, 와이어-프레임 모델링, 및 표면 (surface) 모델링을 포함한다. 솔리드 모델링 기술은 토폴로지 3D 모델에 대해 제공되며, 예를 들어 3D 모델은 상호연결된 에지 (edges) 와 면 (faces) 의 집합이다. 기하학적으로, 3D 솔리드 모델은 폐쇄 스킨 (closed skin) 을 정의하는 트림드 표면 (trimmed surfaces) 의 집합이다. 트림드 표면은 에지에 의해 경계지어지는 토폴로지 면에 대응한다. 폐쇄 스킨은 부품의 재료 (material) 로 채워진 3D 공간의 경계 영역을 정의한다. 한편, 와이어-프레임 모델링 기술은 모델을 간단한 3D 라인의 집합으로 표시하는데 이용될 수 있으며, 반면에 표면 모델링은 모델을 외부 표면의 집합으로 표시하는데 이용될 수 있다. 캐드 시스템은 이러한 모델링 기술들을 파라미터 모델링 기술 등의 기술과 결합시킬 수 있다.
파라미터 모델링 기술은 모델의 다양한 특성 및 컴포넌트에 대한 다양한 파라미터들을 정의, 및 다양한 파라미터들간의 관계에 기초한 특성 및 컴포넌트의 관계를 정의하는데 이용될 수 있다. 파라미터 솔리드 모델링을 지원하는 CAD 시스템에서, 솔리드 모델링 및 파라미터 모델링은 결합될 수 있다.
설계 엔지니어는 3D CAD 시스템의 통상적인 사용자이다. 설계 엔지니어는 3D 모델의 기능적, 물리적 및 미적 측면을 설계하며, 3D 모델링 기술에 능숙하다. 설계 엔지니어는 부품을 생성하며, 부품을 하나 이상의 서브어셈블리 (subassemblies) 로 조립할 수도 있다. 부품 외에도, 서브어셈블리 또한 다른 서브어셈블리로 구성될 수 있다. 부품 및 서브어셈블리를 이용하여, 설계 엔지니어는 어셈블리를 설계한다. 이때, 부품 및 서브어셈블리를 집합적으로 "컴포넌트" 라 한다.
부품 또는 컴포넌트는 다양한 기하학적 빌딩 블록을 이용하여, CAD 시스템에서 일반적으로 제공되는 툴을 이용하여 구성된다. 부품을 구성하는 동안 설계 엔지니어가 피처 (features) 를 생성하는 순서는 피처-기반 CAD (feature-based CAD) 에서 당해 부품의 물리적 구조에 영향을 미친다. 따라서 이 시스템은 히스토리-기반이다. 예를 들어, 먼저 실린더를 이용하여 블록을 컷팅하고 그 후 컷 실린더에 의해 남은 공백 (void) 의 내부로 연장되는 돌기를 부가함으로써 구성된 부품은, 홀 내부에 돌기의 재료를 갖는 홀을 산출한다. 동작의 순서가 반대로 되어 실린더 컷을 수행하기 전에 돌기가 부가된다면, 컷은 오리지널 블록의 재료만을 컷팅하는 것이 아니고 돌기까지 컷팅하여, 그 내부에 아무런 재료도 없는 홀을 산출한다. 이는, 종래 기술의 CAD 시스템의 스크린에 표시되는 윈도우를 나타내는 도 1 내지 도 3 에 예시되어 있다. 도 1 은 형성 중인 부품의 3 개의 시점 (views) 을 포함하는 윈도우 (2) 를 나타낸다. 상부 시점 (4), 정면 시점 (6), 및 회전 시점 (8) 는 부품이 2 개의 블록 특성 (즉, 상부 블록 (12) 및 하부 블록 (14)) 에 의해 부분적으로 정의됨을 나타낸다. 또한, 상부 시점 (4) 및 정면 시점 (6) 는 원의 돌출된 프로파일 (10) 을 평면적으로 나타낸다. 돌출된 프로파일 (10) 의 목적은 부품에서 실린더 컷을 생성하는 것이다. 도 2 는, 컷 피처를 구성하기 위해 돌출된 프로파일 (10) 이 이용된 후의 윈도우 (2) 를 나타낸다. 컷 (16) 은, 상부 블록 (12) 및 하부 블록 (14) 으로부터 돌출된 프로파일 (10) 내에 위치된 재료를 공제 (subtraction) 함으로써 생성된다. 컷 피처 (16) 의 포함에 선행하여 상부 블록 (12) 및 하부 블록 (14) 이 부품 정의에 포함된다면 (즉, 존재한다면), 컷 (16) 은 히스토리-기반 CAD 시스템에서 도 2 에 예시된 바와 같이 나타난다. 도 3 은, 컷 피처 (18) 가 상부 블록 (12) 으로부터 재료를 공제하지 않는 부품을 포함하는 윈도우 (2) 를 나타낸다. 첫째로 하부 블록 (4) 이 부품 정의에 포함되고, 둘째로 컷 피처 (18) 가 부품 정의에 포함되고, 셋째로 상부 블록이 부품 정의에 포함되면, 컷 (18) 은 히스토리-기반 CAD 시스템에서 도 3 에 예시된 바와 같이 나타날 수도 있다. 도 1 내지 도 3 의 예시는 컴포넌트를 정의하는데 입력된 피처의 순서가 컴포넌트의 출력 형태에 영향을미친다는 것을 나타낸다. 기계 부품에 관한 이러한 논의는 설계 시스템에서의 다른 형태의 부품 또는 컴포넌트, 예를 들어 몰드된 부품, 회로에서의 전기적인 피처, 또는 더 일반적으로 부품 또는 컴포넌트를 형성하는 어셈블리의 임의의 형태의 피처에도 적용된다.
EP-A-1 302 904 는 그러한 히스토리-기반 CAD 시스템에서의 피처 순서의 문제에 대한 해결책을 제시한다. 이는 피처 생성 순서 및 피처 재생성 순서를 분리하는 원리에 기초한다. 피처 생성은 사용자가 컴포넌트에 부가하는 피처의 순서를 참조하며, 피처 재생성은 기하학적 피처 동작이 하지 (underlying) 기하학적 모델에 적용되는 순서를 참조한다. 이는 주어진 피처에, 주어진 피처가 영향을 줄 다른 피처들을 대표하는 피처 스코프 (scope) 를 연관시킴으로써 달성된다. 주어진 피처에 작용할 다른 피처의 리스트를 CAD 시스템 사용자가 명시적으로 작성한다면, 피처 스코프는 명시적일 수도 있다. 피처 스코프는 암시적일 수도 있다. 그러면, 시스템 규칙에 기초하여, 예를 들어 피처가 도입되는 순서, 근사 계산, 또는 피처의 속성에 의존하여, 시스템에 의해 자동적으로 정의될 수 있다. 피처 스코프의 명시적인 정의는 사용자에게 부가적인 부담을 생성한다. 피처 스코프의 암시적인 정의는 소정 개수의 미리 프로그램된 규칙에 한정된다. 또한, 이 문헌은, 피처 스코프에 따라, 피처 체인을 만들기 위한 동적 그룹핑 및 순서화를 설명한다. 피처 체인은 3 개의 볼륨을 포함한다. 첫 번째 볼륨은 재료를 부가하는 모든 피처를 결합하는 포지티브 볼륨이다. 두 번째 볼륨은 재료를 제거하는 모든 피처를 결합하는 네거티브 볼륨이다. 세 번째볼륨은 포지티브 볼륨 및 네거티브 볼륨을 결합한다. 피처 체인은 피처 트리에 의해 생성 및 표시된다. 이러한 트리는 피처 스코프를 고려하여 생성된다. 따라서, 시스템은 피처 트리를 만드는데 있어서 피처 스코프에 의존한다. 더욱 일반적으로, 이 특허에서 제안되는 해결책은 임시적 복잡도 (피처가 정의되는 순서) 를 스코프로 변경하는 것과 동등하다. 그러나, 스코프를 정의하는 것은 피처에 대한 적합한 순서를 정의하는 것만큼 복잡할 수도 있다.
US-A-2002/0133803 은 수평 구조의 CAD-CAM 모델링 시스템에 대해 설명한다. 이 문헌은 데이터 평면을 정의하는 것과 새로운 피처를 데이터 평면에 링크시키는 것을 제안한다. 따라서, 피처가 각각 독립적으로 정정 가능할 것이 제안된다. 이 해결책은, 사용자가 데이터 평면을 정의하고, 각각의 새로운 피처에 대해 어느 데이터 평면에 피처가 부가될지를 결정할 것을 요구한다. 이 해결책은 일부 피처를 다른 피처에 독립적으로 정정 가능하게 한다. 그러나, 이는 전술한 바와 같은 피처의 일시적 순서 (temporal order) 의 문제를 해결하지 못한다. 도 1 내지 도 3 의 예시를 다시 참조하면, 상부 블록, 하부 블록 및 돌출된 프로파일이 동일한 데이터 평면에 "부가" 된다는 사실은, 이러한 피처들이 정의되는 순서가 결과 부품 또는 컴포넌트를 변경할 수도 있다는 사실을 바꾸지는 않는다.
히스토리 의존적이지 않은 다른 시스템이 제안된다. 이는 경계 표시 모델링에 의존하는 시스템을 포함한다. 이 시스템은 경계 표시만을 저장하고, 표시를 정의하는데 있어서 사용자의 동작의 시퀀스는 저장하지 않는다. 이러한 시스템의 문제점은, 이미 설계된 구조를 사용자가 수정 또는 정정하는 것을 거의허용하지 않는다는 점이다. 더 자세하게는, 이러한 시스템은 사용자가 새로운 구조를 생성하는데 도움을 주는 도구를 제공할 수도 있다. 이러한 도구는 존재하는 경계를 외삽 (extrapolate) 하며, 경계에 대해 한정된 변경에만 동작한다. 또한, 이는 일련의 한정된 미리 프로그램된 변경에 의존한다. 도 4 는 경계 표시 모델링에서의 부품의 단면도의 예시이다. 부품은 홀 (22) 이 뚫려 있는 볼륨 (20) 이다. 홀은, 축 (26) 주위의 커브 (24) 의 회전 및 저면 (28) 에 의해 정의되는 형상을 갖는다. 시스템에 의해서 저면이 라인으로 식별되면, 홀의 저면 (28) 이 점선으로 나타낸 위치 (30) 으로 이동하는 것이 시스템에 의해 허용될 수도 있다. 그렇지 않다면, 저면을 이동하는 것은 저면을 전면적으로 재-설계하는 것과 관련될 수도 있다. 또한, 저면이 이동되면, 벽 (24) 의 하부 부분은 연장될 필요가 있다. 이는 벽의 하부 부분을 재-설계하는 것과 관련될 수도 있다. 한편, 히스토리-기반 시스템에서, 벽 (24) 의 하부 부분은 원뿔 표면의 재경계 (relimitation) 로 정의될 수 있으며, 단지 설계 시나리오를 "반복" 함으로써, 즉 재경계 단계를 "반복" 함으로써 용이하게 연장될 수 있다. 이 예시는 히스토리-기반 시스템의 이점의 일부를 나타낸다. 히스토리-기반 시스템은 최종-사용자의 설계 의도를 포착 (capture) 한다. 즉, 연속적 설계 단계를 반영한다. 또한, 히스토리 기반 시스템은 용이한 사후적 (a posteriori) 변경을 허용한다.
따라서, 이용하기에 더 간단하면서도 히스토리-의존 시스템의 이점을 제공하는 CAD 시스템에 대한 요구가 존재한다. 바람직하게는, 시스템은 사용자의 요구 및 이용되는 기술 분야를 쉽게 충족시켜야 한다.
비한정적인 예시의 방법으로 본 발명을 실시하는 컴퓨터-에이디드 설계 시스템을 설명하며, 도면을 참조한다.
도 1 내지 도 3 은 종래 기술의 히스토리-기반 시스템에서의 컴포넌트의 시점이다.
도 4 는 경계-모델링 시스템에서의 컴포넌트의 단면도이다.
도 5 는 본 발명을 실시하는 설계 시스템 구조의 개략도이다.
도 6 은 컨텍스트-프리 그래머에서 신택스를 체크하기 위한 푸쉬다운 오토마톤을 나타낸다.
도 7 은 이러한 컨텍스트-프리 그래머에서 코딩된 바이너리 트리의 예시이다.
도 8 은 제 1 실시형태에서 시드 구조를 나타낸다.
도 9 는 본 실시형태의 제 1 기능적 피처의 개략도이다.
도 10 은 제 1 기능적 피처의 컨트리뷰션을 갖는 시드 구조를 나타낸다.
도 11 은 대응하는 모델링된 오브젝트의 개략도이다.
도 12 는 본 실시형태의 제 2 기능적 피처의 개략도이다.
도 13 은 제 2 기능적 피처의 컨트리뷰션을 갖는 시드 구조를 나타낸다.
도 14 는 대응하는 모델링된 오브젝트의 개략도이다.
도 15 내지 도 18 은 다른 모델링된 오브젝트이다.
도 19 는 본 발명의 제 2 실시형태의 시드 구조의 부분도이다.
도 20 은 제 2 실시형태의 시드 구조의 다른 부분도이다.
도 21 은 일반적인 컨텍스트-프리 그래머에서 코딩된 트리를 예시한다.
도 22 는 이 그래머의 신택스를 체크하기 위한 오토마톤의 개략도이다.
도 23 은 이 그래머의 그래프이다.
도 24 는 다이렉티드 비주기 그래프이다.
도 25 는 도 24 의 그래프에 대응하는 트리이다.
도 26 은 도 24 의 그래프에 대응하는 다른 트리이다.
도 27 은 컨텍스트-프리 그래머에서 다른 트리 구조를 예시한다.
도 28 은 다양한 부가적 컴포넌트로 완료된, 도 27 의 트리를 나타낸다.
도 29 는 도 8 의 트리에 대응하는 비-바이너리 트리이다.
도 30 은 도 13 의 트리에 대응하는 비-바이너리 트리이다.
도 31 은 트리의 리프 (leaf) 에 대한 변화의 영향을 나타낸다.
도 32 는 다른 시드 구조를 나타낸다.
도 33 은 제 1 기능적 피처의 컨트리뷰션을 갖는 도 32 의 시드 구조를 나타낸다.
도 34 는 제 2 기능적 피처의 컨트리뷰션을 갖는 도 32 의 시드 구조를 나타낸다.
도 35 는 도 30 의 경우와 유사한 트리의 다른 예시이다.
본 발명에 따르면,
부품 또는 부품의 어셈블리를 설계하기 위한 시스템으로서,
(a) 프리미티브 및 오퍼레이션을 지니는 저장 포맷을 갖는 상기 히스토리-기반 설계 시스템으로서, 부품 또는 부품의 어셈블리는 히스토리 기반 설계 시스템에서 오퍼레이션 및 프리미티브의 순서화된 시퀀스에 의해 정의되는 시스템;
(b) 적어도 2 개의 기능적 피처로서, 각각이 스페시피케이션의 세트를 제공함으로써 최종 사용자에 의해 인스턴스화되도록 구성되며, 인스턴스화된 기능적 피처는 적어도 컨트리뷰션을 제공하며, 컨트리뷰션은 상기 히스토리-기반 설계 시스템의 오퍼레이션 및 프리미티브의 순서화된 시퀀스인 기능적 피처;
(c) 컨텍스트-프리 그래머를 이용하여 정의된 시드 구조로서, 상기 시드 구조는 인스턴스화된 기능적 피처로부터 컨트리뷰션을 수용하고, 수용된 컨트리뷰션의 오퍼레이션 및 프리미티브를 순서화하고, 그리고 상기 히스토리 기반 시스템에 오퍼레이션 및 프리미티브의 순서화된 시퀀스를 제공하도록 구성된 시드 구조; 및
(d) 상기 그래머로 상기 시드 구조를 편집하기 위한 편집기를 포함하는 설계 시스템이 제공된다.
오퍼레이션은 상호교환적 오퍼레이션 (commutative operations) 및 비상호교환적 오퍼레이션 (non-commutative operations) 을 포함할 수 있다. 그 후, 시드 구조 (seed structure) 는 컨트리뷰션을 수용하도록 구성된 입력을 가진다. 시드 구조는, 각각의 입력에 대해 수용된 컨트리뷰션에 비상호교환적 오퍼레이션을 적용시키고, 상기 컨트리뷰션에 적용된 상호교환적 오퍼레이션의 결과에 상호교환적 또는 비상호교환적 오퍼레이션을 적용시킨다.
바람직하게는, 시드 구조는 컨텍스트-프리 그래머에서 비주기적 오리엔티드 그래프 (acyclic oriented graph) 로서 표시된다. 이는 바이너리 트리 또는 비-바이너리 트리 (non-binary tree) 일 수도 있다.
바람직하게는, 컨텍스트 프리 그래머의 터미널 알파벳은 적어도 솔리드, 결합 (union), 교차 (intersection) 및 공제 (subtraction) 를 포함한다. 터미널 알파벳에 병치 (juxtaposition) 를 부가할 수도 있다.
일실시형태에서, 컨텍스트 프리 그래머의 터미널 알파벳은 커브, 표면 및 재경계를 포함한다.
또한, 본 발명은 부품 또는 부품의 어셈블리를 설계하기 위한 히스토리-프리 시스템을 제공하는 프로세스를 제공하며, 이 프로세스는,
(a) 프리미티브 및 오퍼레이션을 갖는 저장 포맷을 갖는 히스토리-기반 설계 시스템을 제공하되, 부품 또는 부품의 어셈블리는 오퍼레이션 및 프리미티브의 순서화된 시퀀스에 의해 상기 히스토리 기반 설계 시스템에서 정의되는 단계;
(b) 적어도 2 개의 기능적 피처를 제공하되, 그 각각은 스페시피케이션의 세트를 제공함으로써 최종 사용자에 의해 인스턴스화되도록 구성되며, 인스턴스화된 기능적 피처는 적어도 컨트리뷰션을 제공하며, 컨트리뷰션은 히스토리-기반 설계시스템의 오퍼레이션 및 프리미티브의 순서화된 시퀀스인 단계;
(c) 시드 구조를 정의하기 위해 컨텍스트-프리 그래머를 이용하되, 상기 시드 구조는 인스턴스화된 기능적 피처로부터 컨트리뷰션을 수용, 수용된 컨트리뷰션의 오퍼레이션 및 프리미티브를 순서화, 및 상기 히스토리 기반 시스템에 오퍼레이션 및 프리미티브의 순서화된 시퀀스를 제공하는 단계를 포함한다.
일실시형태에서, 오퍼레이션은 상호교환적 오퍼레이션 및 비상호교환적 오퍼레이션을 포함한다. 상기 이용 단계는, 컨트리뷰션을 수용하기에 구성된 입력을 가지는 시드 구조, 및 각각의 입력에서 수용된 컨트리뷰션에 상호교환적 오퍼레이션을 적용하고 상기 컨트리뷰션에 적용된 상기 상호교환적 오퍼레이션의 결과에 상호교환적 또는 비상호교환적 오퍼레이션을 적용하도록 구성된 상기 시드 구조를 제공하는 단계를 포함한다.
바람직하게는, 이용 단계는 시드 구조를 비주기적 오리엔티드 그래프로서 정의하는 단계를 포함한다. 그 후, 시드 구조는 바이너리 또는 비-바이너리 트리로 한정될 수 있다.
본 명세서에서, "부품" 또는 "부품의 어셈블리" 라는 용어는 컴퓨터-에이디드 시스템에서 모델링 또는 설계된 오브젝트를 지정하는데 이용된다.
도 5 를 참조하여, 본 발명에 따른 시스템의 일반적인 구조를 설명한다.
컨텍스트 프리 그래머에 관하여 도 6 및 도 7 을 참조하여 설명한다.
도 8 내지 도 18 을 참조하여 본 발명의 제 1 실시형태를 설명한다. 본 발명은 얇은 솔리드 (thin solids) 의 모델링에 적용된다.
도 19 및 도 20 을 참조하여 본 발명의 제 2 실시형태를 설명한다. 본 발명은 대응하는 몰드 (moulds) 에 동시적인 얇은 솔리드에 적용된다.
도 21 내지 도 30 및 도 35 를 참조하여 본 발명의 제 3 실시형태를 설명한다. 비-바이너리 트리에서 시드 구조를 표시할 수 있게 하는 일반적인 컨텍스트-프리 그래머를 개시한다.
마지막으로, 도 31 내지 도 34 를 참조하여 본 발명의 제 4 실시형태를 설명한다. 본 실시형태는 B-rep 평가기 (B-rep evaluator) 에서 모델링된 오브젝트의 빠른 평가를 허용한다.
본 발명은 CAD 시스템의 사용자로 하여금 피처 순서에 대한 염려없이 부품 또는 부품의 어셈블리를 설계할 수 있게 한다. 본질적으로, 본 발명에 의해 제공되는 시스템은 히스토리-프리 설계 시스템이다. 그러나, 이는 히스토리 기반 설계 시스템도 포함하며, 따라서 전술한 바와 같은 그러한 시스템의 이점을 제공한다. 따라서, 이는 사용자의 설계-의도를 포착하며, 사후 변경을 가능케 한다.
이는 시스템에서
- 히스토리-기반 또는 히스토리 의존 컴퓨터-에이디드 설계 시스템;
- 최종-사용자에 의해 액세스되고 인스턴스화되는 기능적 피처의 세트; 및
- 시드 구조
를 제공함으로써 달성된다.
히스토리-기반 설계 시스템에서, 모델링된 오브젝트는 오퍼레이션 및 프리미티브의 순서화된 시퀀스에 의해 정의된다. 시스템은 그러한 순서화된 시퀀스의형태로 데이터를 수용하도록 구성된다. 솔리드 오브젝트의 모델링용으로 구성된 설계 시스템에서의 프리미티브 (블록) 의 예시가 도 1 내지 도 3 에서 주어진다. 오퍼레이션의 예시는, 예를 들어 도 1 의 2 개의 블록에 적용된 바와 같은 어셈블링, 또는 예를 들어 다양한 스테이지에서 도 2 및 도 3 에 적용된 컷팅을 포함한다. 시퀀스에서 순서의 중요성은 도 1 내지 도 3을 참조하여 예시된다. 그러한 히스토리-기반 설계 시스템은 당업자에게 잘 알려져 있으며, 전술한 CATIA 시스템을 포함한다. 그러한 시스템에서 이용가능한 프리미티브 및 오퍼레이션 또한 당업자에게 알려져 있다.
히스토리 기반 시스템이 도 5 의 도면부호 40 에서 표시되며, 더 상세히 설명하지 않는다. 본 명세서의 이후 부분에서는, "코어 시스템" 이라고도 불리우는 이러한 시스템 (40) 이, 프리미티브 및 오퍼레이션의 순서화된 시퀀스를 수용하도록 구성되는 것으로 충분하다. 수용된 시퀀스를 평가하여 모델링된 오브젝트를 계산, 모델링된 오브젝트를 사용자에게 디스플레이, 시퀀스를 저장, 또는 수용된 순서화된 시퀀스의 임의의 부가적인 핸들을 제공할 수도 있다. 이 시스템에서 B-rep 타입 평가기를 이용할 수도 있다. B-rep 타입 평가기는 입력 솔리드의 경계 디스크립션으로부터의 결과 솔리드의 경계 디스크립션을 계산하는 기하학적 및 토폴로지 알고리즘이다.
본 발명의 시스템 (42) 은 히스토리-프리이며 선언적이다. 이는 최종-사용자 인터페이스 (44) 를 포함한다. 이 인터페이스는 기능적 피처의 세트 중에서 기능적 피처를 선택하고 선택된 기능적 피처를 파라미터로 인스턴스화하는 능력을, 최종-사용자에게 제공한다. 이는, 최종-사용자 인터페이스 (42) 로의 입력인 파라미터 (46) 및 선택된 기능적 피처 (48) 에 의해 도 5 에서 개략적으로 표시된다. 기능적 피처는 해당 기술 분야에서 관련있는 설계 기능을 표시한다. 예를 들어, 설계 시스템이 솔리드의 설계에 적용되면, 기능적 피처는 하우징, 스루 홀 (through holes), 블라인드 홀을 포함할 수 있다. 이하, 기능적 피처의 다른 예를 설명한다. 주어진 기능적 피처는, 선택된 기능적 피처에 관련된 파라미터 또는 값을 제공함으로써 인스턴스화될 수도 있다. 예를 들어, 하우징은 다음의 파라미터, 즉 프로파일, 높이, 및 두께를 제공함으로써 인스턴스화될 수 있다. 스루 홀은 위치할 지점, 축, 및 지름을 제공함으로써 인스턴스화될 수 있다. 블라인드 홀은 위치할 지점, 축, 지름, 및 깊이를 제공함으로써 인스턴스화될 수 있다. 후술하는 바와 같이, 기능적 피처의 세트는 숙련된 사용자에 의해 구성될 수도 있다.
사용자 인터페이스 (44) 는, 시드 구조 (52) 에 적용되는 컨트리뷰션 (50) 을 출력한다. 이하, 컨트리뷰션을 자세히 설명한다. 본질적으로, 최종-사용자 인터페이스 (44) 로의 인스턴스화된 기능적 피처 입력은 인터페이스 (44) 에 의해 적어도 하나의 컨트리뷰션 출력을 제공한다. 컨트리뷰션은 코어 시스템의 프리미티브 및 오퍼레이션의 순서화된 시퀀스이다. 후술하는 바와 같이, 컨트리뷰션은 시드 구조의 주어진 입력에 적용된다.
컨트리뷰션은 시드 구조 (52) 에 적용된다. 시드 구조는 컨트리뷰션을 수용하며, 수용된 컨트리뷰션에 기초하여, 코어 시스템에 의해 취급되도록 구성된프리미티브 및 오퍼레이션의 순서화된 시퀀스인 데이터 흐름 (54) 을 코어 시스템 (40) 에 제공한다. 더 자세하게는, 컨트리뷰션에 오퍼레이션을 적용하고 부가적인 프리미티브를 부가함으로써, 시드 구조는 컨트리뷰션을 수용하고 이러한 컨트리뷰션을 핸들한다. 시드 구조는 주어진 컨트리뷰션을 분리하거나 파괴하지 않는다. 즉, 시드 구조에 입력된 주어진 컨트리뷰션은, 시드 구조에 의해 제공되는 결과 시퀀스에서 발견된다.
시드 구조는, 컨트리뷰션이 수용되는 순서가 시드 구조에 의해 결과 출력을 변경하지 않도록, 더 자세하게는 코어 시스템에 의해 이 결과의 평가를 변경하지 않도록 형성된다. 시드 구조의 이러한 특성은
- 컨트리뷰션을 시드 구조에 적용하는 규칙이 상호교환적이며,
- 각각의 컨트리뷰션이 시드 구조에 의해 손상되지 않고 보존되기 때문에 보증된다.
본질적으로, 최종-사용자는 상호교환적인 것으로 나타나는 도구 (기능적 피처) 를 갖는다. 따라서, 기능적 피처는 임의의 순서로 최종-사용자에 의해 인스턴스화될 수도 있다. 비상호교환적 오퍼레이션은 컨트리뷰션에 포함되거나 시드 구조에 의해 수행된다. 시드 구조에서 컨트리뷰션이 분리되거나 파괴되지 않기 때문에, 컨트리뷰션에서의 프리미티브 및 오퍼레이션의 순서는 설계 시스템에 의해 정정되지 않는다. 시드 구조에서의 순서화가 사용자-의존적이지 않기 때문에, 시드 구조에서의 비상호교환적 오퍼레이션은 사용자 의존적이지 않은 결과를 제공한다.
또한, 시스템은 시드 구조를 편집하기 위한 편집기를 가지며, 이는 도 5 의 도면부호 56 에서 개략적으로 표시된다. 이 편집기는 숙련된 사용자가 시드 구조를 정정하고, 이를 설계 시스템이 이용되는 주어진 기술 분야의 특정 요구사항에 적합하게 한다. 시드 구조는 컨텍스트-프리 그래머에서 정의되며, 이 그래머로 편집될 수 있다. 이 그래머에서 관련된 신택스 규칙은, 최종-사용자에 의해 기능적 피처가 인스턴스화되는 순서에 무관하게, 시드 구조가 항상 다양한 컨트리뷰션의 순서화 특성을 유지하여 코어 시스템 (40) 에서 출력 데이터 흐름의 동일한 평가를 제공할 것을 보증한다.
본 발명의 바람직한 이용에서, 숙련된 사용자는 매우 숙련된 설계자가다. 그는 CAD 시스템 행동 및 한정 (겹친 또는 겹치지 않은 솔리드, 선형 Constructive Solid Geometry 구조, 밸런스드 Constructive Solid Geometry 구조 등) 뿐만 아니라 기술 분야 (시이트 메탈 비행체 (sheet metal aerospace), 비행체의 기계 부품, 자동 전력 열차 등) 에도 지식이 있는 자이다. 최종 사용자는 기계 설계자가며 다양한 기능적 피처를 갖는다. 컴퓨터 시스템에서 사용자에게 권리가 허용되는 방법은 당업자에게 잘 알려져 있으며, 더 자세히 설명하지 않는다.
도 5 의 화살표 (58) 에서 보는 바와 같이, 편집기는 또한 숙련된 사용자에게 기능적 피처의 세트를 변경하는 것, 예를 들어 새로운 기능적 피처를 부가하는 것을 허용할 수도 있다.
최종-사용자의 관점에서, 시스템 (42) 는 오브젝트를 쉽게 모델링할 수 있다는 이점을 지닌다. 첫째로, 기술 분야에 적합하며 오브젝트 모델링을 용이하게하는 기능적 피처를 제공한다. 둘째로, 기능적 피처가 인스턴스화되는 순서는 모델링된 오브젝트 결과와 무관하지 않다.
시스템 (42) 은, 시드 구조를 편집함으로써 기술 분야에 쉽게 적응할 수 있다는 다른 이점을 갖는다. 이는 다양한 기술 분야에 대해 동일한 시스템을 이용할 수 있게 하는 한편, 숙련된 사용자가 시스템을 커스터마이즈하도록 허용한다. 이하, 시드 구조의 몇가지 실시예를 설명한다. 도 8 내지 도 15 의 실시예에서, 시드 구조는 얇은 플라스틱 부품의 설계를 위해 구성된다. 도 16 및 도 17 의 실시예에서, 시드 구조는 동일한 상부 및 하부 몰드에서 설계하는 것을 가능하게 한다. 또한, 도 27 내지 도 30 을 참조하여, 잠정적 결과가 저장되는 경우, 모델링된 오브젝트의 평가를 최적화하도록 구성된 시드 구조의 실시예를 설명한다. 코어 시스템의 능력에 따라, 시드 구조가 구성될 수도 있다.
편집기는, 코어 시스템의 성능에 따라, 그 기능을 변경함이 없이 능률을 향상시키기 위해 기존의 시드 구조를 구성하는 것을 가능하게 한다. 또한, 편집기는 주어진 애플리케이션에서 시드 구조의 기능적 성능을 증가시키는 것을 가능하게 한다. 예를 들어, 이하 예시하는 바와 같이, 편집기는 솔리드에 대해 솔리드 컴포넌트 및 몰드를 동시에 설계하는 것을 가능하게 한다. 이는 어셈블리의 동일한 대응 엘리먼트, 예를 들어 결합된 하우징을 형성하는 2 개의 부품에서 설계하는 것을 가능하게 한다. 또한, 편집기는 숙련된 사용자가 주어진 애플리케이션용으로 구성된 시드 구조를 형성하는 것을 가능하게 한다. 예를 들어, 해양 건축에서, 벽, 출구, 결합 부재는 특정한 재경계 (relimitation) 로 결합된다.이 분야에서 이용되는 설계 방법론을 포착하기 위하여, 시드 구조는 편집기에서 설계될 수도 있다. 더 일반적으로, CAD 시스템에서 이용되는 임의의 설계 프로세스는 시드 구조 및 연관된 기능적 피처에서 포착될 수도 있다.
또한, 후술하는 바와 같이, 편집기는 숙련된 사용자로 하여금 기존의 기능적 피처를 정정하거나 새로운 기능적 피처를 생성하도록 허용할 수도 있다.
또한, 본 발명의 시스템은 동시적 엔지니어링을 허용한다. 동시적 엔지니어링은 공유 부품 또는 어셈블리에 대해 동시에 작업하는 다수의 설계자들을 조정하는 기술이다. 각각의 엔지니어는 (공유된) 부품을 수정하고 다른 설계자로부터의 수정을 수용하게 되어 있다. 키 포인트는 수정을 조정한다는 것이다. 종래 기술의 시스템에서는, 각각의 설계자로부터의 수정이 수행되는 순서가 모델링된 오브젝트의 결과에 영향을 미칠 수도 있으므로, 이는 문제점이었다. 본 발명에서의 설계 변경 사이의 순서 독립성은 각각의 설계자에 의해 수행된 수정 또는 부가의 간단한 통합을 허용한다.
본 발명을 예시하기 전에, 컨텍스트-프리 그래머를 간단히 설명한다. 컨텍스트-프리 그래머에 관한 세부 사항은 Addison-Wesley, 1979 년, J.E. Hopcroft 및 J.D. Ullmann 의 Introduction to Automata Theory, Language and Computation 에서 찾을 수 있다. 이 간행물이 컨텍스트-프리 그래머에 대해 기재하고는 있지만, 그러한 그래머를 컴퓨터 에이디드 설계 시스템에 이용하는 것에 관해서는 제안하는 바가 없다.
컨텍스트-프리 그래머GG = (X, V, P)에 의해 정의되며,X는 터미널심볼의 세트,V는 비-터미널 심볼의 세트,P는 규칙의 세트이다. 규칙은 순서쌍(S, m)이며, 첫 번째 오브젝트는 비-터미널 심볼이며, 두 번째 오브젝트는 터미널 및 비-터미널 심볼로 구성된 스트링이다. 더 정확하게는,PV×(XV) * 의 서브세트이다. 규칙은으로도 쓸 수 있다. 즉, 규칙은 비-터미널 심볼을 터미널 및 비-터미널 심볼로 구성된 스트링으로 변경한다. 컨텍스트-프리 그래머를 이용하는 것은 잘 정의된 신택스 및 알고리즘으로 워드를 재귀적으로 생성하여, 이러한 워드를 스캔하고 신택스를 체크하고 계산을 수행할 수 있게 한다. 이러한 관점에서, 그 기능에 기인하여 비-터미널 심볼의 기능은 터미널 및 비-터미널 심볼로 구성된 스트링에 의해 대체된다. 그래머에서 심볼의 시퀀스를 워드라 한다.
시드 구조 (52) 는 컨텍스트-프리 그래머에서 정의 및 편집된다. 그와 같이, 컨텍스트 프리 그래머에는 단지 워드만이 있다. 먼저, 그래머는 시드 구조를 정의하는데 형식적이고 엄격한 환경을 제공한다. 편집기 (56) 에서 편집된 시드 구조의 신택스를 체크하는 것은 최종-사용자가 신택스 규칙을 위반하는 것을 피할 수 있게 한다. 이는 시스템 (42) 이 이용되는 기술 분야에 완전히 독립적이다.
컨텍스트 프리 그래머의 이용은, 재귀적 기능을 이용함으로써,컨트리뷰션을 시드 구조에 입력하는 것을 용이하게 한다. 특히, 시드 구조는 컨트리뷰션을 시드 구조에 적용하는데 이용되는 다수의 터미널 및 비-터미널 심볼을 포함하는 워드이다. 비-터미널 심볼은 시드 구조에 대한 "입력" 으로 이해될 수 있으며, 터미널 심볼은 오브젝트들 (실시예에서의 솔리드 오브젝트들) 을 결합하는 오퍼레이션을 구체화하는데 이용된다. 이러한 관점에서, 컨트리뷰션을 시드 구조에 적용하는 것은, 단지 시드 구조의 비-터미널 심볼을 컨트리뷰션으로 대체함으로써 수행될 수 있다. 컨트리뷰션이 워드라면, 이는 단지 그래머의 주어진 규칙이다. 재귀 (recursivity : 임의의 개수의 컨트리뷰션을 시드 구조에 적용하는 능력) 를 보증하기 위해, 시드 구조의 비-터미널 심볼을, 컨트리뷰션 및 대체된 비-터미널 심볼을 포함하는 시퀀스로 대체함으로써, 컨트리뷰션을 시드 구조에 적용시키는 것으로 충분하다. 본 명세서의 이하 부분에서, 대체하는 스트링에서 대체된 비-터미널 심볼이 나타나는 규칙은 대체 (substitution) 라 부른다. 대체의 이러한 정의를 이용하여, 시드 구조의 비-터미널 심볼을 비-터미널 심볼 및 컨트리뷰션을 포함하는 워드로 변경하기 위해 대체를 이용함으로써, 컨트리뷰션은 시드 구조에 적용된다. 이는, 결과 워드가 여전히, 부가적인 컨트리뷰션이 적용될 수 있는 비-터미널 심볼을 포함한다는 것을 보증한다. 또한, 이는 시드 구조의 구조가 컨트리뷰션의 입력 동안에 걸쳐 보존된다는 것을 보증한다.
또한, 컨텍스트-프리 그래머를 이용하는 것은 숙련된 사용자로 하여금 시스템 (42) 이 선언적으로 유지된다는 것을 보증하기 용이하게 한다. 컨트리뷰션이 시드 구조에 적용됨을 허용하는 대체 규칙이 상호교환적으로 유지되는지를 체크하는 것으로 충분하다.
이하, 도 6 및 도 7 을 참조하여, 본 발명에서 이용되는 가장 간단한 컨텍스트-프리 그래머를 설명한다. 이 그래머는 다음과 같이 정의된다.
심볼 a 는 제 1 터미널 심볼이며, 컨트리뷰션에 의한 또는 프리미티브 및 코어 시스템의 오퍼레이션의 순서화된 시퀀스에 의한 실시형태에서 정의되는 임의의 솔리드를 표시한다. 심볼는 제 2 터미널 심볼이며, 결합 (+), 공제 (-) 및 교차 (·) 과 같은 임의의 오퍼레이션을 표시한다. 비-터미널 심볼 S 는, 규칙의 세트 P 에 포함된 규칙을 이용하여 비-터미널 심볼 및 터미널 심볼의 시퀀스로 대체될 수도 있다. 특히, 제 1 규칙는 비-터미널 심볼을 2 개의 비-터미널 심볼 사이의 오퍼레이션의 결과로 대체한다. 이 결과는, 단지를 표현하는 더 간단한 방식인로 표현된다. 트리에 관하여, 제 1 오퍼레이션은 트리의 리프 S 를 2 개의 브랜치 (branches) 를 갖는 노드로 대체한다. 노드는, 브랜치의 끝에 위치한 2 개의 비-터미널 심볼에 대한 오퍼레이션의 결과이다. 제 2 오퍼레이션는 비-터미널 심볼을 터미널 심볼로 대체하며, 주어진 값 (터미널 심볼) 이 트리의 리프에 적용되어야 할 때 통상적으로 이용된다.
이러한 그래머로 생성된 워드의 신택스는 도 6 에 표시된 푸쉬다운 오토마톤에 의해 체크될 수도 있다. 도 6 에서, 상태 1 은 초기 상태이다. 상태 2 는 최종 상태이다. 오토마톤이 최종 심볼을 판독한 후에 최종 상태에 도달하면신택스는 맞는 것이고, 그렇지 않으면 맞지 않는 것이다. 형식적 언어에 관한 당업자라면, 그래머에서 임의의 워드의 신택스가 용이하게 체크될 수 있다는 것을 알 수 있을 것이다.
도 7 은 이 그래머에서 코딩된 바이너리 트리의 실시예이다. 이 트리는a - ((b + c) - d)를 간단히 표현하는 방법인 워드a b c + d - -로 코딩된다. 이 트리는 그래머 규칙의 다음 시퀀스를 통해 생성된다.
즉, 비-터미널 심볼S로부터 시작한다. 제 1 오퍼레이션이 적용되어, 루트에서a -오퍼레이션을 이용하여 비-터미널 심볼을 2 개의 브랜치 (60 및 62) 를 갖는 트리로 대체한다. 제 2 오퍼레이션이 적용되어, 트리의 제 1 브랜치 (60) 의 리프에서의 비-터미널 심볼S를 터미널 심볼a로 대체한다. 그 후, 제 1 오퍼레이션이, 루트에서a -오퍼레이션을 이용하여 2 개의 브랜치 (64, 66) 를 갖는 트리로 대체되는 브랜치 (62) 의 리프에 남아있는 비-터미널 심볼에 적용된다. 제 2 오퍼레이션이 적용되어, 트리의 브랜치 (66) 의 리프에서의 비-터미널 심볼S를 터미널 심볼d로 대체한다. 그 후, 제 1 오퍼레이션이, 루트에서a+ 오퍼레이션을 이용하여 2 개의 브랜치 (68, 70) 를 갖는 트리로 대체되는 브랜치 (64) 의 리프에서의 비-터미널 심볼에 적용된다. 제 2 오퍼레이션은 2 번 적용되어 브랜치 (68, 70) 의 리프에서의 비-터미널 심볼S를 터미널 심볼bc로 대체한다. 도 7 의 실시예에서,S의 모든 인스턴스가 트리 또는 터미널 심볼로 대체되었기 때문에, 비-터미널 심볼S는 더 이상 나타나지 않는다. 도 7 을 설명하면, 심볼a는 터미널 심볼을 설명하기 위해 이용된다. 또한, 이는 가능한 솔리드a, b, c,d중의 하나로도 이용된다.
도 8 내지 도 18 은 본 발명의 제 1 실시형태에서의 설계 시스템을 예시한다. 제 1 실시형태의 시드 구조는 바이너리 트리로 표시된다. 설명하기 위해, 인젝션-몰딩된 플라스틱 부품과 같은 얇은 솔리드의 설계에 적용한다. 2 개의 기능적 피처가 제공된다. 제 1 기능적 피처는 얇은 블록이며 제 2 기능적 피처는 픽스처 (fixture) 이다.
도 8 은 본 실시예에서의 시드 구조의 개략도이다. 도 8 의 시드 구조는, 얇은 솔리드가 2 개의 솔리드의 공제 (subtraction) 로 구성된다는 고려로부터 도출된 것이다. 제 1 솔리드는 얇은 솔리드의 외부 형상이고, 제 2 솔리드는 얇은 솔리드의 내부 형상이다. 얇은 솔리드에 대한 기계적 기능은 다음 5 개의 기본 오퍼레이션으로 분석할 수 있다.
- 외부 형상에 재료를 부가
- 외부 형상으로부터 재료를 제거
- 내부 형상에 재료를 부가
- 내부 형상으로부터 재료를 제거 및
- 다시 채워지지 못하도록 전체 형상으로부터 재료를 제거
시드 구조는, 기본 오퍼레이션이 다음의 순서로 수행된다는 사실을 표시한다.
- 외부 형상에 재료를 부가 및 외부 형상으로부터 재료를 제거함으로써 외부 형상을 정의
- 내부 형상에 재료를 부가 및 내부 형상으로부터 재료를 제거함으로써 내부 형상을 정의
- 외부 형상으로부터 내부 형상을 제거 및
- 다시 채워지지 못하도록 전체 형상으로부터 재료를 제거
이러한 오퍼레이션 순서를 이용하면 항상 동일한 솔리드 결과물을 얻는다.
시드 구조는 다음의 컨텍스트-프리 그래머G 0 = (X, V, P)에서 정의될 수도 있다.
이 컨텍스트-프리 그래머는 도 6 및 도 7 을 참조하여 개시된 그래머의 정교한 버전이다. 전술한 바와 같이, 제 1 터미널 심볼a는 임의의 솔리드를 표시한다. 제 2, 제 3 및 제 4 터미널 심볼 +, -, · 은 각각 합, 공제 및 교차를 의미한다. 제 1 비-터미널 심볼S는 일반적이다. 비-터미널 심볼e +,e -,i +,i -u는 위에 열거한 5 개의 오퍼레이션에서의 컨트리뷰션의 입력을 표시하기 위해 편의상 이용된다. 이들은 "핸들" 로 자격지어진다. 구체적으로, 비-터미널 심볼e +는 외부 형상에 재료를 부가 등에 이용된다. 비-터미널 심볼e +,e -,i +,i -u의 비-기하학적 평가는 공집합이며, 시드 구조의 기하학적 형상도 공집합이다. 이는 바이너리 트리에서 실재 솔리드와의 공존을 허용한다. 즉, 비-터미널 심볼e +,e -,i +,i -u는, 획득된 솔리드에 시드 구조가 아무런 영향을 주지 않고, 시드 구조의 출력에서 제공된 순서화된 시퀀스에 남아있을 수도 있다.
형식적 그래머의 제 1 오퍼레이션은 시드 구조를 제공한다. 일반적 심볼Se + e --i + i -- -u -로 쓰여지는 도 8 의 시드 구조에 의해 대체된다. 시드 구조를 형성하는 트리의 리프는 심볼 "e +", "e -", "i +", "i -" 및 "u" 이다. 이 리프는 전술한 순서대로 5 개의 오퍼레이션에 대응한다. 시드 구조에서, 심볼 "-" 는 공제를 의미한다. 트리 구조를 다음과 같이 설명할 수 있다. 트리의 노드 (80) 에서, 외부 형상으로부터 제거된 재료 (리프e -) 는 외부 형상에 부가된 재료 (리프e -) 로부터 공제된다. 결과는 간단한 표시로e + e -- 로 표시된다. 그래프의 노드 (82) 에서, 내부 형상으로부터 제거된 재료 (리프 i-) 는 내부 형상에 부가된 재료 (리프i +) 로부터 공제된다. 결과는 다시i + i -- 로 표시될 수 있다. 그래프의 노드 (84) 에서, 노드 (82) 의 결과i + i -- 는 노드 (80) 의 결과e + e -- 로부터 공제되고, 간단한 표현으로e + e --i + i -- - 의 결과로 표시된다. 실질적으로 말하면, 이는 얇은 솔리드의 외부 형상으로부터 내부 형상을 공제하는 것과 동등하다. 트리 루트인 그래프의 노드 (86) 에서, 전체 형상으로부터 제거된 재료는 노드 (84) 의 결과로부터 공제된다. 이는e + e --i + i -- -u- 로 표시된다.
오퍼레이션의 제 2 세트는 대체를 포함하며, 이들 각각은 비-터미널 심볼 중의 하나를, 컨트리뷰션 및 대체된 비-터미널 심볼을 포함하는 시퀀스로 대체하는 것이다. 적어도 하나의 대체를 "핸들" 에 적용하는 것은 모델링된 오브젝트를 제공한다.
전술한 바와 같이, 대체는, 대체가 적용된 후에도 대체된 비-터미널 심볼이 여전히 이용가능하다는 점에서, 시드 구조를 보존하는 제 1 특성을 가지므로 추가적인 컨트리뷰션이 적용될 수 있게 한다. 또한, 대체는, 컨트리뷰션이 적용되는 순서에 무관하게, 모델링된 오브젝트 결과물을 변경하지 않는다는 제 2 특성을 갖는다. 예를 들어, 외부 형상에 재료bc를 이 순서로 부가함으로써
e + b + c + e - - i + i - - - u -
를 얻는다. 모델링된 오브젝트는 외부 형상에 재료cb를 이순서대로 부가함으로써 얻어지는
와 동일하다. 따라서, 제 2 오퍼레이션 세트 (대체) 가 상호교환적이라는 사실로 인하여, 기능적 피처는 임의의 순서로 인스턴스화될 수 있다. 결과 솔리드는 기능적 피처가 인스턴스화되는 순서에 독립적이다.
전술한 바와 같이, 도 8 의 예시적인 시드 구조는 숙련된 사용자에 의해 정정될 수 있다. 이하, 정정된 시드 구조의 실시예를 제공한다. 시드 구조를 정정하기 위하여, 다음의 그래머G 1 을 이용할 수 있다.
이 그래머는, 위에 정의된 바와 같이, 실질적으로 그래머G 0 을 "포함" 하며, "메타-그래머" 를 표시한다. 이 메타-그래머는 임의의 시드 구조를 정의하는 것을 가능하게 한다. 그래머G 0 와 달리, 이는 시스템이 선언적으로 유지된다는 것을 보증하지 않는다. 실제로 그래머G 1 은 비-상호교환적 대체를 정의하는 것을 가능하게 한다. 그래머G 1 은 숙련된 사용자에 의해 정정 또는 생성된 시드 구조의 신택스를 체크하는데 이용될 수도 있다. 이는 전술한 시드 구조 (e + e - - i + i - - - u -) 를 다른 시드 구조로 변경할 수 있게 한다. 그래머G 0 (또는 그의 정정된 버전) 는 상호교환적 대체를 이용하며, 전체 시스템이 선언적이고 히스토리-프리라는 것을 보증한다.
도 9 내지 도 18 은 도 8 의 시드 구조 및 다양한 기능적 피처를 이용하여획득된, 모델링된 오브젝트의 실시예를 나타낸다. 실시예에 나타난 제 1 기능적 피처는 기본 얇은 블록이다. 이는 평면 프로파일 및 돌출 길이로 정의된다. 두께는 설계되는 기계적 부품에 부가되는 소정의 값이다. 각각의 기능적 피처는 이를 재정의 (redefine) 하지 않는다. 이러한 컨벤션은 얇은 플라스틱 부품의 설계에 있어서 이점을 지니지만, 이것 없이도 수행될 수 있다. 두께가 주어진 오브젝트에 대해 정의된다면, 기능적 피처는, 프로파일 및 돌출 길이를 제공함으로써 최종-사용자에 의해 수행될 수도 있다.
통상적으로, 이 실시예에서, 저면은 디폴트 개방면 (open face) 이다. 따라서, 얇은 블록은 입력 데이터 (프로파일, 높이 및 두께) 에 의해 용이하게 생성된 2 개의 솔리드 A 및 B 에 의해 정의된다. 돌출된 솔리드 A 는, 리프 e+에 적용된 컨트리뷰션인 외부 형상에 부가된 재료를 표시한다. 돌출된 솔리드 B 는, 리프 i+에 적용된 컨트리뷰션인, 시드 구조의 내부 형상에 부가 및 내부 형상으로부터 제거된 재료를 표시한다. 컨트리뷰션 A 및 B 는, 사용자가 제공하는 정보에 기초하여 최종-사용자 인터페이스 (42) 에 의해 정의된다.
도 9 는 컨트리뷰션 A 및 B 를 나타낸다. 컨트리뷰션 A 는 평면 프로파일에 대응하는 외부 형상 및 돌출 길이에 대응하는 길이 L 을 갖는 솔리드이다. 컨트리뷰션 B 는 평면 프로파일 마이너스 소정의 두께에 대응하는 외부 형상 및 동일한 길이 L 을 갖는 솔리드이다. 전술한 바와 같이, 컨트리뷰션 A 는 오퍼레이션를 이용하여 리프 e+ 에 적용되며, 컨트리뷰션 B 는 오퍼레이션를 이용하여 리프 i+ 에 적용된다. 따라서, 시드 구조에서 시작하여 얇은 블록을 생성하는 것은 도 10 의 트리와 동등한 워드를 산출한다. 히스토리 기반 시스템의 표준 평가기를 통해서, 이 트리는 도 11 의 모델링된 오브젝트를 산출한다. 이 평가 동안에, 평가기에서이다.
이러한 기능적 피처의 제 1 실시예는, 시드 구조의 엔트리에 적용된 컨트리뷰션이 사용자의 다양한 입력에 기초하여 정의된다는 것을 명확히 한다. 최종-사용자는 다양한 컨트리뷰션에 대해 염려할 필요가 없다. 최종-사용자의 유일한 입력은 기능적 피처 및 이러한 기능적 피처의 파라미터에 관한 것이다.
본 실시예에서 이용된 제 2 기능적 피처는, 도 12 에 나타나는 픽스처 피처이다. 이는 공간에서 점, 방향 및 홀 타입에 의해 정의된다. 이러한 다양한 파라미터는, 기능적 피처를 구현할 때 최종-사용자에 의해 입력된다. 주어진 모델링 오브젝트에 대해서 두께가 고정된다고 가정되며, 그렇지 않으면 이는 부가적인 파라미터가 된다. 공간에서 점 및 방향을 정의하기 위해서 종래의 기술, 예를 들어 US-A-2002/0133803 에서 설명된 데이터 평면 등의 방법을 이용할 수도 있다.
픽스처 기능적 피처는, 구멍이 뚫린 (drilled) 원 블록 및 적절한 공간 확보를 부품에 부가하여, 어셈블리를 쉽게 한다. 픽스처는 도 12 에서 C, D, E, F 및 G 로 표시하는 다수의 컨트리뷰션을 산출한다. 컨트리뷰션은, 최종-사용자에 의해 입력된 기능적 피처의 파라미터에 따라 정의된다.
제 1 컨트리뷰션은 외부 형상으로부터 재료를 제거한다. 이 재료는 도 12 에서 C 로 표시되며, 컨트리뷰션은 기능를 이용하여 시드 구조의 리프 e- 에 적용된다. 실질적으로 컨트리뷰션 C 는, 도 12 의 상부에서부터 컨트리뷰션 F 의 상부 디스크까지 연장하여, 외부 형상으로부터 원뿔 영역을 제거한다. 제 2 및 제 3 컨트리뷰션 D 및 E 는 내부 형상으로부터 재료를 제거한다. 이들은, 기능를 이용하여 시드 구조의 리프 i- 에 적용된다. 이 단계에서, 제 2 및 제 3 컨트리뷰션이 적용되는 순서는 모델링된 오브젝트의 결과에 영향을 미치지 않는다. 제 4 컨트리뷰션F는, 기능를 이용하여, 리프e +에서, 외부 형상에 재료를 부가한다. 제 5 컨트리뷰션G는, 기능를 이용하여, 구멍이 뚫린 영역을 영구적으로 제거한다. 정의에 의해, 구멍이 뚫린 영역은 어떠한 경우에도 재료에 의해 채워질 수 없다.u심볼의 역할은 이 특성을 포착하는 것이다.
현행 부품 상에 생성되는 픽스처는 업데이트된 워드를 산출한다. 이 워드는 도 13 에서 표시되는 바이너리 CSG 트리와 동등하다. 대응하는 모델링된 오브젝트가 도 14 에 나타난다. 다양한 컨트리뷰션이 시드 구조의 리프에 적용되는 순서는, 평가된 모델링된 오브젝트에 무관하다. 즉, 다음의 워드는, 히스토리-기반 설계 시스템에서 평가될 때 동일한 모델링된 오브젝트를 제공한다.
기계적 기능과 그에 관련된 기본 솔리드 사이의 링크를 유지하기 위해, 부가적인 데이터 구조가 이용될 수도 있다. 실시예에서, 얇은 솔리드 피처와 컨트리뷰션 A 및 B 사이에는 링크가 있을 수도 있다. 픽스처 피처와 컨트리뷰션C, D, E, FG사이에도 링크가 있을 수도 있다. 이는, 최종-사용자에게, 몇몇의 컨트리뷰션 (예를 들어 컨트리뷰션AB) 이 실질적으로 주어진 기능적 피처의 인스턴스화로부터 유래한다는 사실을 유지할 수 있게 한다. 그 후, 기능적 피처에 대한 정정은 영향을 받은 다양한 컨트리뷰션을 변경시킨다.
또한, 다수의 인스턴스화된 기능적 피처들 (실시예에서는 도 11 의 얇은 솔리드 및 도 12 의 픽스처) 사이에는 종속성이 존재하지 않는다. 시스템의 관점에서, 픽스처는 얇은 솔리드없이 존재할 수 있다. 얇은 솔리드는 삭제될 수 있다. 부품은 여전히 신택스 및 토폴로지의 관점에서 유효하다. 이는 도 15 내지 도 17 에서 예시된다. 도 15 및 도 16 에서, 픽스처는 솔리드의 가운데에서 인스턴스화된다. 도 15 의 사시도는 픽스처를 갖는 얇은 솔리드 결과물의 내부를 나타낸다. 이는 외부 형상에 부가된 컨트리뷰션F및 내부 형상으로부터 제거된 컨트리뷰션D를 나타낸다. 도 15 의 컨트리뷰션DF사이의 라인은 단지 명확히 하기 위해 나타낸 것이며, 평가기에 의해 생성된 모델링된 오브젝트에는 존재하지 않는다. 도 16 은 픽스처를 갖는 얇은 솔리드 결과물의 상부면을 나타낸다. 이는 외부 형상으로부터 제거된 컨트리뷰션C를 나타낸다.도 17 에서, 픽스처는 얇은 솔리드의 외부에 인스턴스화된다. 제거할 재료가 존재하지 않는 위치에 컨트리뷰션C, DE가 적용되기 때문에, 컨트리뷰션C, DE는 어떠한 재료도 제거하지 않는다. 컨트리뷰션F는, 도 6 의 얇은 솔리드A로부터 분리된 디스크의 형태로 외부 형상에 재료를 부가한다. 컨트리뷰션G는 컨트리뷰션F에서 부가된 디스크로부터 재료를 제거하여, 결과 픽스처는 단독의 분리되고 구멍 뚫린 디스크이다. 기술적인 관점에서, 얇은 솔리드의 외부에 재료를 부가하는 것은 부적절한 것일 수도 있다. 신택스 또는 토폴로지의 관점에서, 모델링된 오브젝트 결과물은 정확하다. 이러한 도면의 실시예는, 픽스처가 신택스 에러없이 임의의 위치에서 인스턴스화될 수 있다는 것을 나타낸다. 결과 오브젝트는 코어 시스템에 의해 항상 평가될 수 있다.
또한, 라운드, 필렛 (fillet) 및 드래프트가 기본 솔리드에 부가될 수도 있다. 라운딩된 (또는 드래프팅된 또는 필렛팅된) 기본 솔리드는 기본 솔리드와 유사하게 행동하기 때문에, 이러한 부가가 신택스를 변경하지는 않는다. 이러한 부가적 피처의 파라미터가 기능적 피처 정의에 포함될 수도 있다. 예를 들어, 라운딩되고 드래프팅된 얇은 솔리드는 도 18 에 표시된 부품을 산출한다.
전술한 실시예를 통해 전문 사용자 및 최종 사용자의 역할을 설명한다. 얇은 플라스틱 부품 산업에 관해 잘 아는 전문 사용자는
- 시드 구조
- 기능적 피처
를 설계한다.
전용 "Thin Plastic Part" 워크벤치에서, 최종-사용자에 대해 모든 기능적 피처가 이용가능하다. 최종-사용자는 이 워크벤치를 열고 소정의 선언적 기능적 피처를 독점적으로 이용하여 얇은 부품을 설계할 수 있다.
도 8 내지 도 18 의 실시형태는 단지 2 개의 기능적 피처만을 제공한다. 전문 사용자에 의해 더 많은 기능적 피처가 정의될 수 있다. 예를 들어, 얇은 플라스틱 솔리드에서, 다른 타입의 픽스처를 제공할 수 있다. 기능적 피처는, 기능적 피처를 인스턴스화하기 위해 최종-사용자에게 제공되는 파라미터(들)을 포함한다. 한편, 기능적 피처는 시드 구조에 적용되는 다수의 컨트리뷰션을 포함한다. 각각의 컨트리뷰션은 최종-사용자에 의해 입력되는 파라미터에 따라 정의된다. 전문 사용자는 임의의 수의 기능적 피처를 정의할 수도 있다.
도 8 내지 도 18 을 참조하여 시스템의 오퍼레이션을 설명한다. 전문 사용자는 먼저 시드 구조 및 기능적 피처를 정의한다. 최종-사용자는 기능적 피처 중의 하나 이상을 인스턴스화한다. 이는, 도 8, 도 10 및 도 13 과 같이, 시드 구조에 적용되는 컨트리뷰션을 산출한다. 대체의 재귀로 인하여, 새로운 컨트리뷰션은 항상 부가될 수 있다. 임의의 시간에, 대응하는 워드 (또는 대응하는 트리 구조) 가 히스토리-기반 설계 시스템에서 평가될 수도 있다. 최종-사용자에 대하여, 시스템은 히스토리-기반인 것으로 나타난다. 그러나, 전술한 바와 같이, 피처가 인스턴스화되는 순서에 독립적으로, 임의의 기능적 피처가 정정될 수 있다. 전술한 바와 같이, 이는, 컨트리뷰션이 시드 구조에 적용되는 순서가 모델링된 오브젝트에 무관하도록 시드 구조 및 컨트리뷰션이 형성된다는 사실에 기인한다.
제 2 실시형태가 도 19 및 도 20 을 참조하여 개시된다. 이 실시형태는 부품 및 이 부품에 대한 몰드를 동시에 설계할 수 있게 한다. 도 8 내지 도 18 의 시드 구조 및 컨트리뷰션은 부품에 이용될 수도 있다. 또한, 부가적인 시드 구조가 몰드의 상부 및 하부 매트릭스에 대해 제공된다.
본 실시형태의 컨텍스트-프리 그래머는 도 8 내지 도 18 을 참조하여 설명한 것과 유사하다. 부가적인 터미널 심볼 및 기능이 제공된다.
상부 및 하부 매트릭스에 대한 시작 형상은UL로 정의된다. 이들은 예시된 컨텍스트 프리 그래머에서 비-터미널 심볼이다. 물론 이들은 구체적인 기능적 피처에 의해 정의될 수 있다. 이 형상은, 상부 매트릭스U및 하부 매트릭스L을 갖는 가장 간단한 몰드의 예이다. 이 매트릭스의 형상, 특히 결합면 정의는 최종 사용자의 책임이다.
P 1P 2에서 부가적인 기능은 상부 및 하부 매트릭스에 대한 시드 구조를 제공한다. 이러한 시드 구조는 도 19 및 도 20 에 나타난다. 도 19 의 상부 매트릭스에 대한 시드 구조는 워드로 정의된다.U는 상부 매트릭스에 대한 시작 형상이다. "핸들"e +,e -는 도 8 내지 도 18 의 실시형태에서와 같은 의미를 갖는다. 도 20 의 하부 매트릭스에 대한 시드 구조는 워드에 의해 정의된다.L은 상부 매트릭스에 대한 시작 형상이다. 핸들i +,i -는 전술한 실시형태에서와 동일하다. 인스턴스화된 기능적 피처로부터의 컨트리뷰션이 3 개의 트리에 동시에 적용된다.
구체적으로, 도 9 내지 도 11 을 참조하여 전술한 바와 같이 얇은 솔리드가 정의된다고 가정한다. 외부 형상에 대한 컨트리뷰션A는, 도 10 을 참조하여 전술한 바와 같이 적용된다. 이는 도 19 의 트리에도 적용되어 워드 을 산출한다. 즉, 얇은 부품의 외부 형상이 상부 몰드U로부터 제거된다. 내부 형상에 대한 컨트리뷰션B는, 도 10 을 참조하여 전술한 바와 같이 적용된다. 또한, 이 컨트리뷰션은 도 20 의 트리에 적용되어, 워드를 산출한다. 이는 얇은 솔리드의 내부 형상이 하부 몰드L에 부가된다는 것을 의미한다. 이 단계에서, 단지 상부 및 하부 몰드에 대해 부가 워드 또는 시드 구조를 제공함으로써, 상부 및 하부 몰드가 부품 그 자체로서 동시에 정의된다. 컨트리뷰션은 위에 정의된 바와 동일하다. 그러나, 모델링된 오브젝트, 상부 몰드 및 하부 몰드에 대해서, 시드 구조는 3 개의 분리된 워드를 포함한다.
픽스처를 부가하기 위해 제 2 기능적 피처가 인스턴스화된다고 가정한다. 도 19 의 트리는이 되며, 도 20 의 트리는이 된다. 이 실시예는, 상부 및 하부 몰드 뿐만 아니라 부품을 동시에 설계하기 위해, 시드 구조가 몇몇의 워드를 포함할 수도 있다는 것을 나타낸다.
따라서, 부품에서의 새로운 기능적 피처를 인스턴스화하는 것은 상부 및 하부 매트릭스의 형상을 자동적으로 업데이트한다. 머시닝 피처가 몰드의 바로 외부 부품에 나타나지 않기 때문에,u비-터미널 심볼은 몰드 구조에서 나타나지 않는다.
도 19 및 도 20 의 실시예는, 전문 사용자에게 시드 구조를 정정하게 하는 것은 이 전문 사용자가 자신의 요구에 맞게 설계 시스템을 구성할 수 있게 한다는 것을 나타낸다.
도 21 내지 도 29 는 본 발명의 다른 실시형태의 설계 시스템을 예시한다. 이 실시형태의 시스템은 비-바이너리 트리를 이용한다. 비-바이너리 트리는 더 간단하고 더 짧은 시드 구조를 제공하는 것을 가능하게 한다. 일반적인 비-바이너리 컨텍스트-프리 그래머가 도 21 내지 도 24 를 참조하여 개시된다. 특정 비-바이너리 컨텍스트 프리 그래머를 이용하는 트리 구조의 제 1 실시예가 도 24 내지 도 26 을 참조하여 개시된다. 비-바이너리 트리를 이용하는 제 2 실시예가 도 27 및 도 28을 이용하여 개시된다. 도 29 를 참조하는 설명은, 비-바이너리 트리를 이용하여 도 8 내지 도 18 과 동일한 시드 구조를 개시한다.
다음의 컨텍스트 프리 그래머가 본 실시형태에서 이용된다. 그래머는이며, 이때
이다.
터미널 심볼 a 는 트리의 임의의 노드를 표시한다. 터미널 심볼 δ는, 부모 노드 하에 있는 자식 노드의 수를 카운트하는 신택스 피처이다. 이는 트리를 형성하는데 이용된다. 이러한 앱스트랙션 레벨에서는, 피오퍼레이션자 심볼과 오퍼레이션자 심볼 사이에 아무런 구분이 없다. 이러한 특화 (specialization) 는 그래머를 이용하는 애플리케이션에 의해 수행된다. 이는, 전술한 실시예와 달리, 터미널 심볼의 세트가 어떠한 "오퍼레이션" 도 포함하지 않는다는 것을 설명한다.
비-터미널 심볼S는, 규칙의 세트P에 포함된 규칙을 이용하여, 비-터미널 심볼 및 터미널 심볼의 시퀀스로 대체될 수도 있다. 비-터미널 심볼T는 트리에 브랜치를 부가하기 위해, 또한 터미널 심볼 δ를 이용하여 트리의 브랜치를 카운트하기 위해 이용된다. 즉, 비-터미널 심볼T는 트리의 임의의 장소에서 대체를 허용할 수 있게 한다.
제 1 규칙는 비-터미널 심볼S를 하나의 브랜치를 갖는 트리로대체한다. 제 2 규칙는 하나의 브랜치를 트리의 노드 S 에 부가한다. 제 3 규칙은 비-터미널 심볼을 터미널 심볼로 대체하며, 통상적으로 주어진 값 (터미널 심볼) 이 트리의 노드에 적용될 때 이용된다. 제 4 규칙은 비-터미널 심볼을 1 로 대체하여, 비-터미널 심볼T를 시드 구조로부터 삭제한다. 제 4 규칙은 주어진 노드에 브랜치를 부가할 필요가 없을 때, 특히 트리가 완료되었을 때 이용된다.
명백하게,로 대체하도록 다시 쓰여진다면, 임의의 바이너리 트리는 이 언어와 호환된다. 따라서, 이 그래머는 전술한 그래머를 커버한다.
도 21 은 워드에 의해 코딩된 트리에서 이 그래머의 이용을 예시한다. 이 트리는 다음의 그래머 규칙 시퀀스에 의해 생성된다.
도 22 는, 이 그래머를 이용하여 생성된 워드의 신택스를 체크할 수 있는 오토마톤을 나타낸다. 상태 0 은 초기 상태이며, 상태 1 은 최종 상태이다.
트리와 워드 사이의 동등성은, 오토마톤 트랜지션과 연관시키는 액션에 의하여 설명될 수 있다.H 1 H 2 의 2 개의 힙 (heaps) 이 유용하다. 힙에 대한 표준 오퍼레이션이 이용가능하다 (즉, 팝업 (힙의 상부에 오브젝트를 놓음) 및푸쉬다운 (힙의 상부로부터 오브젝트를 얻음)). transition(p, a, q)와 연관된 액션은 다음과 같다.
transition(q, δ, p)와 연관된 액션은 다음과 같다.
전체 워드가 스캔된 후, 힙H 1 은 루트 노드인 단지 하나의 오브젝트만을 포함해야 하며, 힙H 2 는 비어있어야 한다. 그렇지 않으면, 신택스는 정확하지 않다. 따라서, 도 22 의 오토마톤은 그래머의 임의의 트리의 신택스를 체크하는 것을 가능하게 한다. 따라서, 그러한 오토마톤의 이용은, 편집기에서, 전문 사용자에 의해 입력된 시드 구조의 신택스를 체크하는 것을 가능하게 한다.
종전의 그래머는 다음의 이유로 인하여 메타-언어를 정의한다. 임의의 (컨텍스트 프리) 그래머는, 소위 유도 트리 (derivation tree) 에서의 비-터미널 심볼, 터미널 심볼 및 규칙을 포착하는 그래프에 의해 설명될 수 있다. 종전의 그래머는 임의의 트리를 설명하도록 설계되기 때문에, 그 자신을 설명할 수도 있다. 트리 그래머의 유도 트리가 도 23 에 표시된다. 따라서, 임의의 트리는 이러한 컨텍스트-프리 그래머에서 설명될 수 있다. 편집기는, 일부의 터미널 심볼을 특정적으로 설계하여 이러한 메타-언어 또는 더 제한된 버전의 언어를 이용할 수도 있다. 일반적인 메타-언어를 이용하면 설계 시스템의 적용 가능 분야를 증가시키지만, 전문 사용자가 수행해야 할 일도 증가한다. 한편, 더 특정적으로 심볼 또는 오퍼레이션을 정의하는 것은 전문 사용자가 시드 구조를 쓰거나 정정하는 것을 돕는다.
또한, 도 21 내지 도 23 을 참조하여 설명한 그래머는, 그래프가 루프 또는 주기를 갖지 않는다면, 임의 방향의 비주기적 그래프를 커버할 수 있게 한다. 이러한 확장은 언어로 하여금 공유된 데이터, 공유된 입력 또는 부품 구조의 데이터 흐름의 결과를 핸들할 수 있게 한다. 따라서, 설계 시스템에서 데이터는 공유될 수 있다.
도 24 는 방향을 지닌 비주기적 그래프이며, 모델링된 오브젝트의 산출물 또는 구조를 표시한다. 이 그래프는 공유된 노드를 필요한 회수만큼 복제함으로써 트리로 변경될 수 있다. 결과 트리가 도 25 에 표시된다.
공유는 심볼 반복을 통해서 포착된다. 초기 그래프가 2 개의 루트 노드 i 및 j 를 특징으로 하기 때문에, 공유 노드를 복제하는 것은 각각로 코딩된 2 개의 트리를 산출한다. 비주기적 그래프를 1 세트의 트리로 분해하는 것은 유일하지 않다. 예를 들어, 종전의 그래프는 도 26 의 트리 및 다음의 워드를 산출할 수 있다.
동일 레벨의 정보가 포착되기 때문에, 트리 분해의 이러한 비-유일성은 문제점은 아니다. 향상되거나 최상의 분해에 대한 기준은 애플리케이션의 책임이다.
도 19 및 도 20 을 참조하여 이미 예시한 바와 같이, 시드 구조 및 결과 워드는 유일할 필요가 없다는 사실을, 도 24 내지 도 26 의 실시예로부터 이해할 수 있다.
도 27 및 도 28 은 도 21 내지 도 23 중의 하나로부터 유도된 그래머에서 정의된 비-바이너리 트리를 이용하는 트리 구조를 개시한다. 트리는 부품의 복잡한 어셈블리를 설계하는데 이용되며, 메인 프로덕트를 컴포넌트로 상부 하부 재귀적 분해하는 것을 포착한다. "포함한다" 는 의미 링크 (semantic link) 가 시스템에 의해 포착된다. 프로덕트 구조 그래머는, 메인 프로덕트에 부가되는 임의의 장치가 관련된 서브 프로덕트를 자동적으로 업데이트하는 방식으로 전문 사용자가 소정의 뼈대 구조를 설계하는 것을 허용한다. 프로덕트 구조 컨텍스트에는 순서 종속성이 없다. 부가된 값은, 새로운 장치를 부가하는 것을 용이하게 하기 위한 구조 정의이다.
워드는 도 27 에 표시된 간단한 트리 구조를 포착한다. 구조는 타입ST의 비-터미널 심볼을 갖는다. 단지 이해만을 위한 인덱스를 갖는다. 이 트리에서,d는 부품 또는 서브-프로덕트a, bc의 어셈블리이다.f는 서브-프로덕트c의 컴포넌트이다. 비-바이너리 그래머는 다음의 오퍼레이션
으로 인하여, 서브-프로덕트a에 컴포넌트e를, 서브-프로덕트c에 컴포넌트gh를 부가하는 것을 가능하게 한다.
타입T심볼은대체를 허용하며, 이때x는 터미널 심볼이다. 이는 다음의 워드및 도 28 의 트리를 산출한다. 종전과 같이, 비-터미널 심볼S 1 S 2 는 추가적인 대체에 이용가능하도록 유지된다.
따라서, 비-바이너리 트리의 이용은, 부가되는 컴포넌트 개수에 대한 제한없이, 주어진 레벨에서 컴포넌트 또는 컨트리뷰션을 부가하는 것을 용이하게 한다.
도 8 내지 도 18 에서와 같이, 비-바이너리 트리는 얇은 솔리드를 향하는 시드 구조에 이용될 수도 있다. 형식적 그래머는 다음과 같다.
도 8 내지 도 18 을 참조하여 설명한 그래머에 비하여, 이 그래머는 부가적인 터미널 심볼 δ를 포함한다. 전술한 바와 같이, 이는 주어진 노드로부터 이슈된 브랜치의 수를 카운트하는데 이용된다. 설명을 명확히 하기 위해, 비-터미널 심볼T를 이용하지 않았다.
오퍼레이션의 집합P에서의 제 1 오퍼레이션은 시드 구조를 제공한다. 워드는이며, 대응하는 트리는 도 8 의 경우와 유사하며 도 29 에 표시된다. 한번 더, 메타-그래머를 이용하여 이러한 시드 구조가 형성된다. 그러나, 대체로 인하여 트리에 브랜치를 부가하는 능력이 제공된다. 대체는 타입의 오퍼레이션이며, 이때z는 비-터미널 심볼및 u 중의 임의의 것을 의미한다. 따라서, 대체는z를 포함하는 리스트에 새로운 피오퍼레이션자를 부가한다. 즉, 대체는z에 브러더 (brother) 를 부가한다. 이는 트리의 깊이가 제한된다는 점에서, 도 8 내지 도 18 의 실시형태에 비교하여 트리를 단순화한다.
컨트리뷰션은 전술한 바와 같이 정의될 수 있다. 위와 같이 얇은 솔리드 및 픽스처의 컨트리뷰션을 인스턴스화하는 것은 도 30 의 트리 또는 다음의 워드
를 제공한다.
히스토리 기반 설계 시스템에서 이 워드의 평가가 도 14 의 모델링된 오브젝트를 제공한다는 것은 명백하다. 그러나, 도 30 의 트리는 4 의 깊이를 가지며, 도 13 의 트리는 5 의 깊이를 갖는다. 도 8 의 시드 구조의 부가적인 컨트리뷰션은 트리의 깊이를 더 증가시키는 반면, 본 실시형태의 시드 구조에 대한 부가적인 컨트리뷰션은 도 30 의 트리의 깊이를 증가시키지 않는다.
따라서, 시드 구조를 정의하기 위한 비-바이너리 컨텍스트-프리 그래머의 이용은 전문 사용자에게 유용한 가능성을 확장한다.
이하, 도 31 내지 도 34 를 참조하여 본 발명의 제 3 실시형태를 설명한다. 제 3 실시형태는, 모델링된 오브젝트의 컴포넌트를 변경한 후에, 모델링된 오브젝트의 평가 속도를 증가시키는 것을 가능하게 한다. 이러한 목적으로, 중간 솔리드 (intermediate solids) 는 가능한 한 변경의 경우의 재평가를 피하도록 유지된다.
컴포넌트를 변경하는 것에 대한 문제점은 도 31 을 참조하여 예시된다. 이는 도 13 의 경우와 유사하지만 "핸들" 이 없는 트리 구조를 보여준다. 이 트리의 리프L이 수정된다고 가정한다. 중간 솔리드가 유지되면, 반복된 오퍼레이션은 루트 솔리드에서 수정된 리프 솔리드까지의 경로에 대한 것이다. 도 31 의 실시예에서, 유일한 반복은 리프L로부터 트리의 루트까지의 경로에 대한 것이며, 이는 도 31 에 표시된 4 개의 오퍼레이션이다. 솔리드의 새로운 형태를 얻기 위해, 단지 4 개의 오퍼레이션만이 재계산될 필요가 있다.
이러한 이점을 보존하기 위해, 존재하는 중간 솔리드가 가능한 한 변화하지 않게 유지시키는 방식으로, 대체는 구조를 증가시켜야 한다. 새로운 솔리드가 기존의 솔리드의 상부에 나타나기 때문에, 이는 바이너리 트리 그래머 및 도 8 의시드 구조에는 해당되지 않는다. 이는 무용한 B-rep 오퍼레이션을 초래할 수 있다.
제 3 실시형태에서 그래머 및 시드 구조의 목표는 새로운 솔리드를 구조에서 가장 가능한 곳에 위치시키는 것이다. 그래머는 다음과 같다.
이 그래머에서, 심볼x는 공집합으로 평가하는 더미 (dummy) 솔리드를 의미한다. 시드 구조는 제 1 오퍼레이션에 의해 제공되며, 다른 오퍼레이션에는 대체가 제공된다. 전술한 이유로, 대체는 명백히 상호교환적이다.
시드 구조는 워드
이며, 도 32 의 트리로 표시된다. 질적인 관점에서, 도 8 의 각각의 "핸들" 은 터미널 심볼x및 대응하는 핸들로 형성된 2 리프 트리로 대체된다.
그래머에서 표현되는 바와 같이, 대체 규칙은로 표현되며, 이때z는 비-터미널 심볼e +,e -,i +,i -u중의 임의의 것을 의미하며,a는 임의의 기본 솔리드를 의미한다.
이 시드 구조의 오퍼레이션은 도 11 및 도 12 의 동일한 얇은 솔리드 및 픽스처를 이용하여 예시된다. 얇은 솔리드 기능적 피처는 다음의 대체
에 의해 포착되며, 이는 도 33 에 표시된 트리 또는 다음의 워드
를 산출한다.
픽스처 기능적 피처는 다음의 대체
에 의해 포착된다.
이러한 대체는 도 34 에 표시된 트리 및 다음의 워드
를 제공한다.
그래머로 인해 예상된 바와 같이, 기존의 솔리드에 이어 새로운 기본 솔리드가 트리에서 나타난다. 따라서, 새로운 솔리드가 부가된 후에도 중간 결과는 유지되며 재사용될 수 있다. 예를 들어,FA에 후행하며,ED에 후행한다.
이 실시형태에서는, 도 8 내지 도 18 을 참조하여 개시된 경우로부터 유도된 바이너리 트리 및 그래머를 이용한다. 또한, 제 3 실시형태에서 설명된 장점은 비-바이너리 트리에도 적용된다. 또한, 얇은 솔리드 이외의 모델링된 오브젝트에 대해서, 동일한 해결책을 다른 시드 구조에 적용할 수도 있다.
본 발명은 상세한 설명에서 예시된 실시예에 한정되지 아니한다. 실시예에서 설명한 것과 상이한 히스토리-기반 설계 시스템을 이용할 수 도 있다. 각각의 실시형태를 참조하여 설명된 다양한 해결책은 다른 실시형태에 적용될 수도 있다. 이는 전문 사용자의 기능에 대한 설명, 및 도 8 내지 도 18 의 제 1 실시형태를 참조하여 주어진 시스템의 오퍼레이션에 대한 설명에도 적용된다. 또한, 이들은 다른 실시형태에도 적용할 수 있다.
위에 주어진 실시예는 몰딩된 얇은 솔리드에 관한 것이다. 부가적 또는 대체적인 오퍼레이션 및 컨트리뷰션은 다른 타입의 모델링된 오브젝트에 대해서도 이용될 수 있다. 예를 들어, 부품의 어셈블리에 대해, 부품이 병치되도록 부가적으로 허용할 수 있다. 이는 부가적인 비-터미널 심볼을 단순히 표현한다. 표면 외부의 모델링된 오브젝트 (예를 들어 타출 (stamp) 된 금속 자동차 부품) 를 설계하는데 있어서, 터미널 심볼 커브 및 표면을 이용할 수 있다. 그 후, 오퍼레이션은 기존의 모델링된 오브젝트의 부품을 타출하기 위한 재경계, 또는 커브나 표면을 컷팅하기 위한 컷을 포함한다.
위에서 제공된 실시예에서, 비-터미널 심볼은 초기 시드 구조에서 모두 이용된다. 대체 규칙의 시퀀스는, 초기 시드 구조에는 없었던 새로운 비-터미널 심볼을 도입할 수도 있다. 이 능력은 시드 구조가 더 복잡해지는 것을 허용한다. 동적 비-터미널 심볼은 추가적인 대체 규칙에서 재사용될 수 있다. 예를 들어, 몇몇의 설계 스텝 후에, 필요한 것은 제 1 공제 오퍼레이션 후에 솔리드 부품에 재료를 부가하는 것이다. 도 30 의 트리 구조는 이 오퍼레이션을 지원할 수 없으며, 재료의 부가를 허용하기 위해서 도 35 의 구조로 변경되어야 한다. 도 35 의 트리는, 솔리드 컨트리뷰션을 포착할 준비가 되어 있는 새로운 비-터미널 심볼f를 특징짓는다. 대체 규칙의 시퀀스는 다음의 표현
으로 시작하며, 이는 도 30 의 트리를 표시한다. 이 표현에서, 제 1 공제 오퍼레이션 심볼은, 신택스를 절약하고 노드 삽입을 준비하는 비-터미널 심볼에 의해서 대체된다. 이는 다음의 표현
을 제공한다.
예상한 바와 같이, 시드 구조 편집은 메타-그래머와 관련된다.
그 후, 다음의 대체가 수행된다.
그리고 결과 표현은 도 35 의 기대 트리 (expected tree) 에 대응한다.
이러한 실시예는, 동일한 메타-그래머를 이용하여, 더 복잡한 시드 구조를 생성하기 위하여 시드 구조를 정정하는 것이 가능함을 나타낸다.
또한, 논리적 변수의 값에 따라, 기능적 피처에 부가하여, 대체 규칙을 수행하거나 수행하지 않는 것이 가능하다. 통상 "활성 (activity)" 이라 불리는 이 변수는 기능적 피처 정의에 임베딩될 수 있으며, 최종-사용자는 이 값 ("참" 또는 "거짓") 을 임의의 규칙 또는 프로그램을 이용하여 정의한다. 이는, 코어 시스템의 평가기에 의해 고려됨이 없이, 모델링된 오브젝트에서 기능적 피처를 유지하는 것을 가능하게 한다. 기능적 피처는 비활성화되며, 필요하면 활성화될 수 있다. 또한, 논리적 변수를 이용하는 것은 모델링된 오브젝트의 부가적인 뷰를 제공하는 것을 가능하게 한다. 예를 들어, 임의의 머시닝 스텝 전에 모델링된 오브젝트의 뷰를 제공하기를 원할 수도 있다. 그러면, 모델링된 오브젝트를 평가하기 전에 핸들 u 에 적용된 컨트리뷰션을 비활성화한다. 이 실시예는 전체 기능적 피처 뿐만 아니라 기능적 피처의 컨트리뷰션도 비활성화할 수 있음을 나타낸다.
마지막으로, 대체된 비-터미널 심볼이 타겟 구조에 없다면, 대체 규칙은 수행될 필요가 없다. 이는 대체 규칙의 표준 행동이며 에러 메시지를 내지는 않을 것이다. 예를 들어, 상부 및 하부 몰드의 실시예에서, 도 19 및 도 20 의 시드 구조는 핸들u를 포함하지 않는다. 이는 시스템이, 컨트리뷰션G를 고려함이 없이, 픽스처 기능적 피처를 상부 및 하부 몰드에 적용하는 것을 방지하지 않는다.
컴퓨터 시스템에서의 본 발명의 구현은 상세히 설명하지 않았다. 히스토리-기반 설계 시스템 (40) 의 구현은 당업자에게 잘 알려져 있다. 도 5 의 부가적인 피처는, 기존의 프로그래밍 언어 (C++, Java, Fortran 등) 및 임의의 CAD 시스템에서 통상적으로 이용가능한 프로그램의 라이브러리와 같은 도구를 이용하여, 동일한 또는 다른 컴퓨터 시스템에서 구현될 수도 있다. 그러한 라이브러리에서 프로그램은
- 오브젝트 생성
- 오브젝트 쓰기
- 모델링된 오브젝트 읽기 등
을 가능하게 한다.
따라서, 도 5 에 표시된 바와 같이, 임의의 기존 CAD 시스템에 본 발명을 구현할 수도 있으며, 이때 CAD 시스템은 도 5 의 코어 시스템 (40) 으로 이용된다.
또한, 대부분의 기존 CAD 시스템이, 본 발명의 부가적인 엘리먼트가 프로그래밍될 수도 있는 프로그램화 플랫폼을 제공하기 때문에 이는 더욱 용이하다.
본 발명은 CAD 시스템의 바람직한 실시형태를 참조하여 설명되었지만, 컴퓨터-에이디드 제조 (CAM) 시스템 및 컴퓨터-에이디드 엔지니어링 (CAE) 에도 적용될 수 있다. 프로덕트 데이터 관리 (PDM) 시스템, 가상 프로덕트 모델링 (VPM) 또는 프로덕트 주기 관리 (PLM) 시스템 등의 다른 시스템에 대해서, 그리고 기업 자원 계획 (ERP) 시스템에 대해서도 유사한 그래머 및 메타-그래머를 이용할 수도 있다. 그러한 시스템은 (일반적인 의미이서) 프로덕트에 대해 수행될 태스크를조직화한다. 통상적으로 프로세스 모델러에 의존하는 그러한 시스템에서, 쿼리 및 태스크는 순서에 민감하다. 다음의 표는 설명된 CAD 시스템과 PDM 시스템 사이의 가능한 관련의 예를 나타낸다.
- 히스토리-기반 설계 시스템 순서 기반 쿼리 시스템
- 기능적 피처 파라미터 태스크
- 피처 파라미터 태스크 파라미터
- 부품 태스크
- 프리미티브 엘리먼터리 액션
- 오퍼레이션 오퍼레이션
PDM 시스템의 태스크는 엘리먼터리 액션 및 오퍼레이션의 순서화된 시퀀스이며, CAD 시스템의 부품에 대응한다. 또한, 표는 CAD 시스템에 관하여 전술한 해결책이 PDM 시스템에도 적용되며 유사한 이점을 제공한다는 것을 나타낸다.
이용하기에 더 간단하면서도 히스토리-의존 시스템의 이점을 제공하는 CAD 시스템을 제공한다.
시스템은 사용자의 요구 및 이용되는 기술 분야를 쉽게 충족시킨다.
최종-사용자의 관점에서, 시스템 (42) 는 오브젝트를 쉽게 모델링할 수 있다는 이점을 지닌다. 첫째로, 기술 분야에 적합하며 오브젝트 모델링을 용이하게 하는 기능적 피처를 제공한다. 둘째로, 기능적 피처가 인스턴스화되는 순서는 모델링된 오브젝트 결과와 무관하지 않다.
시스템 (42) 은, 시드 구조를 편집함으로써 기술 분야에 쉽게 적응할 수 있다는 다른 이점을 갖는다. 이는 다양한 기술 분야에 대해 동일한 시스템을 이용할 수 있게 하는 한편, 숙련된 사용자가 시스템을 커스터마이즈하도록 허용한다.
시드 구조를 정의하기 위한 비-바이너리 컨텍스트-프리 그래머의 이용은 전문 사용자에게 유용한 가능성을 확장한다.

Claims (13)

  1. 부품 또는 부품의 어셈블리를 설계하기 위한 시스템으로서,
    (a) 프리미티브 및 오퍼레이션을 지니는 저장 포맷을 갖는 상기 히스토리-기반 설계 시스템으로서, 부품 또는 부품의 어셈블리는 히스토리 기반 설계 시스템에서 오퍼레이션 및 프리미티브의 순서화된 시퀀스에 의해 정의되는 시스템;
    (b) 적어도 2 개의 기능적 피처로서, 각각이 스페시피케이션의 세트를 제공함으로써 최종 사용자에 의해 인스턴스화되도록 구성되며, 인스턴스화된 기능적 피처는 적어도 컨트리뷰션을 제공하며, 컨트리뷰션은 상기 히스토리-기반 설계 시스템의 오퍼레이션 및 프리미티브의 순서화된 시퀀스인 기능적 피처;
    (c) 컨텍스트-프리 그래머를 이용하여 정의된 시드 구조로서, 상기 시드 구조는 인스턴스화된 기능적 피처로부터 컨트리뷰션을 수용하고, 수용된 컨트리뷰션의 오퍼레이션 및 프리미티브를 순서화하고, 그리고 상기 히스토리 기반 시스템에 오퍼레이션 및 프리미티브의 순서화된 시퀀스를 제공하도록 구성된 시드 구조; 및
    (d) 상기 그래머로 상기 시드 구조를 편집하기 위한 편집기를 포함하는 설계 시스템.
  2. 제 1 항에 있어서,
    상기 오퍼레이션은 상호교환적 오퍼레이션 및 비상호교환적 오퍼레이션을 포함하며,
    상기 시드 구조는 컨트리뷰션을 수용하도록 구성된 입력을 가지며,
    상기 시드 구조는 각각의 입력에서 수용된 컨트리뷰션에 상호교환적 오퍼레이션을 적용하고 상기 컨트리뷰션에 적용된 상기 상호교환적 오퍼레이션의 결과에 상호교환적 또는 비상호교환적 오퍼레이션을 적용하도록 구성된 설계 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 시드 구조는 컨텍스트-프리 그래머에서 비주기적 오리엔티드 그래프 (acyclic oriented graph) 로서 표시되는 설계 시스템.
  4. 제 3 항에 있어서,
    상기 시드 구조는 바이너리 트리인 설계 시스템.
  5. 제 3 항에 있어서,
    상기 시드 구조는 비-바이너리 트리인 설계 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 컨텍스트 프리 그래머의 터미널 알파벳은 적어도 솔리드, 결합 (union), 교차 (intersection) 및 공제 (subtraction) 을 포함하는 설계 시스템.
  7. 제 6 항에 있어서,
    상기 터미널 알파벳은 병치 (juxtaposition) 를 더 포함하는 설계 시스템.
  8. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 컨텍스트 프리 그래머의 상기 터미널 알파벳은 적어도 커브, 적어도 표면 및 재경계 (relimitation) 를 포함하는 설계 시스템.
  9. 부품 또는 부품의 어셈블리를 설계하기 위한 히스토리-프리 시스템을 제공하는 프로세스로서,
    (a) 프리미티브 및 오퍼레이션을 갖는 저장 포맷을 갖는 히스토리-기반 설계 시스템을 제공하되, 부품 또는 부품의 어셈블리는 오퍼레이션 및 프리미티브의 순서화된 시퀀스에 의해 상기 히스토리 기반 설계 시스템에서 정의되는 단계;
    (b) 적어도 2 개의 기능적 피처를 제공하되, 그 각각은 스페시피케이션의 세트를 제공함으로써 최종 사용자에 의해 인스턴스화되도록 구성되며, 인스턴스화된 기능적 피처는 적어도 컨트리뷰션을 제공하며, 컨트리뷰션은 히스토리-기반 설계 시스템의 오퍼레이션 및 프리미티브의 순서화된 시퀀스인 단계;
    (c) 시드 구조를 정의하기 위해 컨텍스트-프리 그래머를 이용하되, 상기 시드 구조는 인스턴스화된 기능적 피처로부터 컨트리뷰션을 수용, 수용된 컨트리뷰션의 오퍼레이션 및 프리미티브를 순서화, 및 상기 히스토리 기반 시스템에 오퍼레이션 및 프리미티브의 순서화된 시퀀스를 제공하는 단계를 포함하는 프로세스.
  10. 제 9 항에 있어서,
    상기 오퍼레이션은 상호교환적 오퍼레이션 및 비상호교환적 오퍼레이션을 포함하며,
    상기 이용 단계 ((c) 단계) 는,
    컨트리뷰션을 수용하기에 구성된 입력을 가지는 시드 구조, 및 각각의 입력에서 수용된 컨트리뷰션에 상호교환적 오퍼레이션을 적용하고 상기 컨트리뷰션에 적용된 상기 상호교환적 오퍼레이션의 결과에 상호교환적 또는 비상호교환적 오퍼레이션을 적용하도록 구성된 상기 시드 구조를 제공하는 단계를 포함하는 프로세스.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 이용 단계 ((c) 단계) 는,
    상기 시드 구조를 비주기적 오리엔티드 그래프로 정의하는 단계를 포함하는 프로세스.
  12. 제 11 항에 있어서,
    상기 이용 단계 ((c) 단계) 는,
    상기 시드 구조를 바이너리 트리로 정의하는 단계를 포함하는 프로세스.
  13. 제 11 항에 있어서,
    상기 이용 단계 ((c) 단계) 는,
    상기 시드 구조를 비-바이너리 트리로 정의하는 단계를 포함하는 프로세스.
KR1020040057833A 2003-07-25 2004-07-23 컨텍스트-프리 그래머를 이용한 부품 설계 시스템 KR100669059B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03291846.8 2003-07-25
EP03291846A EP1501026A1 (en) 2003-07-25 2003-07-25 CAD system using a context-free grammar

Publications (2)

Publication Number Publication Date
KR20050012685A true KR20050012685A (ko) 2005-02-02
KR100669059B1 KR100669059B1 (ko) 2007-01-15

Family

ID=33484059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040057833A KR100669059B1 (ko) 2003-07-25 2004-07-23 컨텍스트-프리 그래머를 이용한 부품 설계 시스템

Country Status (5)

Country Link
US (1) US7495662B2 (ko)
EP (1) EP1501026A1 (ko)
JP (2) JP4477443B2 (ko)
KR (1) KR100669059B1 (ko)
CA (1) CA2475660C (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110048011A (ko) * 2009-10-30 2011-05-09 다솔 시스템므 컨텍스트-프리 그래머를 이용한 부품 설계
KR102573282B1 (ko) * 2023-04-27 2023-09-01 주식회사 피앤피어드바이저리 캐드 데이터를 이용하여 인터페이스 매트릭스를 생성하고, 생성된 인터페이스 매트릭스를 이용해 제품을 설계하기 위한 방법 및 장치

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1672548A1 (en) * 2004-12-20 2006-06-21 Dassault Systèmes Process and system for rendering an object in a view using a product lifecycle management database
US7885722B2 (en) * 2006-03-23 2011-02-08 Autoform Engineering Gmbh Method planning for manufacturing sheet-metal forming parts
WO2007127432A2 (en) * 2006-04-27 2007-11-08 Carnegie Mellon University Method and apparatus for quantifying aesthetic preferences in product design using production rules
US7643027B2 (en) * 2007-01-18 2010-01-05 Dassault Systemes Solidworks Corporation Implicit feature recognition for a solid modeling system
US7933756B2 (en) * 2007-03-07 2011-04-26 Riwebb Incorporated Multi-representational model having two or more models of a mechanical object
US8704827B2 (en) * 2007-12-21 2014-04-22 Mako Surgical Corp. Cumulative buffering for surface imaging
US10372833B2 (en) * 2008-04-14 2019-08-06 The Boeing Company Part standard geometry management in a computer aided design system
TWI468960B (zh) * 2008-04-18 2015-01-11 Hon Hai Prec Ind Co Ltd 零件動態生成系統及方法
US8244508B1 (en) * 2008-09-26 2012-08-14 SpaceClaim Corporation Method for modifying a piece of 3D geometry
US8301419B1 (en) * 2009-10-09 2012-10-30 The Boeing Company Managing information for generating models of parts
US8704824B2 (en) * 2010-09-29 2014-04-22 Siemens Product Lifecycle Management Software Inc. Integrated history-free and history-based modeling
US8890867B2 (en) 2010-10-28 2014-11-18 Parametric Technology Corporation Methods and systems for dynamically loading portions of a computer-aided design model on demand
US8892404B2 (en) 2010-10-28 2014-11-18 Parametric Technology Corporation Methods and systems for consistent concurrent operation of a plurality of computer-aided design applications
US20120110595A1 (en) * 2010-10-28 2012-05-03 Michael Reitman Methods and systems for managing concurrent design of computer-aided design objects
US8818769B2 (en) 2010-10-28 2014-08-26 Parametric Technology Corporation Methods and systems for managing synchronization of a plurality of information items of a computer-aided design data model
EP2474930B1 (en) 2010-12-30 2018-10-24 Dassault Systèmes Updating a modeled object
EP2474928A1 (en) 2010-12-30 2012-07-11 Dassault Systèmes Merging of modeled objects
EP2474929A1 (en) 2010-12-30 2012-07-11 Dassault Systèmes Modeled object updating
US9697326B1 (en) * 2012-02-27 2017-07-04 Kelly Eric Bowman Topology graph optimization
EP2849099B1 (en) * 2013-09-11 2021-07-28 Dassault Systèmes A computer-implemented method for designing an industrial product modeled with a binary tree.
US11507052B2 (en) * 2018-09-24 2022-11-22 The Boeing Company System and method of voxel based parametric specification for manufacturing a part
EP3675061A1 (en) 2018-12-29 2020-07-01 Dassault Systèmes Forming a dataset for inference of editable feature trees
EP3674932A1 (en) 2018-12-30 2020-07-01 Dassault Systèmes Modeling using a weak type definition
EP3674931A1 (en) * 2018-12-30 2020-07-01 Dassault Systèmes Flexible modeling using a weak type definition

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19612016A1 (de) * 1996-03-15 1997-09-18 Daimler Benz Ag Verfahren zur rechnergestützten Geometriemodellierung
US6629065B1 (en) * 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
US7313504B2 (en) * 2001-10-15 2007-12-25 Solidworks Corporation Model management technology using grouping of features

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110048011A (ko) * 2009-10-30 2011-05-09 다솔 시스템므 컨텍스트-프리 그래머를 이용한 부품 설계
KR102573282B1 (ko) * 2023-04-27 2023-09-01 주식회사 피앤피어드바이저리 캐드 데이터를 이용하여 인터페이스 매트릭스를 생성하고, 생성된 인터페이스 매트릭스를 이용해 제품을 설계하기 위한 방법 및 장치

Also Published As

Publication number Publication date
CA2475660A1 (en) 2005-01-25
JP2005044365A (ja) 2005-02-17
JP4477443B2 (ja) 2010-06-09
KR100669059B1 (ko) 2007-01-15
US20050038642A1 (en) 2005-02-17
EP1501026A1 (en) 2005-01-26
CA2475660C (en) 2012-03-13
US7495662B2 (en) 2009-02-24
JP2009211724A (ja) 2009-09-17

Similar Documents

Publication Publication Date Title
KR100669059B1 (ko) 컨텍스트-프리 그래머를 이용한 부품 설계 시스템
US7313504B2 (en) Model management technology using grouping of features
Ma et al. Associative feature modeling for concurrent engineering integration
US8305376B2 (en) Locally updating a three-dimensional model
JP5646954B2 (ja) 文脈自由文法を使用するパーツ設計
US8150673B1 (en) Partitioning a model in modeling environments
US8584084B2 (en) System for library content creation
JP6985131B2 (ja) 2軸3Dプリンティングプロセスの結果のB−Rep
US20030060913A1 (en) Method and system for designing and modeling a product in a knowledge based engineering environment
US8726232B1 (en) Identification of patterns in modeling environments
EP2474930B1 (en) Updating a modeled object
WO2005098687A1 (en) Knowledge management system with interactive rule changes for computer-aided design modelling
KR20160024824A (ko) 순차적 업데이트를 위한 기준
JP5623796B2 (ja) オブジェクトのコンピュータ支援設計のシステム内でオブジェクトの間の関係のステータスを更新するプロセス
US8200457B2 (en) Customizing of computer aided design models
JPH10134209A (ja) ソリッドモデルに融合または面取り表面を組み込む方法
Cardot et al. Persistent naming based on graph transformation rules to reevaluate parametric specification
Venkataraman et al. An investigation of integrating design by features and feature recognition
CN111339640A (zh) 一种基于Revit插件Dynamo的建筑物车位编号自动创建方法
van Rossen et al. Real-time constructive solid geometry
Esser et al. Applying an object-oriented petri net language to heterogeneous systems design
CN118313066B (zh) 一种车体目标件与零件自动化桥接方法及系统
Carter Multi-path planning for hydraulic fluid routing
Avallone et al. Parametric Design Methods for car body design
CN112270074A (zh) 产品样机模型构建方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161230

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 13