2011년 6월 21일 화요일

CATIA V5 Assembly 응용 예제 4

이번에는 이 제품에 대한 구속에 대한 내용을 언급할까 합니다.
구속조건에 대한 내용은
http://jhchung0.blogspot.com/2011/05/catia-assembly-1.html
외의 글에서 상세 설명을 드렸으니 상세한 기능을 빼고 개념에 대한 부분만 추가해 드리겠습니다.
CATIA 어셈블리에서 모든 부품을 가지고오면  현재 문서에 해당하는 Product의  원점에
각 부분품(Sub Assembly 또는 Part )의 원점좌표가 동일 한 위치에 배치되게 됩니다.
이건 새로운 파트나 프로덕트를 생성해도 마찬가지 입니다.

이 경우 Snap이나 Manipuate 기능을 사용하게 되면  사용자의 실수로 모든 부품을 건드리는 실수를 저지를 수도 있습니다.
그 말은 현재 문서의 원점 대비 단 한개의 부분품도 원점이 같은 녀석이 없어질 수도 있다는 말입니다.

CATIA에서는 구속조건이라고 하는 기능을 제공하여 그중 Fix구속조건으로 가장 기준이 되는 한 녀석을 현재 문서의 원점에 고정을 시킬수가 있습니다.
Fix 구속조건을 부여한다고 실제 고정되지는 않습니다.  Fix당시의 좌표값을 기억해서 원래의 위치로 돌아 갈뿐이죠.


이때 재계산하여 물체의 위치를 구속조건에 맞추어 주는 기능을 Update라고 합니다. 파트의 Update랑은 조금 다른 의미를 가지고 있습니다.
파트의 Update는 내가 만들고 있는 형상의 Sketch나 다른 파라미터값을 변경함으로써  바로 형상이 변경되는것이 아니고 원래는 Update를 해주어야한 그에 상응 하는 수학계산으로 형상을 변경하는 것이죠.  하지만 일반사용자들은 파트의 자동Update 옵션을 켜고(default로)작업 하기 때문에 순식간에 update되어 잘 못 느낍니다....
하지만 Assembly Update는 물제와 물체의 상호간의 위치조건을 방정식을 재계산함으로써 위치를 해당 구속조건에 맞도록 재배치 시키는 기능을 합니다.
( Part Update랑 Assembly Update랑 아이콘 모양이 같죠.  하지만 엄연히 다른 기능이랍니다.)


그러면 한개의 부분품을 Fix시킨후 Snap과 Manipulate기능으로 움직이면 (그중 Fix 된 놈이 움직였다면 ) Update후에는 모든것이
FIx된 기준으로 바로잡아질까요?  절대 아닙니다.  구속된 놈들만 재계산되어서 움직입니다.

따라서 구속조건을 부여하는 순간 사용자 여러분은 부분품들 상호관의 관계를 모두 구속 시켜야만 원하는 형상대로 재배치 됩니다.



그리고 SNAP이나 Manipulate로는 구현 할 수 없는 기능이 Offset이란 기능입니다.
이는 특정 면과 특정 면과의 거리값을 부여할 수 있습니다.  특정 거리값으로 간격 배치를 할 수 있다는 것이죠.

여기서는 상황에 따라서 사용자가 구속조건을 부여할 수 있습니다  하지만 정확한 구속을 하려면 상호간에 6자유도를 모두 없애야 하지요.
자유도에 대한 내용도 앞서 기술하였으니 찾아 보시기 바랍니다.


이제 구속을 해 보도록 합시다.

















































구속조건의 여러분의 생각에 따라 달라집니다. 면/면을 구속시킬지 점/점을 구속시킬지는
여러분의 의지에 달렸다는 말입니다.


구속조건을 부여할 경우에는  나중에 Update를 할 것이므로 부품상호간에는 약간씩 떨어져 있는것이 작업하기가 더 편합니다.

이 경우  Explored 기능을 사용할 수도 있습니다.





구속조건을 부여하면  Constraints 노드에 입력한 구속조건들이 1개씩 Tree에 들어 갑니다. 여러분은 이것으로 부분품 과 어느 부분품이
구속이 되었는지 알수 있습니다.  Fix는 현재 활성화된 문서에 구속을 시키는 것이므로 List가 한개만 나오지요.

그리고 구속조건은 활성화된 조립 LEVEL별로 생성됩니다.

























Sub Assembly과 의 다는 부분품과의 구속조건을 넣을 경우에는 Sub Assembly전체를 한놈으로 인식하고 구속조건이 들어갑니다.

Assembly 구속조건도 스케치와 마찬가지로 OverConstraint 조건이 존재할 수 있는데 이럴 경우에는 CATIA가 임의의 구속조건을 Update되지 못한 (계산불가)상태로 Update Diagnosis(갱신진단) 창을  띄워 사용자가 후속조치를 취하도롤 합니다.








이건  사용자 여러분들이 구속조건을 가지고  해를 풀수 없는 방정식을 만들어 놓았기 때문입니다.

여러분은 구속조건을 다시 정리해야 할  필요가 생길 것 같네요.
진단창에서 여러분은 활성화를 끌수도 있고 불필요하게 추가된 Constraint를  지울수도 있습니다.

부연적인 내용입니다만.

향 후 해석을 하시는 분은 Assembly해석부분에서 상대와 상대간의 관계조건을 줄 때 Assembly에서 만들어놓은 구속조건을 이용하는 경우가 많이 있습니다.

  이 경우에는  해석조건을 주기위하여 어쩔수 없이 Over_constraint조건을 일부러 만들어야 하는 경우도 있습니다.

이 부분은 향후 구조해석부분의 글을 기술 할일이 생기면 다시 설명드리도록 하겠습니다.

일반적으로 Assembly 조건을 주실 경우에는 Over_constraint가 생기지 않도록 합니다.


여러분들은 같은 LEVEL에서 부품들을 배치하고 구속을 주었다가 Sub Assembly를 하나 추가하여 원래 상위 LEVEL에 있던 몇개의 ITEM을  모아 이 추가한 Sub Assemby로 이동해야 할
필요가 생겼다고 가정합니다.  이경우 여러분들은 Sub Assembly로 이동할 부품간에 부여되었던 구속조건을 삭제하고 Sub Assembly에 다시 만들어야 할까요?

여러분은 CATIA의 Option내용을 변경함으로써  굳이 구속조건을 삭제 하지 않고 재생성 시킬수 있는 방법이 있습니다.









Tools -> Options -> Mechanical Design -> Assembly Design -> Constraint 탭에서 Copy/Paste시  또는 Cut/Paste시 구속조건을 조건에 맞게 재생성될 수 있도록 조절할 수가 있습니다.

여러분은 이기능을 이용하여 같은 구속조건을 가져야 하는 같은 부품을 여러개 생성하여 작업량을 줄일 수도 있습니다.

원래 Default 셋팅값은 Assembly 항에서 부분품들을  Copy 또는 Cut후 Paste하게되면 아무런 구속조건을 만들지 않습니다.

여러분을 한번 구속조건에 대한 옵션을 수정하면 계속 그 셋팅값이 유지되게 되어 실제 작업에 방해를 줄 수 있기 때문에 작업이 끝나고 나면
원래 값으로 셋팀값은 되돌려 놓을 것을 권고합니다.

댓글 1개: