2011년 9월 8일 목요일

CATIA V5 GSD Geometrical Set 관리1

Surface 모델링을 하던 Solid 모델링을 하던간에
여러분이 Explicit 모드로 작업을 할 경우 요소간의 상관관계가 전혀 없기 때문에 불필요한 DATA를 지워버리면 되지만 파라메트릭 및 Relation 모델링을 하는 경우 ( 현재 CATIA V5 Part Design 이나 GSD로 작업하면 이렇게 되죠)   이는 CATIA 뿐만의 문제는 아니고 해당기능을 제공하는 모든 CAD의 경우 마찬가지 문제에 봉착하게 됩니다.

특히 CATIA GSD를 사용하다 보면 element의 관리를 원활하게 할 수 없을 까 고민할 수 밖에 없게 됩니다.
따라서  내가 만들고 사용하고자 하는 기능을 그룹화시켜 볼수 있게 하거나 보지 못하게 하여 작업성의 능력과 인식성을 향상시키고자 노력하게 됩니다.

보통의 CAD 시스템은 대부분 Layer란 개념을 지원합니다.

 일종의 공간상의 층을 나누어놓고. 그 층별로 시인성과 작업성의 향상을 위하여  요소들을 분리해서 나누어 놓습니다.
마치 전기 회로도를 각기 다른 투명한 용지에 그려놓고 내가 필요한 내용만을 필터링해서 보고자 하는 기능과 도 같죠.
 3차원세계에서사는 우리는 2차원상에 있는 그림을 몇개의 층으로 쉽게 나누어 볼수있는 현실이 가능하지만  3차원상에 있는 놈을 LAYER를 나눈다면 이건 우리들의 상상에 맞길수 밖에 없겠죠.

예를 들어보죠.

똑같이 생긴 호텔방이 3개 있습니다. 1개의 방에는 침대만 있고 1개의 방에는 책상만
한개의 방에는 냉장고만 있습니다.   그런데 어느날 시공간에 왜곡현상이 생겨 3개의 방이 같은 공간에 합쳐져 버렸습니다. 합쳐진 공간에는 침대랑 책상이랑 냉장고가 들어있습니다.

또 다시 차원의 공간이 일그러져  2번째 방이 사라졌습니다. 그러자  침대와 냉장고만 남았습니다.   SF소설같은 이야기 인데요.    우리의 머리속의 상상속이나  CAD공간과 같이 가상공간에서는 얼마든지 가능한 얘기가 되지요.


CATIA도 물론 Layer란 개념을 지원합니다.  단지 Set 이라고 하는 기능이 너무 파워풀해서 Layer를 사용하는 사람이 거의 없을 뿐이지만. 하지만 다른 CAD와 DATA변환을 위해서 필요하다면 사용할 필요도 있겠죠.

그럼 그 Set이란 기능을 살펴보도록 하죠.

그전에 CATIA는 Visible 영역과 invisible 영역이 있는건 다 아실 것입니다.

요소를 Hide 시키면 invisible 영역으로 보냅니다.  Show시키면 다시 visible 영역으로 돌아 옵니다.  기본적으로 2개의 서로 상반된 차원공간이 있죠.

CATIA Set중 GSD에서 사용하는 것을 Geometrical Set이라고 합니다.
Geometrical 요소를 담는 공간이라고 할까요.
CATIA V5에서는 XZ Plane YZ Plane , ZX Plane과 Axis System등 몇개의 아주 특수한 요소를 제외한 모든 요소는 특정 Set안에 들어가야 합니다.

사실 Set이란 용어보단 Container 용어가 어울릴것 같네요. 앞으론 Container라고 부를께요.

CATIA  Container는  4가지가 존재합니다.

Body 2가지,Geometrical Set, Ordered Geometrical Set입니다.

Body 2가지는  신기하게도 똑같이 생겨먹었는데도    완전히 다른 성질을 가지고 있습니다.

보통  사용자들은  hybrid body와 Non hybrid Body라고 불러요.  이건 공식용어인지 아닌지는 확인하진 않았지만 어쨌든 통상적으로 이렇게 부른답니다.

한번 생성된 컨테이너는 죽어도 다른 성질을 가질수 없습니다 라고 하고 싶지만  쩝
배신을 때리는 한 놈이 있네요.
 그 놈은  Ordered Geometrical Set이란 녀석으로 딱 한번  Geometrical Set으로 변경될수 있습니다.  하지만 한번 바뀌면 다시는 Ordered Geometrical Set으로 돌아오질 못합니다.
이 경우 사용자는 주의를 해야만 합니다.  ( 사실  Geometrical Set 관리를 잘하는 사람은 Ordered Geometrical Set이 그리 필요하지 않아요 )

Ordered Geometrical Set은  말 그대로 Order를 관리 합니다. 트리상에 Work In Object를 정해 놓으면 뒤에생성된 요소 (특히 operation 요소들이 되겠죠. ) 가 보이지 않습니다.  마치 Body에서
솔리드 모델링 하는 것처럼.  개인적으로 전 잘 사용하지 않아요.

여러 Container중 가장 많이 보이는 컨테이너는  Body죠 우리는 CATPart를 생성 하는 순간 PartBody라는 이름의 Body를  볼 수 있습니다.  PartBody는 Body의 일종이지만 대표성을 띄고 있어서 약간의 제약조건이 달려 있어요.

 Body는 위에서 언급한 것과 같이 hybrid와 Hybrid가 아닌  두 종류의 Body가 있습니다.

원래 Body는  솔리드 형상을 담으려고 만든것이예요.  그런데 Solid의 Pad.Pocket,Shaft,Groove 같은것들을 만들려면 스케치가 있어야 되구요.   그래서 처음부터 sketch도 담을수 있도록 만들었죠. (sketch는 엄밀히 따지면 Wireframe의 일종이죠)

그런데 시간이 지나면서 사용자들이 이런 체계에 대해 문제점을 발견한 거죠.

만든 시점의 문제가 발생하게 된거죠.  예를 들어 솔리드 작업 도중 다른 작업을 하기위해  Vertex나 Edge Face등을 추출 해서 사용했다고 칩시다.   여러분은 솔리드 작업을 하다보면 순서(Order)를 바꿔가면서 작업해야 하는 경우가 많다는 것을 느끼셨을 겁니다.

그런데 요소를 만든 시점이 문제가 되어 버린 거죠. (여기서 시점은 시간을 의미해요)

옜날에는 Geometrical Set의 명칭이 OpenBody라고 했었고  Wireframe 및 Surface는 모두 여기에 보관했어요  그런데 OpenBody는 시점 관리를 하지 않죠.  따라서 사용자는 그 추출된 요소를 솔리드 작업에 사용해 버리고 다시 Order를 변경하는 일이 생겨 버렸죠.  형상을 구현할려면 Order를 구현해야 하는데  추출된 요소는 미래에 생성되는 아이러니컬한 일이 발생해 버렸답니다.  CATIA는 이때 Update Cycle Error라는 메시지를 내보내게 되고  부모 자식도 찾을 수 없게 된답니다.  이때는  작업 취소를 할수 밖에는 도리가 없죠  특히 초심자는 손도못대는 현상이 발생 해버리죠.

그래서  사용자들이  Wireframe요소를 Body 내에 넣게 만들어 달라고 요구하게 되었고 이에 따라 만들어 진게 Hybrid Body랍니다.  Body내로 들어가면 시점 관리가 되니까...
(Hybrid Body를 추가한 이후부터 "OpenBody"가 이름이 "Geometrical Set"으로 변경되었답니다.)


하지만 프로그래밍 개념상 기존의 Body와 성격이 완전히 차이가나서 호환이 되지 않는 문제점이 발생해 버렸답니다.

Hybrid Body가 추가된 이후에 도입한 회사는 관계가 없지만  그전에 도입한 회사들은 아주 난감한 경우가 생겨버렸습니다.

특히 유럽의 자동차 회사들은 CATIA V5를 일찌기 도입해서 사용했기 때문에  이러한 호환성 문제 때문에  Hybrid Body를 사용하지 못하도록 강제하는 회사들이 다수 있답니다.

Geometrical Set 관리 내용을 적다 보니 배경지식만 적게 되었네요.

=====================
See You Next Article
=====================

댓글 4개:

  1. 정말 자세한 설명에 감사 드립니다.
    내용을 읽어 보며 질문을 드리게 됩니다.
    일반적으로 hybrid body와 non-hybrid body 의 차이점에 대해 많은 질문을 하고 답변을 한 것을 보게 됩니다.
    "hybrid body내에는 wireframe 관련 요소를 담을수 있도록 허용된 body이나 non-hybrid body내에는 wireframe관련요소들을 직접 담지 못하고 별도의 geometrica set에 담겨지게 된다." 라고 개념을 정리하고 있었습니다.
    그러나 단지 그 차이만이라면, hybrid body 에서도 추가 옵션으로 wireframe관련요소를 "in geometrical set"에만 담을수 있게 선택가능토록한 방침이 이해되지 않습니다.
    왜냐하면 non-hybrid와의 차이점이 없어지게 되는 것 아닌가 해서요. 갑자기 머릿속 개념 자체가 흔들리는것 같아서 혼란스러워 집니다. 제가 정리했던 처음의 개념이 애초에 잘못된 것일까요?

    답글삭제
    답글
    1. 글쎄요 제작자의 직접적인 철학은 알수 없으나.
      호환성을 증대시키기위한 것이 아닐까요?
      방법론은 과거의 방법론을 사용하고 HybridBody에서 만든 PowerCopy를 사용할수 있게 하는것이 아닐까 추측되네요.

      삭제
  2. 감사합니다 ^^ 재밌어요

    답글삭제
  3. 속시원하네요 ㅎ 감사합니다 ^^

    답글삭제