2011년 5월 23일 월요일

CATIA 어셈블리 공간상 이동과 위치저장

앞서 적은글에서  프로덕트구조와 파일관리방법에 대해 언급을 하였습니다
그럼 프로덕트에서 우리가 실제로 보고있는 것은 어떤데이터일까요?
먼저  예로 들었던 조립체를 한번 가져와 봅시다
A 조립품 및에 B 부품과 C부품이 있는 모델을 말입니다
이전 글에서는 컨셉만 언급하였습니다. 이번에는 실제 모델링 된 DATA를 가져와 보도록 하겠습니다.




















여러분들이 보고계신 모델에는 두가지의 물건이 겹쳐져서 보입니다

실생활에서는 대부분의 부품들이 고체이기 때문에 절대 겹쳐져서 있을수가
없지요 영화 X-Man 에 나오는 벽을 통과하는 뮤턴트가 아니면 그럴수가
없지요 가령슈퍼맨이라 하더라도 벽을 부수고 지나갈 순 있지만
통과하진 못하잖아요?

그러나 가상현실의 세계에서는 아무 문제없이 사물이 사물을 관통할 수가
있죠 이러한 장점을 응용한 분야가 디지털 목업( DMU : Digital Mock-Up )분야랍니다

옛날에는 자동차처럼 복잡한 제품을 서로 다른 설계담당자가 설계한 부품형상들 간에 서로 어디서 간섭이 일어나는지를 확인하기 위하여 나무로 부품형상모양을  깍아다가 서로 조립을 해 보았답니다

이 나무로 만든 가짜제품을 목업 이라고 합니다.

주로 엔진룸의 레이아웃을 검토할 때많이 사용했죠. 엔진룸에는 많은 종류의 부품이
얽혀있고 특히 Washer tank 같은 것은 주변부품을 피해서 요상하게 생긴 형태도 있습니다.

이걸  컴퓨터내에서 검토할 수 있도록 만든 시스템을 디지털목업이라고 부르고
이와 상대적인 명칭으로 기존의 목업을 피지컬목업(Phisical Mock-Up)이라고 부르게 되었답니다.

많은 수의  데이터를 가져와야 하기 때문에
초기에는 컴퓨터 메모리용량제한 문제등으로 아주 작은 크기의 데이터를
만들어야만 가급적 많은 수의 모델을 한꺼번에 띄워서 검토할 수가 있었죠.

그 때문에 DMU를 위한 전문 소프트웨어 업체들이 있었지만
캐드업체의 대형화, 하드웨어 및 소프트웨어의 기술발달
등의 이유로 대체로 CAD업체에 합병되거나 없어져 버렸답니다
하여 요즘은 대부분 DMU기능을 캐드내에서 지원하죠

불과 몇년 전까지만 해도 차량 한대를 모두 띄워 DMU검토를 하는것이 불가능했답니다.
32bit 컴퓨터가 가지는 메모리 한계 때문입니다.

32bit는 2의 32승수 즉 4GB의 메모리
Address(메모리주소) 한계 때문에 그 안에서 어떻게든 적은 DATA를 만들어서 가급적 많은수의 DATA를 올려야 합니다.
그리고 그 안에서 각 부품간의 거리 측정계산을 위한 메모리 공간도 남겨야 하는등 제약조건이 이만저만이 아니었답니다.

하지만 64bit 컴퓨터가 나온 후부터는 이런 제약문제가 해결되어 버렸습니다.
기존에는 기술의 제약문제만 있었지만 이제는 돈의 제약문제만이 남아있죠.
(비싼 컴퓨터를 사야한다는 )

2의 64승수가 계산기로 두드려보니 18,000,000 TB 까지 지원되네요.  도데체 0이 몇개 ?

"이 정도의 메모리를 지원하는 컴퓨터인 그대이름은 AI라고 명하니 ...."

카티아는 DMU Navigator, DMU Space Analysis, DMU Fitting Simulation, DMU Kinematics, DMU Optimizer 등의 이름을 가지는 제품군으로 이 분야를 제공해 주고  있답니다

이 중 DMU Space Analysis의 일부 기능이 Assembly 워크벤치에 속에 들어 있습니다.






Assembly Workbench에서 Space Analysis 툴바를 찾아보세요.







여러분들은 어셈블리 워크벤치에서 Move 툴바를 이용하거나
또는 컴파스를 이용하여 부품 B 나 C의 공간 상 상대적 위치에 대한
평행이동 또는 회전이동을 할수 있습니다





















먼저 Move 아이콘을 이용하여 여러분은 A 프로덕트상의 X,Y,Z  방향으로
평행이동 XY ,YZ, ZX 평면 상의 평행 이동 또는 X, Y, Z 축을기준으로
회전이동 하거나 할 수도 있고 또한 임의의 선이나 평면을 선택하여 그 기준으로 평행이동 이나 회전이동을 할 수도 있습니다

임의의 방향으로의 이동은 컴퍼스를 이용한 방법도 있는데 , 컴퍼스를 물체의 형상위 특정위치로 잡아 끌어놓은다음 ( 컴퍼스의 기준인 빨간점을 잡아당기면 되지요
컴퍼스를 원래 있던 위치로 원상복귀시는 CATIA화면 우측하단의 축으로 잡아당기세요.)




















움직일 물체를 선택 후  컴파스의 일부분을  잡아 당김으로 써
부품의 위치를 이동할 수 있습니다




















이 경우 움직이고자 하는 부품이나 조립품 단위의 상위 프로덕트가 활성화 되어 있어야 합니다. 활성화는 트리에서 더블클릭을 하면 활성화 위치가 바뀝니다.







또한 사용자는 스냅기능을 이용하여 두 부품 사이의 점, 선, 면 성분을 선택하여 순간적으로 이동할 수 있습니다. 이 경우 가장 많이 사용되는 경우가 선-선 조정기능과 면-면 선택기능인데 CATIA는 원통형상의 측면을 선택하면 원통의 축을 지나는 선을 인지하게 되어 축-축 맞춤 이동을 사용할 수 있습니다..

여러분은 점-점, 점-선, 점-면 , 선-선, 선-면 ,면-면등 6가지 조합의 조립맞춤 이동을 할 수 있습니다.이걸 잘 안가르쳐 주더라구요  ( 또한  여러분들은 Assembly 구속에서 의 구속조건 역시 6가지 조합을 이용한 구속을 할 수 있습니다.)

스냅기능을 사용할 경우에는 먼저 선택한 쪽의 부품이 나중에 선택한 쪽의 부품 쪽으로 이동하게 되어 있습니다.

스냅기능이나 구속기능을 사용하기 위해서는 마우스 조작을 매우 능숙하게 하셔야 합니다.

여러분은 이제 A 프로덕트의 좌표 공간에서 B와 C부품의 좌표를 마음대로 옮길수가 있겠지요.

그러면 A는 무었을 기억할까요?  사람이 아니니까  A가 무슨 정보를 저장할 까요?

A 는 여러분이 B나 C의 Part중  ( B만 가지고 설명하도록 합시다.)  B의 Pad가 어느 평면을 가지고 저장했는지 알 필요가 없습니다.

A는 B의 절대좌표 즉 B를 처음 생성하면 기본적으로 제공하는 XY,YZ,ZX 평면의 교차점인 원점의 상대적 좌표와 그로인해 생기는 X,Y,Z축의 방향 벡터만 기억하면 됩니다.

사용자 여러분은 조립된 상태에서의 A를 저장하고나서 모든 DATA를 닫은 다음 B를 열고 B안에 모델링 된 Feature (처음부턴 간단하게 만들어야 하겠지요)
를 모두 지우고 다른 평면을 기준으로 다시 모델링을 하고 난 다음 B를 저장하고 닫습니다.

그리고 다시 A를 열게 되면 B의 모델링이 다르게 배치가 된것을 볼수 있을 것입니다. 그 때 B의 절대 평면의 위치는 바뀌어 있지 않다는 것을
알게 될 것입니다. ( 미리 XY,YX,ZX 평면의 색상이나 Line Type 선굵기등의 속성을 바꾸어 놓으면 확인이 쉽겠죠 )

대부분의 사용자들이 초기 CATIA 교육 수강시에 구속조건(Constraint)를 배우고 그에 익숙해져 버려서 기본적인 개념을 짚고 넘어가지 않는 경우가 종종 있습니다.

구속조건이 들어가게 되면 요소(ELEMENT)나 내부요소간의 관계가 맺어져 버리고 그에 의해 Update가 되어 버리므로 앞에서 언급한 원점좌표값과 방향벡터값의 의미가 축소되나

기본적으로 프로덕트 저장시에는 바로 및 하위 프로덕트나 파트의 좌표를 기억하고 있다는 것을 명심하시기 바랍니다.



댓글 2개:

  1. 좋은글 감사합니다.
    그런데 위치 이동에 있어서 좌표 혹은 일정한 값을 줘서 이동할수는 없는건가요?
    스케치에 들어가서 옮기든 PART 도면에서는 치수를 주고 그걸 클릭해서 값으로 이동할수 있잖아요.
    프로덕트 상에서 파트 파트간 제품들이 모서리에 맞으면 좋겠지만 일정한 값을 두고 그위에체 있는경우가 많아서요

    답글삭제
    답글
    1. 까마귀님이 설명드린 컴퍼스(Axis System)를 활용하면 가능합니다.
      컴퍼스를 가져와 파트위에 놓고 더블클릭하면 컴퍼스를 기준 원하느 방향으로 원하는 길이만큼 이동이 가능하며, 회전도 가능합니다.

      삭제