레이블이 Assembly인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Assembly인 게시물을 표시합니다. 모든 게시물 표시

2011년 7월 11일 월요일

CATIA V5 Assembly Reuse Pattern

이제 Assembly에 대한 연재를  끝내려 합니다. ( 사실 적다 보면 끝이 없어요..)

제가 이 글을 적으려 했던 의도는 다른 곳에서 기초를 배운사람들이 좀 더 개념을 이해 할 수 있도록 써나갔던것이기 때문에 초심자들이 보면 어렵다고 느낀분들이 있을거라고 봅니다.

이전에 설문조사를 했는데 설문에 응하신분이 2명 밖에 없네요.  그것도 제가 아는 인물들만..

카페공간에서는 많은 덧글들을 쓰시던분들이 블로그 공간에서는 덧글이 거의 없는것은 왠일일까요?  저만 느끼는 것일까요?  그냥 한국인들의 특징인가?

어쨌던 2명이라도 설문은 설문이니 다음연재는 Surface쪽으로 그것도 GSD Surface 쪽으로 가고자 합니다.

제가 Part Design연재를 아예 하질 않아서 그런데 독자들이  기본적으로 Part Design을 어느 정도 사용할 줄 안다는 전제조건하에서 적는 글이라고 이해해 주세요.

자 본론으로 가서
Part Design에서 Pattern이란 기능이 있습니다.  예를 들면 특정한 Hole을 원형으로 다수를 복제 생성 한다던지 특정 방향으로 여러개를 생성할 수 있습니다.

그런데 여기에 만일 Bolt나 Nut가 해당 Hole의 수만큼 붙어야 한다고 합시다.

이때 어셈블리에서 Part Design의 Pattern을 이용해서 자동으로 Pattern의 갯수만큼 Part나 Sub Assembly를 복제할 수 있는 기능이 Reuse Pattern이라고 하는 기능입니다.

사용하는 원칙은  복제 할 Part나 Assembly를  Part에서  Pattern만들기 전에 생성했던 원본  Hole이나 Pocket등을 이용해서 구속조건을 부여 합니다. 그리고 복제하고자 하는 만큼을 Pattern를 선택하면 자동으로 Pattern의 갯수만큼 해당 Part나 Assembly의 인스턴스가 추가 됩니다. 나중에 Pattern이 들어 있는 Part내부에서 Pattern의 속성 ( 갯수, 거리, 총길이 )을 변경하면  Assembly도  똑같이 갯수가 늘어나거나 줄어들면 그수에 맞는 인스턴스로 재 계산되어 나타납니다. 물로 위치도 맞추어 지구요..

간단한 예를 만들어 적용해 봅니다.

먼저 원형 Flange의 한쪽 귀퉁이 Hole을 뚫습니다.   그리고 원형 Pattern을 생성합니다.

이를 Product에 넣고 Bolt 한개를 역시 Product에 추가 합니다. Bolt와 Pattern이 들어 있는 모델의 Original Hole과의 선/선 (축/축 이겠죠 ) 구속조건을 추가합니다.
 ( 반드시 구속조건이 없다고 안되고 그러진 않습니다. )











































그리고 Reuse Pattern을 사용하면  Pattern수만큼 Bolt가 복제되어 생성됩니다.

심심하신분들은 Pattern의 갯수를 조정해 보시고 Assembly에서 Update해 보세요.

어떤현상이 나타나는지...  위에 답을 드렸죠..

2011년 7월 4일 월요일

CATIA V5 Assembly Flexible/Rigid

가끔 이러고 싶은 경우가 있습니다.

ROOT Assembly 및에  하위 어셈블리의 형태로 어셈블리집합체가 존재합니다.  같은 Part No.를 가진 조립품이 더 큰 조립품 및에 여러개가  존재합니다.
그러나  그 같은 Part No.를 가진 하위 조립품내에 속해있는 각각의 부품위치가 조립품마다 조금씩 다르게 하고 싶은 경우가 있습니다.

예를 들어 차체조립지그의 CLAMP 조립품의 경우 물려 있는 경우와 열려 있는 경우가 있을 수 있습니다.

또 바이스 클램프의 경우 불려있는 부재의 두께에 따라 두 이빨사이의 간격이 틀려 집니다.
한개의 어셈블리에 여러개의 바이스가 물려 있는데 부재의 위치에 따라 두께가 달라서 바이스를 물린 이빨사이의  간격이 틀린 경우에도 해당합니다.

지금은 제가 있는 곳은  버스안입니다.
이런 경우도 생각해 보죠.  고속버스에는 승객의 머리위에 각 승객 좌석에 비추는 조명과 개별에어컨의 바람의 방향을 조절하는 조절기가 달려 있습니다.

어떤 경우에는 바람 조절기를 열어놓은 경우도 있고 닫아놓은 경우도 있습니다.  또한  조명의 위치를 조금씩 다른 방향으로 틀어 놓은 경우도 있습니다.

그렇다고  조절기조립품내의 부품들을 별도로 관리해서 1 Level로 붙여 놓는것도 말이 안돼지요.

버스 의자도 마찬가지예요,
똑같이생긴 좌석의 등받이를 여러각도로 자유자재로 표현하기 위해서 등받이를 별개의 부품또는 조립품을 시트에서 따로 떼어내서 생각한다는건  비효율적인 일이지요.

CATIA Assembly에는 이려한 문제를 해결하기 위하여  Rigid/Flexible  Sub Assembly이라는 기능이 존재합니다.   Rigid상태는 우리가 알고 있는 Assembly상태입니다.

그럼 Flexible상태로 만들면 어떤현상이 일어날까요.

BIG_HINGE_ASM.1 을 교보재로 삼아봅시다.






 












아래 아이콘을 클릭하고 BIG_HINGE_ASM.1을 클릭하게되면
 BIG_HINGE_ASM.1 의 트리사의 ICON이 달라집니다.











아이콘의 모양이 보라색으로 변했습니다.  
(이 아이콘 모양 어디선가 본듯한 ...... )

눈썰미가 좋은신 분들은  이전글에서 보신 기억이 있을 겁니다.
Scene 기능 안으로 들어가면 Assembly가 이렇게 변하지요..

그럼 뭐가 달라졌을까요?

































맙소사 BIG_HINGE_ASM.1 내의 부품 한개를  특적방향으로 옮겼더니 군소리 없이 옮겨갑니다.
같은 PART No.인 BIG_HINGE_ASM.2는 상대적으로 가만히 그 자리 있습니다.



























Flexible Assembly가 되는 순간 자기 Assembly는 온데간데 없고  자기 하위 첫번째 Level의 Assembly 및 Part를  자기 Level로 끌어 올려 주는 기능을 합니다.  물론 Mechanical 입장으로 만 말입니다.  실은  그 하위의 구속조건들도 위쪽으로 한단계 올려줘요.

See You Next Article


CATIA V5 Large Assembly 3

가끔 여러분들은 자신이 설계하지 않는 다른 주변조립품 전체를 참조하고 싶을 경우가 생길것입니다.
보통 작은제품의 물건이 아니면 혼자서 설계하는 경우는 거의 없습니다.  팀단위로 움직이는 경우가 많습니다.
그럴 경우에는 팀전체가 진행해가는 최신 DATA를 가져와서 설계해야 하지만, 어떤경우에는 주변부품이 거의 변하지 않는 경우가 있습니다.

사용자가  실 DATA를 모두 가지고 있는 상태에서  DATA를  모두 Loading 해서 보려고 하는 것이  되려 불편한 경우가 발생 할  수가 있습니다.

아예 1개의 Assembly에 몽땅 몰아넣고 그 Assembly에 있는 DATA전체를 1개의 CGR로 대신 할 수가 없을까요?

여러분은  Assembly전체를 CGR DATA로 저장하고 그 CGR DATA를 Real DATA 대신 가져오게 하는 방법론을 사용하실 수가 있습니다.

먼저  CGR로 저장할 item을  선태하여 활성화 합니다.
그럼 Sample로 BIG_HINGE_ASM 에 이것을 적용해 봅시다.





















아래 기능을 이용하여 전체 DATA를  1개의 CGR 파일로 저장합니다.















그리고 다음기능을 가지고 Assembly DATA를 CGR로 치환합니다.
선택은 역시 BIG_HINGE_ASM.1을 선택합니다.


























그리고  실제 데이터를 숨겨야 하겠지요.
BIG_HINGE_ASM.1에 가셔서 Deactivate Terminal Node 를 선택해 보세요
이는 BiG_HINGE_ASM 하의 모든 부분품들을 Unload하는 개념과 같습니다.
메모리에서 Real DATA의 내용을 제거해 버리는 거지요.  하지만 BIG_HINGE_ASM은 남아있으니
CGR로 나타납니다. ( 이 기능은 CGR MODE가 아니라도 작동합니다. )


























하지만 여러분들은 혹시라도 DATA의 변경이 있을 경우 발생하는 ERROR를  여러분 스스로 책임지셔야 합니다. 즉  잘 관리하셔야 한다는 의미입니다,

See You Next Article

2011년 6월 10일 금요일

CATIA V5 Assembly 응용 예제 2

앞에서 계속


부품의 복제


원래그림에 보면 MAIN BEAM이 두개 있습니다. (그림에서 제일 큰놈입니다.)

이 부품은 다른부품이 아니고 같은 PART No.의 부품을 두개 사용하는 것입니다.
같은 파트넘버라 함은 구매당시의 단위가 같을 수도 있고.
원재자를 도입한후 내부에서 회사의 필요에 맞게 변형이 된놈일 수도 있습니다.

여하튼 최종사용자 입장 (현재로써는 이부품을 조립해서 만들고자 하는 설계자가 되겠지요)
에서는 똑같은 물건이란 얘기이지요. 따라서 같은 물건은 프로덕트에서  Copy후 Paste 하면 됩니다.

먼저 MAIN BEAM을 트리에서 선택하고 마우스 우측버튼에서 Copy를 선택하거나 Ctrl-C를 누릅니다.

그리고 Paste를 그냥하시면 안됩니다. 반드시 COPY한 부품을 어느 조립품 및에서 넣어줄것인가를
선택하여야만 합니다.  현재 Product1내의 문서에는 Product1 자체 조립품이 1개 밖에 존재하지 않기 때문에
Product1을 선택하고 Paste(Ctrl-V)를 하셔야 합니다.


















































MAIN BEAM이 하나더 추가되었죠.. 트리 상으로는 추가된 것이 보이는 데  GEOMETRY영역에선는 변함이 없어요.

왜냐햐면 공간상의 똑같은 위치에 복제가 되었기 때문이죠.

새로 생긴 메인빔의 트리상의 이름을 보세요.   MAIN_BEAM(MAIN_BEAM.2)  괄호안의 이름이 바뀌었죠.

괄호안의 이름은 인스턴스명이라고 해서 같은 LEVEL의 부품조립품 내에서는 이름이 같으면 안된답니다.

왜냐하면 Product1 이라는 (여기서는 "Product1"이란 이름이 PART No.에 해당합니다.) 프로덕트는 자기 공간좌표를 가지고 있고 각각의 내부 부분품의 위치를 저장해야만 합니다.

1번은 10,30,30 에 있고.
2번은 10,40,40 에 있고.
 .
 .
 .
10번은 100,50,30 에 있고

이런식이죠 물론 좌표외에서 회전 된 방향도 필요하지만요.
이걸 매트릭스 행렬형식으로 저장합니다.  

여기서 1번 2번 ...  10번에 해당하는 순번의 이름이 인스턴스 명이랍니다.

Product는 자기가 데리고 있는 똘마니들의 모습이 어떻게 생겼는지 모른답니다.
단지 이름과 걔의 원점좌표의 위치방향만 알 뿐이죠.


자 SUB BEAM이 여섯개 이니 SUB BEAM 도 5개을 추가로 복제하기로 합니다.





















다섯개를 추가 복제하였습니다. ( 트리에  6번까지 있는게 보이나요?)

이번에 부품의 배치를 해 보도록 하겠습니다.

SNAP기능 사용하기







SNAP기능은 점/선/면 끼리 붙여주는 기능이예요.
SNAP은 활성화된 조립품의 부분품 2개를 서로 붙여 줍니다.

먼저 선택한 것이 나중에 선택한 부품쪽으로 붙어갑니다. ( 중요 )

앞에 것을  조립해놓고 순서를 잘못찍어 재작업하는 일이 비일비재 합니다.

SNAP 아이콘을 선택하고 GEOMETRY를 선택하면 마우스 아이콘이 조금씩 바뀝니다.


























원통의 옆면은 시스템이 원통중심을 지나는 선으로 간주합니다..














SUB_BEAM중의 1개를 MAIN_BEAM쪽에 면/면 방식으로 선택을 했습니다. 두번째 아이템을 선택함과 동시에 바로 정렬이 되며 면면의 경우 방향이 거꾸로 배치 할 수도 있기 때문에 초록색 화살표를 표시해 주지요.
화살표를 선택함과 동시에 물건을 180도 돌려줍니다.














보통 스냅을 이용하여 두 부품을 붙이려면 3번작업을 해야 합니다.
X방향 한번 맞추고,Y방향으로 한번 맞추고, Z방향으로 한번더 맞추고
정확히  X,Y,Z방향은 아지니만요..

여러분들은 Manipulation 과 Snap을 이용해서 제품의 위치를 재정렬할 수 있습니다.

물론 마우스조작을 잘 하셔야 되겠지요.

----------------------------------------------------














순식간에 배치해 보았습니다.



















이번에는 만들고자 하는 아아템의 형상을 보니  축이 양쪽에 붙어 있는데 모양이 같은것 같아요.
실제로 모양이 똑같다면 여러분은 해당 부품을 모아서 서브조립품을 만들어낼 수가 있습니다.

독자 여러분 새로운 물건이 생성된다면 여러분을 어떻게 해야할까요.  그냥 제출용자료용도로 만들거나  재미삼아 만들어 볼 경우는 관계가 없겠지만  기업에서 부품사양을 한개 더 만든다면 반드시 새로운 PART No.를 만들어야 합니다.

그럼 이번에는 새로운 SUB조립품을 구성해 보도록 합니다.


부분조립품 (SUB PRODUCT) 새로 만들기

새로운 SUB 조립품을 삽입하는 아이콘은 두가지가 있습니다.

하나는 New Product를 추가하는 방법이고 또 다른 하나는 New Component를 추가하는 방법입니다.

개념상으로는 이 두가지는 똑같습니다. 단지 차이가 있다면 별도 파일을 만드냐 안만드냐 입니다.






앞엣 것이 New Component 뒤엣 것이 New Product 입니다.
그럼 두개다 한번씩 사용해 봅시다.

각각의 아이콘을 누르고 Product1을 선택해야 합니다.  ( 선택순서는 상관없습니다 )




















빨간 사각 박스내의  위쪽Product2가 Component가 들어간 것이고 아래쪽Product3이 Product가 들어간 모양입니다.

하지만 아이콘 빼고는 별차이가 없죠?

둘중 아무거나 선택하여 마우스 우측버튼을 누르고 Properties(속성)을 선택해 보세요.




















속성도 똑같답니다.

그리고 속성창에서 PART No. 랑 인스턴스 명을 변경한 다음 OK를 누르게 되면 새로운 PART No. 가 부여되는  것이랍니다.



















그리고 Component와 Product의 메뉴상의 거의 유일한 차이가 Open In New Window 가 있고 없고의 차이입니다.

Component는 파일을 별도로 만들지 않기 때문에 별개의 창으로 열 방법이 없습니다.

따라서 SUB조립품을 보려고 해도  부모 조립품인 "Product1"을 열지 않으면 내용물을 볼 수가 없습니다.

그러므로 대부분의 기업에서는 Component기능 자체를 아예 사용하지 않는 경우가 대부분입니다.

그럼 삽입했던 컴포넌트를 없애버리겠습니다.  트리에서 선택하여 삭제(Del) 키로 삭제합니다.

우리는 이 남아있는 프로덕트를 "BIG_HINGE_ASM"이라고 명명하겠습니다.  인스턴스명은 PART No. 뒤에    .1 를 덧붙이기로 하지요.



















BIG_HINGE_ASM에 들어갈 부품은 MAIN_HINGE_PIN과 MAIN_HINGE_HOLDER에요.


































이 두개의 부품은 BIG_HINGE_ASM에 포함시켜 넣는 순간 정작 "Product1" 아래 에는 없애도 되는 부품이지요.


따라서 두개의 부품을 CUT 한 후 "BIG_HINGE_ASM"에다 Paste 합니다.


Cut하면 사라졌다가 Paste하면 나타나는데 아까와 공간상의 좌표 가 똑같은 위치에 나타납니다.

하지만 그건 CATIA가 연산을 그렇게 해서 똑같은 위치에 배치해 줄 뿐이구요.

아까는 Product1 아래  직접 좌표로  MAIN_HINEG_PIN과 MAIN_HINGE_HOLDER가 있었지만.

이제는 Product1 이 BIG_HINGE_ASM의 좌표값을 알고 있어요.

MAIN_HINGE_PIN과 MAIN_HINGE_HOLDER의 좌표값을 "Product1"은 더 이상 몰라요.
( 정보를 저장하지 않는다는 의미죠)

BIG_HINGE_ASM을 새로 삽입하는 순간 이 조립품은 Product1의  0,0,0 의 좌표위치를 가지고 Copy/Paste 하는 순간  BIG_HINGE_ASM 는  MAIN_HINGE_PIN과 HOLDER의 좌표값을 부여합니다.

새로 제작한 BIG_HINGE_ASM을 별도로 열어 볼까요.

아까 알려드린 기능인 "Open in New Windows" 로 열어보세요.
그리고 window -> Tile Vertically 로 정렬해 보도록 합니다.
















위 그림창에서 왼쪽문서창을 을 활성화시키고 Manipulation 아이콘을 부품을 움직여 보시면  오른쪽 창의 부품도 같이 따라다니는것이 보일겁니다.

실제 상황에서도 왼쪽의 조립품이 설계된대로 우측창에 반영이 되어야 정상이겠죠.

아까 MAIN_BEAM과 SUB_BEAM을 COPY하여 조립한 것처럼 HOLDER를 COPY하여 조립하여 봅니다.

요령은 먼저 복제하지 말고 배치를 한후 복제하여 특정 축방향으로 Manipulation 기능으로 미는게 작업속도가 훨씬 빠릅니다.















전체 어셈블리 상태에서는 어디가 활성화 되어 있느냐에 따라 활성화 된 조립품의 바로아래 부분품들이 움직입니다.

글자의 배경색이 파란색으로 변한것이 활성화 되어 있는 어셈블리입니다.







































하부 어셈블리가 활성화 되어 있으면 그와 동급이상의 부품또는 부분품은 어떠한 짓을 해도 움직이지 않습니다.

아예 선택이 되지 않는 답니다.

설명을 하다보니 양이 무척 많아졌네요...

2011년 6월 9일 목요일

CATIA V5 Assembly 응용 예제 1

Large Assembly를 추가 설명하려니 DATA가 좀 필요해서 잠깐 딴길로 새봅니다.
DATA는 일부 가지고 있으나 대부분 대외비 사항이라서... 만들면서 작성합니다.
-------------------------------------------------------------------------

제목을 붙이기가 좀 뭐해서 제목과 같이 붙여보았습니다.

이 글은 초보자위주로 보시라고 쓰는 글입니다.


먼저

1. 부품 불러오기 




여러분들은 지금 이 6개의 물건을  아래 그림처럼 조립해 봅니다.


파트로 말고 어셈블리로요..
먼저  모든 파일을 열어 놓았기 때문에.. 각 파트의  Part No. 부분을 드래그 앤 드롭으로 프로덕트에 (왼쪽)하단부에 한개씩 가져다 놓습니다.





















이 행위를 6번을 반복합니다.  (각 파트)
6개의 파트를 모두 상기 그림처럽 반복하면  아래 그림처럼 ITEM들이 중복이 될 것입니다.


여러분들은  이제 어셈블리조립한 할 예정이므로 파트는 전부 닫습니다.

여기 까지의 행위를 여러분들은 다른 방법으로 하실수 있습니다.

파트들이 모두 저장되어 있기 때문에 여러분들은 프로덕트 문서만 한개 엽니다

CATIA를 구동하면 항상  빈  프로덕트문서가 한개 생성되지요 이것을 그냥 사용해도 무방합니다.



그림 캡쳐할 양을 줄이기 위하여 툴바를 화면중간에 가져다 놓았습니다.

여러분은 프로덕트 스트럭쳐 툴바에서  existing Component 기능으로 한꺼번에 가져와서
사용할 수도 있습니다.

그림에 있는 아이콘과 트리에 있는 프로덕트를 한번씩 클릭합니다.  순서는 관계 없습니다.

그러면 일반적으로 우리가 볼수 있는 파일 탐색기가 나타납니다.
















다중선택은 잘 아시죠..  Ctrl - Enter  Shift - Enter
정확히 어떤물건인지 그림으로 파악하시면서 여시려면 맨아래 Show Preview를 체크하시면 되죠.

그러면 정확히 아까와 같은 상태가 될것입니다.

2. 옮기기

두번째는 부품들의 위치를 옮기는 차례입니다.

부품들의 위치를 옮기는 것을 Move 툴바를 사용하면 됩니다. 그중 Manipulation 기능을 사용하시면 손쉽게 이동시킬 수가 있습니다.
























기능창에 보면 X,Y,Z 방향에 대한 움직임과  XY, YX, ZX 평면상에 대한 움직임 x,y,z 축에 대한 회전 및 제일 우측에는 사용자 정의방향에 대한 것이 나와 있습니다.
X,Y,X 방향이라는 것이 Product1의 내부 좌표축에 대한 방향 입니다. 그 방향은 화면 우측하단에 보이는 좌표축 또는 화면 우측 상단에 보이는 좌표축이 같은 방향을 표시합니다.

회전도 역시 Product1이 가지고 있는 좌표축을 기준으로 회전합니다만.   여러분을 그곳이 어딘지를 화면으로 봐도 알수 없기 때문에  조정하기가 힘듭니다 따라서 화면에 보이는 어떤 선이든 선택하여 그방향으로 회전할 수 있는  사용자정의 축 회전 기능창내 우측 하단을 이용하시면 손쉽게  물건의 회전을 돌릴 수가 있습니다.

반드시 OK를 클릭하지 않으면 원래 상태로 되돌아 가니 주의 하세요.

























필자 맘대로 옮겨 봤어요..  기본평면들이 들어 있어 복잡하네요.  한꺼번에 숨길순  없을 까요.
Part Design 워크벤치에서는  Tool -> Hide -> All Plane 이란 기능이 있어서 한파트에 있는 모든 Plane들을 숨길수가 있습니다.  그런데 Assembly 워크벤치나 Product Structure 워크벤치로 들어가면 그런 기능이 없어요...

하지만 다른 방법으로 해당 Plane들을 모두 숨길 수 있습니다.
먼저 Edit -> Search 기능을 선택합니다.  다른 프로그램에서도  특정 Text등를 찾을 때
Ctrl-F를 사용하는데요  이것도 Element를 찾는것이지만 같은 성격을 가지고 있어서 기본적으로 Ctrl-F 단축기가 설정되어 있습니다.

















Type의  From Element로 Plane 1개를 선택합니다.


















그러면 Type에 Plane이라는 명칭이 선택이되고  우측하단의 쌍안경 단추를 클릭하면

























그러면 들어있는 요소들의 리스트가 나오고 반드시 Select 단추를 먼저 누르고 OK를 누릅니다.
쌍안경의 아이콘은 단지 찾아주기만 할 뿐이고 Select 는  찾은 녀석들을 모두 선택합니다.

하지만  너무 많은 양의 요소가 검색된  경우에는 몇 개의 페이지로 나누어 출력하게 되는데  이때 Select 버튼을 누르게 되면 그 페이지에 나온 요소들만 선택되니  주의 하세요.

이런 경우 쌍안경 아래쪽에 있는 Display All 이라  옵션단추가 활성화 되는데 체크하고 다시 쌍안경단추를 누른후 Select해 주어야 합니다.(그림에 희미하게 비활성화 되어 있죠?)

Select 된 상태로 창을 닫기 위해  Ok 버튼을 누릅니다. 휴 ~~

아직 안 끝났어요  모두 선택된 후
선택된 요소중 한개를 살짝 선택하고 마우스 우측버튼으로 Hide를 찾아서 선택하면 모든
Plane요소들이 숨게 될 것입니다.




























To Be Continued