2011년 8월 29일 월요일

CATIA V5 GSD Operation 5

이번에는 Transformations Operation입니다.

이것들은  형상복제에 해당하는 요소들을 만드는 기능입니다.

3차원공간상에 있는 요소들 ( 0차원,1차원,2차원)을  병진이동 회전이동 ,대칭이동, 그리고 Scale조정, 축간이동 등의 5가지 컨셉의 기능이 있습니다.

이중 Scale조정은  Scale기능와  Affinity 기능두가지가 있는데
Scale은 공간상의 특정 점을 기준으로 목적물 요소내의 임의의 점까지의 거리를 1로 간주 할 때 비례적인 위치에다 형상들의 투영을 하는것 입니다. 1보다 크면 기준점이 있는 반대방향에 원래크기보다 큰 형상이 1보다 작으면 기준점이 있는 방향으로 원래 크기보다 적은 형상이 생성되겟죠.
Scale은 점대신 면을 기준으로 할수 도 있답니다. 이때는 면의 수직인 방향으로만 Scale이 생성되며  이는 Affinity의 각 축 중  한 축만 Scale을 준 것과 같은 모양이 나타납니다.


Affinity는 임의의 3차원 직각 좌표계를 가상으로 생성하여 각각의 X방향 Y방향 Z방향으로 서로 다른  Scale를 줄 수 있답니다. 기본적으로는 현재 좌표축의 방향으로 생성되지만  해당 기능에서 Origin (원점)과 Orientation(방향)을 선정할 수 있도록 제공되어 있습니다.

이 기능들은 기하학을 열심히 하신 분들은 굳이 설명을 듣지 않아도 이해가 될 것입니다.

예를 들어 병진이동을 하고자 할 때 정의할 수 있는 것은 서로 떨어진 두개의 점이거나 방향(직선성분이면 되겠죠)과 거리 ,그리고  현재좌표계 또는 지역좌표계를 기준으로한 상대 변위로 정의 할수 있겠죠.

회전이동의 경우   축과 각도 , 그리고 축과 서로 떨어진 두개의 점(물론 축과도 떨어져 잇어야 겠죠) , 서로 떨어진 3개의 점으로 회전이동방향을 정의 할 수 있습니다.
축과 두개의 점은 축과 1점은 평면을 만들수 있고 또다른 한점과 축은 또다른 평면을 정의할 수 있죠  이두개의 평명의 공간상의 각도가 최전 각도가 된답니다. 첫번째점이 기준이 되고 나중의 점이 각도 정의가 되겠죠.

3개의 점은  1개의 평면을 정의할 수 있고  이 평면에 수직(normal)하면서 두번째 점을 지나는 직선이 회전축이 되구요.  첫번째 점이 현재위치기준 마지막점이 이동하고자하는 각도 기준이 됩니다.

대칭이동의 정의는 점,선,평면이 될 수 있구요  평면이 가장 만이 사용되는 기능이죠.
거울에 비친 내모습이랄까.  하지만 선대칭 점대칭도 될 수 있죠.
선대칭은 해당선을 기준으로 180도 회전한것과 정확히 일치된 형상이 생성되구요.
점대칭일 경우는 결과를 이리저리 돌려보면  면대칭한 형상이 나와요. 왼가마머리가 오른가마가 되죠..

축이동은 Axis System을 두개 이상 정의하고 그 축을 대상으로 한꺼번에 형상이동을 하는 거예요.   참고로 Axis System을 만들 때에는 우리손의 오른손 엄지부터 X로 시작하는 오른손 기준축뿐만 아니라  왼손기준축을 만들수도 있답니다.  축의 모양에 따라선  축이동도 대칭형상 복제가 가능하다는 .......

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

2011년 8월 28일 일요일

CATIA V5 GSD Operation 4

Fillet 은 Shape Fillet 과 Styling Fille을 제외하면 Solid의 Fillet과 거의 똑같습니다.
Styling Fillet의 Free Style Shaper 라이선스가 없으면 사용할 수 없기 때문에 대부분의 설계 회사에서는 사용할 일이 거의 없습니다.( 라이선스가 없으면 실행 아이콘도  나타나지 않죠. )
보통은 Join이나 Trim 된 Surface의 Edge에 Edge Fillet을 사용합니다  이 때 조건은 Solid의 Edge조건과 개념이 똑같습니다.  단지 Fillet을 하는 대상이 Solid냐 Surface냐 하는 겁니다.
Solid 개념을 다들 아시는 걸로 감안하고  나머지 FIllet에대해서는 설명를 제외 하겠습니다.

서로를 관통하고 있는 Surface를 Trim 기능을 사용하면 서로잘려서  일부씩만 남게 되겠죠.
하지만 Shape Fillet을 이용하면  Trim 후 Edge Fillet 을 사용한 것과 같은 모양의 결과를 가지게 됩니다. ( 하지만 복잡한 형상의 경우는 반드시 같은 결과만 나오는것을 아닙니다. )

Shape Fillet을 사용할 때 Surface를 선택할 때 마다 화살표가 나오는 데 이 화살표의 방향을 선택함에 따라 Fillet Surface가 생성됩니다.
화살표가 나타나는 쪽으로 Fillet Surface



























FIllet 시 Trim을 자동으로 할것인가 말것인가를 결정합니다.
아래와 같이 좌로부터 모두 Trim 하지 않거나 한쪽만 Tim 하거나 양쪽다 Trim 하거나를 결정할 수 있습니다.











그리고 Shape Fillet에서는   Fillet Type에서  Tritangent Fillet도 선택 가능합니다.



















Extremities 에서  Fillet후의 Surface의 양쪽 끝의 처리방법을 선택할 수 있습니다.
아래와 같이요.










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

2011년 8월 19일 금요일

CATIA V5 GSD Operation 3

TRIM과 SPLIT은 Element로 Element를 서로 잘라서 남기거나 한놈만 자르거나 하죠.
먼저 SPLIT 기능부터 설명하죠. 아래 아이콘 왼쪽이 SPLIT 오른쪽이 TRIM입니다.






SPLIT은 주어진 Element를 다른 Element로 자르는 기능을 합니다.
쉽게 설명하면 먼저선택한놈이 무우고  나중에선택한 놈이 칼이 됩니다.
무우에 해당하는 놈은 Curve(1차원요소),Surface(2차원요소) 가 올 수 있고
칼에 해당하는 놈도 Curve(1차원요소),Surface(2차원요소) 가  올 수 있습니다.

칼이 1차원요소에 해당 될 때는  무우가 1차원일 경우 반드시 만나야하고 ( 이건 어떤 상황에서도 조건에 만족해야만 하죠 ) , 무우가 2차원일 경우에는 반드시 칼은 무우에 프로젝트된 놈을 사용해야 합니다.  (Surface를 Curve로 자르려면 Curve가 Surface 상에 존재해야 한다는 말입니다)

 이때 조건은 Curve가 Surface의 플러스 마이너스 0.001mm 두께의 가상의 Solid안에 들어가야 한다는 의미와 같죠.




















무우를 칼로 자를때는 무우가 두동강이 남지만 CATIA상에서는 사용자가 남길 부분을 선택해야 합니다. ( 물론  Keep Both sides를 선택하면 두개 다 만들 수 있지만..)
중간에 Other side 버튼을 클릭하면  남길 놈을  이쪽 저쪽으로 Swapping 해서 선택할 수 있습니다.

SPLIT을 설명하면 Trim은 설명하기가 좀 쉬워져요.
Trim은  무우와 칼이 서로서로 역할을 해요  칼이 무우를 자르고 역시 무우가 칼을 잘라요.
그리고 결과물은 이중  서로 한곳만을 선택해서 이어 붙입니다. (강제로 Join 시킨다는 말이죠. 실제 Join 기능이 들어가진 않습니다)

따라서 서로가 서로의  자르는 역할을 하기 때문에  반드시 1차원요소는 1차원요소끼리  2차원요소는 2차원 요소끼리만 사용할 수 있습니다.

SPLIT이나 TRIM이나 모두 남는 부분을 선택할때  Preview상황에서 인지할 수있는 건 1차원요소는 약간 붉은색으로 Highlight 된 부분이 남는 부분이고  2차원요소는 약간 투명도가 들어가 보이는것이 없어지는쪽  진한 쪽이 남는 부분이 됩니다.

이번에는 Extract들이네요.
왼쪽부너 Boundary , Extract, Multiple Extract 입니다.







Boundary는 Surface에서 외곽 선을 뽑을때 사용하는 것입니다.
Surface에서 외곽 Edge만을 사용하는 것입니다.

하지만  여러 Segment가 연결된 Surface의 경우  Surface와 Surface를 연결하는 Edge는 선택이 불가능합니다.











Propagation type은 한개의 Edge를 선택했을 때 자동으로 연결되는 Boundary를 선택하는 기능을 합니다.
no propagation : 내가 선택 한 Edge 1개만 선택됩니다.
tangent continuity : 내가 선택한 Edge에서 Tangent 조건이 되는 모든 Edge가 자동으로 선택됩니다.
Point continuity : 연결되는 모든 Edge를 선택합니다.
Complete Boundary : 전체 Boundary를 모두 선택합니다.
( 그림 참조   이전글에서 연속성을 설명드렸죠? )



















또한 Edge를 여기서 여기까지만 이라고 한정해서 정의 할 수 있습니다. Limit 1과 Limit 2로 Vertex를 선택하면  선택이 가능합니다. 반대쪽 Boundary가 나타날 경우에는 Limit 1과 Limit 2를 반대로 선택하시면 됩니다.


Extranct 는 추출이라고 하는데 외곽선 뿐만 아니라 내부에 있는 Vertex,Edge,Face를 모두 추출할 수 있습니다.  Propagation type도 역시 존재하지만.  1차원요소의 추출의 경우  Tangent Continuity 까지만 사용합니다. ( 사용해보시면 논리적으로 안되는 경우가 많다는 것을 느끼게될 겁니다.)













Extract의 경우  SOLID에서도 추출이 가능합니다.

Multiple Extract는 Extract를 여러개를 동시게 추출하는데 1개의 요소로 만들어 줍니다.
Extract기능은  연속성의 조건을 가지고 1개를 선택하는대 대비해  Multiple Extract는 사용자 지정 요소를 전부 선택합니다.   단  0차원요소는 0차원끼리 1차원요소는 1차원끼리 2차원요소는 2차원 요소끼리만  선택할 수 있습니다.

가끔 Operation 기능을 사용하다보면  아래와 같은 패널이  추가적으로 나타나는 경우가 있습니다.
















이는  사용자가  어떤 Operation 작업을 할때  Multi Domain 요소를 만들게 되면 CATIA가 그중에 일부만을 택할 것인가를 선택하도록 돕는 TOOL 입니다.

그냥 Multi Domain 인 상태로 유지하는 기능이  세번째 옵션이구요.
첫번째와 두번째는 그중 한가지만 선택하겠다는 의사표시입니다.

첫번째는  2개 또는 3개로 분할된 Domain 중에서  특정요소와 거리가 제일 가까운 쪽을 남겨둡니다.

두번째는 사용자가  "이거 선택할래" 라고 선택하는 옵션입니다.

3가지 모두 기본적인 Multi Domain 인 채로 만들어 줍니다.

그리고 첫번째는 Near라는 요소를 추가로 만들어주고
두번째는 Extract를 추가로 만들어 줍니다.
( Default 로  Multi Domain 요소는 자동으로 Hide 되어 버리죠. )


Near기능은 Icon으로는 제공하지 않습니다.  GSD 워크벤치의 insert 메뉴 및에서 찾을 수 있습니다.

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

CATIA V5 GSD Operation 2

앞글에서 설명하려다  글이 너무 길어 질것같아서   추가로 이론적인 내용을 적어 봅니다.

Curve난 Surface의 연속성에 대해 설명해 보겠습니다.

만일 왼쪽에서 접근하는 Curve와 오른쪽에서 접근하는 Curve의 끝이 만난다면 두개의 Curve는 "C0 연속성을 가진다" 라고 표현합니다. CATIA에서는 Point 연속성이라고 하기도 합니다.

 만난다는 정의에 대해서도 생각해 봐야 할 문제입니다.  우리가 머리속에서 상상할때는 왼쪽에서 접근하는 Curve ( 통칭 A Curve라고 합시다. ) 와 오른쪽에서 접근하는 Curve (통칭 B Curve라고 합시다. ) 가 서로의 끝점에서 만단다는것은 얼마든지 상상할 수 있습니다.
수학적으로도
1차원방정식등은 쉽게 만나게 할 수 있습니다. 하지만.  다차원방적으로 갈때 수학적으로 만나게 하려면 좀더 복잡한 계산을 거쳐야 합니다.
특히 컴퓨터로 연산을 할때는 (컴퓨터 메모리 자체가 명확한 값을 가지지 못하고 일정 소숫점이하를 넘어서면 숫자가 잘리게 되죠) 근사치로 판단할 수 밖에 없습니다.
CATIA V5내에서   A Curve와 B Curve가 끝점에서 서로 만난다는 것은  A Curve의 끝점과 B Curve의 끝점간의  Position 공차가 0.001mm 내에 있으면  "만났다" 라고 판단합니다.

추가로 만일 A Curve가 B Curve가 C0 연속성을 만족하고  A Curve의 끝점에서의 순간 접선과 B Curve의 끝점에서의 순간접선의 방정식이 일치하면 한 직선에 있다는 뜻이죠. 이 조건을 만족한는 상태를 "C1 연속성을 가진다" 라고 표현합니다.

이 역시 방정식이 똑같지 않더라도  만나는 접선간의 각도가 0.5도 이하이거나 및 179.5도 이상일 경우 CATIA가 만족했다고 판단합니다.  이를 통상 "Tangent 조건을 만족한다" 또는 "Tangent 연속성을 만족한다" 라고 합니다.

조금더 나아가서 A Curve와 B Curve가 C0조건과 C1조건만족할 때 만나는 양쪽점에서 각각의 순간 곡률 반경이 있습니다.  직선일 경우 순간 곡률반경은 무한대가 될 것입니다.

예를 들면 A Curve는 반지름이 100mm인 원호가 접근해 오구요. B Curve은 직선이고 C0조건과C1조건을 만족한다면 만나는 점에서 A,B Curve의 끝점에서의 곡률반경은 얼마인가요?

물론 100mm 와 무한대 이지요.   이를 곡률로 표시할 수 있습니다.  곡률은  곡률반경에 역수를 취한 것입니다.   A curve측은 1/100  B Curve측은 0이 될것입니다.

여기서 만나는 점에서의   A Curve측의 순간곡률과 B Curve측의 순간 곡률값이 같다면 이를 우리는 "C2조건을 만족한다"라고 합니다. 통상적으로 "Curvature 조건을 만족한다" 라고 하기도 하지요.

더나아가 A Curve와 B Curve가 C0 C1 C2 조건을 모두 만족하고 있을때 A Curve의 곡률의 변화량과 B Curve의 곡률의 변화량이 일치할 때 이 조건을  C3조건을 만족한다라고 합니다.
곡률의 순간적 미분값이 같다는것을 의미합니다.

아래 그림에서 보는것은  C2조건을 만족한것을  Porcupine Curvature Analysis ( 빗살문니처럼 생긴것이 고슴도치 가시처럼 보인다고해서 붙인 이름입니다. 우리말로 고슴도치 분석법(?) 이라고 해석하면 되려나 ?  ) 로 분석해보면  각 점에서의 곡률를 선으로 듬성듬성 표시했습니다.
아래쪽에  보이는 호가 진짜 Curve이고 위에 보이는 초록색선이 곡률을 이은 것입니다.
























첫번째는 특정 R값과 다른 R값이 Tangent 조건이된는 Sketch를 분석한것입니다.

이를 아래쪽은  Smooth Curve에서  Curvature 조건을 만족하도록 변경을 한것입니다.

중간부분에 이어지긴 했는데  Curvature의 연속성이 2군데에서서 만족하지 목한 것이 보일 것입니다.

이처럼 Curve와 Curve가 만나는 조건을 C0 C1 C2 C3 조건으로 분류하듯이  Surface와 Surface의 관계록 확대해보면 (Surface와 Surface는 서로 만나는 경계 edge의 이쪽끝에서 저쪽끝까지  연속적으로 모두 만족해야 합니다.  ( 예를들어  이것도 A,B Surface라 칭하겠습니다. A Surface의 만나는 Edge와 B Surface의 만나는 Edge 가 모두 가상의 0.001mm  Tube 안에 들어와야 합니다. 이때 조건을 Point 연속성이라 합니다.  ( 단면을 기준으로 칭하는 명칭이니 Point 란 용어에 헷갈리지 마세요) )

Surface는 C0 C1 C2 C3 대신 G0 G1 G2 G3라는 명칭을 사용합니다.  CATIA의 기능 ( FreeStyle 워크벤치에서 특히 ) 을 사용하시다 보면  위와 같은 코드 명칭을 적어놓은 곳들이 있습니다.

여기서  0.001mm 를   시스템이 인정하는 공차값로써  identical Tolerance라고 하기도 합니다.

이 identical Tolerance가 CAD System 마다 다르므로 이종CAD의 Surface가 포함된 DATA를 주고 받으면 Error가 발생하기도 합니다.  (옛날 CATIA V4시절에는 Model Dimension이라는 Setting값이 있었는데 Default로 사용하면 0.1 (mm) 였습니다.  지금으로 치면 격세지감이지요.)

참고로 UG는 0.01(mm)로 알고 있는데  맞는지 확신은 못하겠네요.

다른 CAD는 반드시 mm를 기본단위계로 사용하지 않는답니다.  DATA를 시작할 때 단위계를 DATA에 부여합니다. 부여된 단위계에 따라  0.1 값이 mm 가 될수도 inch가 될수도 있습니다.

적다보니 Operation 기능은  설명하지 않고  이론적인 내용만 잔뜩 적어버렸네요..

조금만 더 설명드리조


Join Healing 툴바에 들어있는 마지막기능은 Disassemble기능 입니다.
이 기능은  여러개의 Edge로 이루어진 Curve나 여러개의 face로 이루어진 Surface를 깨뜨립니다.

전체 GSD 기능중에 이 기능만  유일하게 History를 유지하지 못합니다. ( Generative가 Generative답지않은 기능입니다.)  단위 Face나 Edge단위로 분리 또는 Domain 단위로 분리합니다.


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

2011년 8월 16일 화요일

CATIA V5 GSD Operation 1

GSD의  Operation 툴바의 기능은  Wireframe이나 Surface를 새롭게 생성하는 게 아니라 기존에 생성된 Wireframe이나 Surface 를  자르기 붙이기 등 모든 편집기능을 수행하는 작업 도구 입니다.
여기에는  형상복제의 기능들도 같이 들어 있습니다.

이 역시  부모/자식 관계를 가지고 동작합니다.
그리고 사용자들이 주로 혼동하기 쉬운데 편집기능은 논리적인 부분만 맞으면  1차원요소든 2차원요소든 목적물로서 다 사용이 가능합니다.
예를 들어 SPLIT 기능은  Wireframe을 자를수도 Surface를 자를 수도 있고  결과물은  Split이라는 요소로 나타난다는 말입니다.
자 그럼 각각의 기능들에 대해 구체적 설명에 들어가겠습니다.























제일 먼저 Operation 내에 Join_Healing 툴바 입니다.
여기에는 1차원요소들이나 2차원요소들을 붙이고 원래형상대로 합치고 하는
기능들이 들어 있습니다만.좀 복합적이라 개별기능별로 설명드려야 할것 같네요.

Join 기능입니다.
Join 기능은 2차원요소는 2차원요소끼리 1차원요소는 1차원요소끼리 합치는 기능을 제공합니다. 그렇다고  한꺼번에 선택하면 각각 알아서 만들어 주진 않습니다.
처음선택한 요소가 1차원요소이면 1차원요소들만 2차원요소이면 2차원요소들만 선택됩니다.

















Join 기능을 실행하면 기본적으로 Check connexity 옵션이 자동으로 켜져 있습니다.
이건 연결하려는 요소들이 서로 붙어 있는지를 확인 하는 옵션입니다.
예를 들어 다음과 같은 그림이 있습니다.



















Line.1 과 Line.2를 Join 하려면 할 수 있을 까요 우리눈에 띄게 공간상에 떨어져 있습니다.
 Check connexity 를 켜두면  Error가 발생합니다.  연결이 되어 있지 않으니까요
하지만  Check connexity 를 꺼두면 아무런 제약없이 Join됩니다.
결과물은 한개의 Join 요소가 됩니다.  이 Join요소는 논리적으로 1개의 요소가 됩니다.
우리는 이런 요소를 Multi Domain 요소라고 부릅니다. 한개의 요소에 2개의 Domain이 존재하는 것입니다. 때로는 3개의 Domain이나 4개의 Domain으로 나누어진 요소가 만들어 지기도 합니다.
제가 CATIA를 공부하면서 왜? 이런 철학으로 만들었을까를 고민을 했는데 이 방식에 대한 이해를 하기 까지 5년 정도 걸렸습니다. ( Template과 Programming을 공부하면서 이해를 하게 된것이죠.) 설명해 달라고 해도 한마디로 설명을 못해드립니다.  이건 본인이 느껴야 하는 부분입니다.
check manifold는 요소들이 겹쳐져 있는지를 검사하는 옵션이고 Check tangency는 만나는 부분의 요소들끼리 접하는지를 체크하는옵션입니다.
나머지 것들은 또다른 이론적 지식을 요구하므로 이만 SKIP합니다.

Healing은 여러개의 2차원요소들을 연결할 때  아주미세한 틈을 메우거나 Tangent 조건을  유지하면서 Join 해주는 기능입니다.  단 틈을 메우거나 Tangent 각도를 유치하기위하여 Surface의 수학적 방정식이 약간 변형됩니다.




















Healing은 2차원요소만 목적물로 사용하기 때문에 Curve에는 사용할 수 없습니다.
Continuity 옵션을 Point로선택 하면 GAP만 매꾸어주고  tangent로 설정하면 Tangent 조건까지 맞추어 줍니다. Merging distance는 실제 떨어져 있는 양을 사용자가 지정합니다. Merging distance보다 큰 GAP은 사용자가 일부러 벌려놓았다는 의미를 가지므로 Merge하지 않습니다.
Tangent angle도 사용자가 지정한 값도다 크면 일부러 꺽어 놓았다르는 의미를 내포하므로 작동하지 않습니다.

Distance object와 Tangent object는 사용자가 변경을 가능하지만  0.001mm 이하가 되지 않으면 CATIA system이 두요소가  붙어있다고 인정하지 않으며   0.5도 이하가 아니면 tangent하지 않다고 여겨버리므로 그대로 두세요.


Curve Smooth 기능은 1차원요소의 틈 Tangent조건 Curvature 조건들을 바꿔주는 기능을 합니다. HEALING은 주로 다수의 Surface간에 적용이 되지만  Curve Smooth는 1개의 Curve의 성질을 바꾸어 줍니다.

Curve Smooth는  기존의 Curve의 Vertex부위의 연결성을 변경합니다
목표치는 연결,tagent,Curvature연속성을 목표로 합니다.
이론은 나중에 설명하겠습니다.



Untrim 기능은 원형 Surface를 복구시켜주는 기능을 담당합니다. 이에대한 내용은 약간의 수학적 이론 설명을 필요로 합니다.

원래 3차원 공간에서 Curve는 어떤 인수 u의  수학적 함수 형식으로 나타납니다.
예를 들어  x =  f(u) , y = g(u) , z = h(u) 의 함수형태로 나타납니다.
여기서 특정 u 값을 넣으면  점이 되고   이 u 값을  0부터 1 까지를 연속적으로 값을 넣으면
생성되는 Point를을 연결 하면 자유공간상의 Curve가 됩니다.








이걸 곡면으로 확장하려면  인자가 하나더 있어야 겠죠.  추가적인 인자를 v라고 합시다.
이제 x = f(u,v) , y = g(u,v) , z = h(u,v) 로 표현됩니다.  여기서도 각각의 u 값과 v값을 고정하면 Point로 나타납니다.
이걸 u값을 0 에서 1 까지 v값도 0 에서 1까지 연속적으로 넣어서 Point들을 연결하면 2차원 곡면이 됩니다. CAD에서 자유곡면 Surface를 이렇게 표현하지요.
이걸 그림으로 표현하면 2가지 형태로 로 표현됩니다.








우측그림은 V값이 1일 때 u인자 값을 변경하더라고 방정식의 값이 변경하지 않는 경우에 해당합니다.

사실 기본적으로는 원통형 , 원뿔형 ,평면, 구형, 도넛형 등은 기본방정식을 일반적으로 알고있고 그 방정식을 CAD상에 그래픽으로 표현하면 됩니다.  이러한 Surface를 Canonical Surface라고도 합니다.

하지만 자유곡면 Surface는 최소한 CATIA에서는 상기방식으로 Surface를 형성합니다.
여기에 들어가는 함수의 인자  u 나 v의 차수가 높아지면 해당곡면의 차수가 높아지고 비교적 울퉁불퉁한 자유도가 높아집니다만  미관적인 입장에서의 컨트롤이 힘들어 지죠.

CATIA V4시절에는 상기와 같이 생긴 Surface만이 Surface라고 칭했습니다.
아래와 같이 면에 Curve를 프로젝트 시킨후 그 Surface로 자르게 된 나머지를 V4에서는 Face라고 불렀습니다.  ( 우측의 원형으로 잘린 형태를 말합니다.)







사실 CATIA V4에서는 모델링의 최종 DATA가 Face가 아니고 Surface인 경우는 거의 없었습니다. ( 방정식의 원형 Surface가 실제 제품의 외곽면중 일부를   전부 덮는경우가 거의 드물다는 말이죠 어디서든 잘려서 필요한 부분만 사용하게 되죠)

하지만 CATIA V5에서는 그 명칭의 개념을 변경하여  잘린놈도 Surface 안잘린 놈도 Surface입니다.  Face란 용어는 다른 의미를 가지고 있습니다.   이전 글에서도 설명드렸듯이  Surface가 가지고 있는 내부요소를 의미합니다.

만일 연속된 Surface 3개를  Join 기능으로 붙였다고 가정하면






이 전체가 한개의 Surface가 되고 붙인 1개씩의 원본 Surface는 Surface의 segment단위가 되면서 각Segment에 해당하는 면이 Face가 됩니다. 각segment 단위는 각각 별도의 방정식을 가진 요소가 됩니다. ( 필자가 점선으로 표현해 놓은 것은  u 나 v값이 0.5값을 가지는 선을 표현해 놓은 것입니다. )

그리고 이 방정식의 원형 Surface에서는  u값이 나 V값이 일정한 Curve를 생성할 수 있습니다.
이 Curve를 isoparametric Curve라고 하며 (하기그림에서 빨간선 ) 제가 이전글에서 설명을 빼 먹었죠  Isoparametric Curve를 만드는 기능의 ICON이 있었습니다. .









Untrim 기능은 Multi segment 단위의 요소에서는 작용하지 않습니다.
단일 Segment 단위의 Surface에서 이 Original Surface의 최소 크기를 생성해 줍니다.

(단 CATIA V4에서 잘려진 조각을 untrim 하면  원래크기의 Original Surface를 만들어줍니다.)











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

2011년 8월 14일 일요일

CATIA V5 GSD Wireframe 3

CATIA GSD를 사용하여 모델링을 할 때 비단 CATIA 뿐만이 아니라 여타 CAD소프트웨어로 어떤 Job을 수행할 때 일반적인 사용자들이 Skill 이 약간 향상되면 생산성을 높이기 위하여 ( 빠른시간에 모델링을 수행한다는 뜻이지요 ) 관심을 가지는 부분이 같은 기능의 중복 작업을 하기위한 방법 또는 단축키 이런데 관심을 가집니다.
필자는  CATIA V5가 도입될 때부터 사용을 해 왔습니다. (업무상  늘 사용한것은 아니지만 ) 하지만 단축키에 대한 관심이 별로 없습니다.  지금도 거의 사용하지 않습니다.
하지만 다른사람들 보다 작업속도는 빠르면 빨랐지 느리다고 생각한 적이 전혀 없습니다.
단순형상모델링 몇가지 놓고   "준비 땅" 하고 작업하기 시작하면 다른 사람들보다  느릴지 모르겠지만  복잡한 형상을 모델링 할때는  다른 사람이 필자를 거의 따라오지 못합니다.
( 하지만 제품에 대해 저보다 잘 아는 분에게는 저도 못 따라간답니다... ^^  
설계자은 제품에 대한 모든 기능,정보,법규,생산방식,Knowhow... 등을 잘 알고 있는사람이 실제 winner가 된답니다. )

그 이유는 두가지가 있는데 
첫번째 필자는 모델링을 하기전에 어떨게 만들지를 머리속에 기획을 합니다. 
"이런방법으로 이렇게 이렇게 만들어야 되겠구나"하고 먼저 설계를 합니다. 
이 개념을  모델링 방법론이라고 하는데 이것은 사실 경험이 상당부분 반영을 하기 때문에 초심자에게 이것을 요구하는 것은 어려운 현실입니다.
 하지만 이 분야에 발을 담그신 분들은 항상 이 방법론에 대한 끊임없는 공부를 하셔야 합니다. 누가 가르쳐주는 것은 아니지만 ( 이건 전문가들의 밥벌이 도구에 해당하기 때문에 사실 교육받으셔도 유료교육이 아니면 잘 가르쳐 주지도 않습니다.) 본인이 스스로 방법론을  계속 연구해야만 합니다. 

두번째는 복제 기능의 사용입니다.   필자는  작업시 복제를 매우 많이 사용합니다.  

CATIA V5에서 복제는 2가지 의미가 있는데 1가지는 Geometry 형상의 복제 이구요.  두번째는 논리적 복제 입니다.  바로 앞글에서 논리적 사고에 대한 힌트를 드렸습니다.  필자는  여러가지 요소들을 만들 면서도  굉장히  많은 생각을 하면서 만듭니다. 그리고 같은 개념의 모델링은 복제해서 사용합니다. 

그럼 논리적 복제에 대한 예를 잠깐 설명드리겠습니다.  여러분들은 바로 앞글에서 점 두개를 있는 Phi 10mm 짜리 Surface 봉을 만드는 기능을 배우셨습니다. 
이에 대한 논리적 복제기능을 배워보도록 하겠습니다. 

이전 글의 결과물에서 여러분은 추가로  Point를 두개 더 만들어 봅시다. ( 물론 Coordinate Point로  하시는게 좋겠도 단독으로 만들수 있으면 아무거나 상관 없습니다. )






















필자는  그림에서 보이는 위치에 2개를 추가했습니다.
이전글에서 제일 상위에 나오는 부모가 뭐죠?   Point1과 Point2 였습니다. 
( 이전글 거의 마지막 그림상의 Tree에 나오는 요소 명칭 번호가 마구잡이라 다시 만들었습니다. )
최상위 부모 2개만 제외하고 모두 선택합니다. (트리에서)  컨트롤키나 Shift 키를 누르고 선택하면 되겠죠..  물론 새로 만든 점도 제외합니다. 






















그리고 insert -> Geometrical Set  
그리고 그 상태로 확인 














그러면  아래와 같이 선택한 요소들이 새로 생긴 Geometrical Set 밑으로 모두 들어갑니다.























여기서  "Replication" 이라는 툴바를 찾아서  새로생긴 Geometrical set를 선택한 후 (그림에서는 Geometrical Set.2 가 되겠지요)   "Duplicate Geometrical Set" 라는 기능을  선택합니다.








그러면 아래와 같은 창이 나타납니다. 
먼저 어디에 복제할 것인가를 선택하기위하여  Destination 에서 inside를 선택하고 Geometrical Set.1 을 선택합니다.  그러면 생성되는 Geometrical Set은  Geometrical Set.1 의 제일 밑에 생성될 것입니다. 

그리고  아래쪽 Point.1 위치에서  Point.4번을 클릭 ( 트리든 화면이든 관계없습니다)
Point.2 위치에서 Point.5번 선택 하시면 OK 버튼이 활성화 됩니다.   OK 확인 





















그러면 여러분들은  아래와 같이 논리적으로 복제된 결과값을 얻으실 수가 있습니다. 

























재미있죠^^ 


이게 소위  요즘 유행하는  Template 모델링의 제일 기초가 되는 기능입니다. 
조금더 확장하면  PowerCopy와 User Defined Feature   그리고 Part Template , Assembly Template등 까지 확장하게 될 수 있습니다.  무론  Knowledge가 기본이되지 않는 다면 아주 빈약한  Template이 되겠지만요..  

다음시간에는 GSD Operation  툴바에 대해서  공부해 보도록  하죠..

See You Next Article 

2011년 8월 13일 토요일

테라바이트단위의 개인용 클라우드 시스템

얼마 전 노트북컴퓨터가 이상이 있어 새로 밀기 위하여 (참고로 전 IBM THINK PAD를 5년정도 사용하고 있습니다  이 글도 이걸 사용해서 적고  있구요  역시 IBM 안정성 하나는 최곱니다. 중국 레노버로 노트북 및 PC 브랜드가 팔리면서 그 최고의 명성을 계속 유지해 갈수 있을까 좀 의문 입니다만. )  백업을 하려고  외장 디스크를 뒤졌습니다.   외장 disk 2개가 모두 DATA를 거의 다 차치하고 있어 정리해서 지우자니 시간이 너무 많이 걸릴것 같고 당장 밀고 재설치를 해야 하는 난관에 봉착하였습니다.

전부터 사실 사고 싶던 외장디스크가 있었습니다. 인터넷에서 광고를 많이 봐왔고 사고는 싶었으나 가격이 좀 부담스러운 제품이었습니다.   LG의 넷하드라는 제품입니다.
관심을 가지고 있을 때만해도 1테라제품이 40만원이 넘었습니다만

다시한번 가격을 조회해보니  그동안 가격이 많이내려 25만원정도 수준까지 떨어 졌더군요.
이 시점이 지금글쓰는 시점대비 약 3개월 전의 일이었습니다. 아니 4개월 전인가?

어쨌던 기존에 사용해왔던 개인용 WEBHARD 제품이 있었으나 250GB짜리 HDD 깨먹고  다시 구하려니  때마침 IDE 하드디스크가 단종된 시점이라  우여곡절로 기존에 가지고 있던 외장형 125G짜리 HDD를 떼서 붙이고 다시 복구하는 일이 있었습니다.  그 장비를 개발했던 업체는 더이상 이윤이 남지 않아 개인용 WEBHARD 사업을 포기하는 바람에  차기 버전 (전 SATA DISK를 지원하는 장비가 나오길 내심 기대했지만요 ) 기대를  중단해야만 했습니다.

  중소기업이 WEB도 가능하고 WEBHARD도 가능하고 DB및 BBS시스템도 가능한 여러가지 기능이 가능하면서 가격을 저렴한 제품을  판매하기에는 역시 부담이 갔었나봅니다.
제가 생각해도 뭔가 한가지가 하자가 생기면  AS요청이 생길 터이니까요.   사실 인터넷 망의 문제라던가 하는 복합적인 요소가 끼는 경우가 더 많은데도 말이죠..

  여하튼  이 글을 읽는 독자 여러분들은 덕분에 제가 만든 CATIA FLASH 동영상을 볼수 있는것도 그 장비가  WEB서버 지원이 가능한 때문입니다. ( 저도 여러가지 이유땜에 동영상 컨텐츠를  You-tube로 옮길것인가를 심각하게 고민중입니다만...)

LG제품의 넷하드는 자체적인 WEB서버 기능  정확히 말하면 사용자의 Homepage를 그 시스템 내에 제작하여 보여주는 것이 불가능합니다.

하지만 그 단점을 상쇄할 많한 매우 좋은 기능이 있다는 것을 최근에야 알았습니다.

구입당시에는 전 기존 피쳐본을 사용하고 있었습니다.   그런데 스마트폰으로 바꾸고 지금 3개월째인데  스마트 폰에서  넷하드 제품으로  직접 uploading/downloading을 할수 있는 앱이 개발되어 있다는 것을 알게되었습니다.

이로써 전 1테라바이트의 클라우드 시스템을 가지게 되었습니다.

하지만  집에있는 공유기가 한장비에만 Port forwarding을 해 줄수 있기 때문에( 양쪽장비다 기본적으로 WEB베이스로 작동하기 때문에 두개 동시에 외부에서 접속하는것을 기술적으로 불가하다는걸 알게 되었습니다.)  아쉽게도  집안에서만 사용할 수 있다는 단점을 아직 극복하지 못하고 있지만요.
외부에서 마음껏 사용하려면  여러분들이 Flash 동영상을 보는 WEB서버( 아까 언급한 제품, 조그마한 Linux Box예요 ) 를 포기해야만  하기 때문에  당장은  참고 있습니다.

현재는  집안에서 만큼은  스마트폰으로 자료/음악/동영상등을  마음대로 upload/download 하고 있답니다.








2011년 8월 12일 금요일

CATIA V5 GSD Wireframe 2

CATIA V5의 GSD는 사물에 대한 형상의 기하학적 사고도 요구하지만  논리적인 사고를 동시에 요구합니다.

이제부터 제가 설명하는 것을 CATIA를 이용하지 말고 먼저 머리속에만 상상해 보세요.

1. 어떤 두개의 POINT를  임의의 공간에 만듭니다.
2. 이 두개의 POINT들을  끝점으로 하는 선분을 그립니다. (한개는 시작점 한개는 끝점입니다)
3. 그리고 그 선분의 중간점(Middle 점)에  POINT를 한개 만들고
4. 그점에서 먼저만든 선에 수직인(Normal) 평면을 만듭니다.
5. 그면에 스케치를 만든후 스케치내에서 Phi가 10mm 원을 그립니다.  그리고 그원의 중심점과
나중에 생성한 중간점과 Coincident 구속조건을 부여합니다.
6. 그리고 그원과 선분(이것을 방향으로서 인식시킵니다. 스케치로 그려져 있으므로 자동으로 평면에 수직인 방향을 자동으로 선태하지만서두..) 으로 Extrude Surface를 만듭니다.

여기서 여러분들이 추가로 배우지 않은것은 어떻게 Extrude의 Lim1과 Lim2를 처음만든 점 두개의 위치까지 자동으로 늘어나게 할것이냐 하는 겁니다.  ( 이건 약간의 Knowledge를 적용하면 쉽게 해결됩니다. )

그럼 여러분들이 얻을수 있는 것은 점과 점간을 있는  Phi 10mm 짜리 원통 Surface를 얻을수 있습니다.

여러분들은 형상을 보지 않고 논리적인 추론으로만 머리속에서 상상해 그렸습니다.

머리속에 결과의 이미지가 떠오르는 지요?
안 떠오른다구요?  그럼 그런분은 지금 다른 분야로 전향할 것을 심각하게 고민하시기 바랍니다.

전 조금 철학적으로 얘기하자면  조물주는 인간에게 공평하게 주었다고 생각합니다.(어떤분들은 장애로 태어나신 분도 있는데 어떻게 세상이 공평하냐고 반론을 하실분들도 계시겠지만.  그건  아직 우리사회가 그런분들이 별도로 가진 특장점을 제대로 발휘할 수 있게 사회적으로 뒷받침 해 주어야 하지만  아직 우리사회가 미숙하기 때문에 그렇다고 믿습니다. )
어떤분들은 기억력이 아주 좋은 분들이 계십니다. 어떤 분들은 외국어에 대한 감각이 아주뛰어나신 분들도 계시고, 어떤분들은 한눈에 모든 사물의 특징을 받아들이는 분들도 있습니다.(특히 여성분들이 그런성향인 분들이 많죠) ,어떤분들은 다른사람과 친해지는데에 대해 뛰어난 분들도 계십니다.   이도 조물주가 공평하게 주었다고 생각합니다. ( 사실 전 종교을 믿지 않습니다. 하지만 어떤종교도 무시하진 않습니다  과하지만 않다면  )

이 분야도 마찬가지 입니다. 기하학과 공간감각에 뛰어난 분들이면 방금제가 설명한내용을
머리속에 상상하는것을 아주 쉽습니다.  일반적인 사람들도 상상이 어렵지 않습니다.
그러나 이분야에 아주 적합하지 않으신 분들은 (분명 다른분야의 뇌가 발달해 있을겁니다) 어려울 수도 있습니다.   방향치 성향을 가진 분들이 이 분야에 적합하지 않으신 분들이 제경험상 많습니다.    

 이걸 적성이라고도 하죠..
대기업에선는  필요한 인재를 뽑을때 면접도 보지만 적성 검사를 하는경우도 많습니다.
의외로 별것 아닌 그 시험(?) 이 정확하게 들어 맞는 경우가 많습니다.

딴데로 잠시 빠졌구요..

상상이 되신다면 한가지 경우를 제외하면 Point가 어디에 있더라도 만들어져야 할 것입니다.
생성이 불가능한 한가지 경우란  처음 만드는 두개의 Point가 같은 위치에 만들어지는 것입니다.(이 경우는 두개의 점을 잇는 선분생성에서 벌써 Error가 발생합니다. )
그 외에는 Error가 발생하기 않습니다.

자 그럼 제가 CATIA가 만들때 자동으로 생기는 Id명 처럼 Id값을 붙인 이름을 만들어 보겠습니다.

1. 점 두개는  Point.1  Point.2 라고 하죠.
2. 선분  Line.1 이라고 하죠
3. 중간점  Point.3 이라고 합시다.
4. 평면 Plane.1 이라고 하죠
5. 원형 스케치  Sketch.1이라고 합시다.
6. 마지막 곡면은  Surface.1 이라고 하죠.

이제부터 부모/자식 관계를 정의해 봅시다.
자식 기준으로 부모만 언급해 봅시다.  부모/자식은 서로 상관관계이므로 한쪽이 부모이면  다른쪽은 자동으로 자식이 되겠죠.

Line1 의 부모는 Point.1과 Point.2 입니다.
Point.3 의 부모는 Line.1 이 됩니다.
Plane.1 의 부모는 Line.1과 Point.3 가 됩니다.
Sketch.1의 부모는 우선 스케치를 만들때 평면이 필요하므로 Plane.1이 첫번째부모가 됩니다.
   그리고 Point.3와 Coincident를 하였으므로  Point.3가 두번째 부모가 됩니다.
마지막으로 Surface.1 의 부모는 Sketch.1과 Line.1이 됩니다.
자식은 거꾸로 생각하면 되죠..

부모자식관계가 조금은 이해가 가시나요?

그럼 여러분들은 이걸루 CATIA로 모델링을 해보세요.  마지막 Surface의 길이조정은 별도루 알려 드릴께요.

혹 Geometry영역에서 선택하기 힘들면 트리에서 요소를 선택하세요.

첫 번째 Point는  임의의 좌표값으로 넣는 Coordinate방식이 좋겠네요. ( 하지만 아무걸로나 만들어도 관계없어요)

가급적이면 Geometrical Set안에서 만드세요.  ( Hybrid 방식의 PartBody에서 생성도 가능하지만 처음 배우실 때에는 이걸 권장합니다. )  pull down 메뉴의 insert -> Geometrical Set

두번째 Line은 Point-Point Type으로 만드시면 되구요.
세번째 중간점은  On curve의 Middle  Point 로 만드시면 됩니다.





















네번째 평면은  Normal to curve로 만들면 됩니다.  ( 실습이니까 반드시 Point를 찍으세요)












다섯번째 스케치는 다 그릴 줄 안다고 보고 설명 안하겠습니다. 구속만 정확히 시켜주세요.

여섯번째  Surface만 남았네요.  Extrude를 선택하면


















길이 값응 제어한는 부분이 나옵니다. 이부분에서 마우스 우측버튼을 누르면
아래와 같은 메뉴들이 나오는데 이중 Edit Formula를 선택합니다.
















그럼 아래와 같은 창이 나오는 데
빈칸에 아래 그림과 같이 적어놓으세요.  length( ) 라고 적습니다.  (소문자 입니다.)
그리고 빨간색 위치에 마우스 커서를 두고서 트리에서 line.1 을 더블클릭 합니다.






















그러면 자동적으로 괄호안에 아래와 같은 내용이 들어갑니다.  그리고  괄호 바깥에서 "/ 2" 를 추가합니다.  ( 이는 "선분 line.1의 길이의 절반값을 넣어라" 라는 뜻입니다.)










그리고 확인을 누릅니다.  ( lim1과 lim2 두 부분에 모두  formula를 추가해야 합니다.)
그러면 아래와 같은 Surface가 됩니다.




이 때  처음 만든 두개중 아무거나 좌표값을 변경해 보세요.   원형봉이 변형될 겁니다.

이게 GSD가 추구하는 Wireframe과 Surface의 Parametric 모델링 입니다.

Parametric 모델링과  대비되는 개념의 용어가 Explicit 모델링 입니다.

여러분은 CATIA의 아래쪽 Tools 툴바에서 Create Datum 이란 아이콘을 더블클릭한 상태로
모델링 하시면 (아이콘이 그림과 같이 활성화 상태로 보이게 됩니다.)




여러분은 Explicit 상태로 모델링을 할 수 있습니다. Explicit 상태에서는 오직 스케치만 변경할 수 있을 뿐 다른 것은 아무것도 변경할 수가 없습니다.  심지어 부모로 사용했던 요소들을 지워도 Error가 발생하지 않습니다.  아래쪽에 Parametric 상태의 모델링의 트리와 비교해 보시면 확연히 다른것을 아실수 있겠죠.

















옛날 CATIA V4시절에는  Explicit 상태로 모델링을 했었답니다.

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

2011년 8월 5일 금요일

CATIA V5 GSD Wireframe 1

CATIA를 계속 사용하시다보면 Order 란 용어와 Parent/Children이란 용어에 점점 익숙해 지셔야 합니다.
기본적으로 CATIA의 Part Modeling을 하는 Tool들 중에 Part Design, Generative Shape Design(GSD), Generative Sheet Metal Design등이 주로 상기 두용어와 밀접한 관계를 가지고 있는데  Order란 모델링을 하는 순서에 따라 형태가 바뀌는 것으로 GSD에서는 Ordered Geometrical Sets 란 형태로 지원을 합니다. 하지만 일반적으로는 GSD에서는 Order를 사용하지 않습니다. 

Parent/Children이란 부모자식 관계를 맺으며 형상을 만들어 갑니다. 

스케치를 만들려면  Plane이 존재해야 하며 이때 Plane.1 이란 놈으로 Sketch.1이란 놈을 생성했다면   Plane.1 은 Sketch.1 의 부모가 되며  Sketch.1 은 Plane.1 의 자식이 됩니다. 

CATIA에서는 보통 (꼭 그런것은 아니지만) 기본적으로 제공하는 Plane 3가지를 이용하여 모델링을 해 나갑니다.  이때 제일 상위에 존재하는 부모 ( 조상이라고 해야할 까요?)가 Plane XY, Plane YZ, Plane ZX 들이 됩니다. 

사용자는  특정 ICON의 부모자식간의 관계를 검색하고 싶으면  Context Menu(MB3)에서  Parent/Children 항목을 선택하면  관계에 해당하는 창을 보여 줍니다.

부모자식의 관계를 잘 이용하여 오랫동안 모델링을 하다보면 CATIA V5의 커다란 능력을 이해하게 됩니다.  부모가 바뀌면 자식의 형태가 어떤식으로든 변경됩니다. 이를 Relation Design이라고도 표현을 합니다.

최신유행하는 CAD들은 점점 Releation Design을 지원을 지원합니다.
주로 한개의 모델단위 즉 Part 단위에서 Relation을 지원하는 CAD들은 많습니다.

CATIA는 이것을 Assembly 단위까지 확장가능 하도록 만들었습니다.
앞단의 DATA가 변경되면 후미의 DATA가 같이 변경되는 것입니다. 예를 들어 BOLT의 크기가 바뀌면 BOLT를 취부하는 어떤 부품의 TAB크기도 연관되서 바뀌는 컨셉입니다.
( 이 개념을 적용한 모델링방법을 Relation Modeling이라고도 합니다. )

범위를 축소해서 Part 단위에서만 이야기해 보도록하지요.

아까  부모가 바뀌면 자식이 바뀐다고 했죠. (여기서 부모가 바뀐다고 해서 Point를 Plane으로 바꾼다던지 Curve를 Surface로 바꾼다던지 하는 극단적인 경우는 불가능 합니다. Curve일경우 Curve의 형태가 바뀐다던지 다른 Curve로 치환된다던지 하는 경우를 의미하지요. )

그러면 비슷한 형태의 물건을 계속 만들어내는 회사가 있다고 합시다. (예를 들어 문의 손잡이를 만드는 회사라고 하죠.  이 회사는 문의 손잡이를 계속 새로운 Design으로 변경하면서 새로은 제품출시를 합니다. 무론 현관문과 실내에 있는 문과는 컨셉이 다를터이구요 실내에 있는 문 도  동그란 원형손잡이와 길쭉한형태의 손잡이가 있을 것입니다.
원형손잡이는 그것끼리   길쭉한손잡이는 또한 그것끼리  형태과 모습은 달라도 조금씩 밖에 변경되질 않았을 거예요..   이 비슷한 ITEM 끼리 묶어서 한개의 형태를 부모자식의 관계를 잘 유지하도록  만들게 되면 여러분은 초기 컨셉만( 예를들어 손잡이의 프로파일이라던지 외관 Surface가 될수도 있겠죠. ) 변경하면 전혀다른 손잡이를 설계상으로만으로 대량생산 할수 있는 길이 열립니다.

제가 이런 일을 할때마다 사실 경영자입장에 있는 사람들은  어떻게 하면 인원을 줄일까부터 생각하더라구요.  사실은 그일을 하는 설계자입장에서보면 단순 반복적인 일을 벗어나서 새로운 개념의 손잡이를 구상하는 창조적인 일에 인력을 매진 시켜야 하는데도 말이죠.  슬픈일이죠....

이런 컨셉을  요즘세상에서는 Template라고 합니다. ( 요즘 제밥벌이가  이런일이 되어 버렸네요.. )

요는 "Curve를 변경하면 SOLID 형상이 변경된다"라는 말이 되지요.

그 말인 즉슨  "Curve가 불량이면 SOLID도 불량이고 이에 따라 생산되는 제품도 불량이 된다" 라는 것을 말해주고 싶은 겁니다.

그래서 Wireframe을 잘 공부하셔서 품질이 아주 높은 제품을 만드시라는 겁니다.

여러분은 상기와 같은 컨셉을 잘 이해하고 만들게 되면  Duplicate Geometry 또는 PowerCopy라는 기능을 사용하여 설계생산성을 2배  3배 이상 높일수 있습니다.

제가 만든 Template중에는 기존 생산성의  10배이상 높인 ITEM도 있답니다.

물론 Template를 잘 만드시려면  Knowledgeware의 방법론을 추가해야만 하는 숙제가 있지만요..

Wireframe을 들어가기 전에 공부 열심히 하시라고 좀 적어 보았습니다.

먼저 Wireframe element는

0차원요소와  1차원요소 2차원요소를 생성하는 기능이 있습니다.

원래 2차원 요소는 Surface이나  Plane의  GSD에서는 Wireframe요소로 분리해 놓았습니다.
R18을 기준으로 적고 있습니다.

























설명으로만 적어보겠습니다.

Point 는 공간상에 1개의 점을 만드는 역할을 합니다.  Point를 만드는 방법으로는
아주 다양한 방법들을 지원합니다.
  1.좌표의 x,y,z 값으로 생성하는 방법
  2.특정 Curve나 Line 상에 거리값이나 비율로 생성하는 방법
  3.특정 평면위에 H,V 좌표값으로 생성하는 방법
  4.특정 Surface상에 기준점 대비 거리로 생성하는 방법 (논리적으로 명확하지 않은게 단점)
  5. 원,구, 타원은 중심위치에 생성하는 방법
  6. 특정 Curve위에 어떤 방향의 접선위치에 생성하는 방법
  7, 점과 점의 사이에 비율로 생성하는 방법
등이 있습니다.

Point & Planes repetition 기능은 Curve상에 Point를 일정거리비율로 나누어서 여려개를 만드는 기능입니다.  Normal Plane도 동시에 생성할 수 있습니다.

Extremum 과 Extremum Polar 는 각각
어떤 요소의 특정 방향으로 최 첨점 과 특정 면과 축을 기준으로 회전시켰을 때의 최첨점 최대 및 최소 반경의 첨점을 생성합니다.
하지만 첨점이라 해서 반드시 점만 생기는 것은 아니고 조건에 따라 Curve가 생기기도 면이 생기기도 해요.  어떤때는 두세점이 동시에 생기기도 한답니다.

그리고 두번째 열에 있는 선기능 입니다.

Line 역시 공간상에 직선 ( 반드시 직선만 생기는 것은 아닙니다. 때에 따라 곡선이 될수도... )을 만듭니다. 여러가지 옵션이 있습니다.
 1. 특정 점과 특정 점을 있는 직선
 2. 특정 점과 방향을 가진 직선
 3. 특정 Curve상의 어떤 점에서  그점의 위치에서 접선에 특정각도를 이루는 직선 을 생성합니다. (이때 특정Curve가 직선이면 각도를 정의하려면 평면이 수반되어야 겠죠. 스케치로 직선을 만든경우에는 Default 로 스케치를 그린 평면이 선택됩니다. )
 4.  특정 Curve상의 점에서의 접선을 생성
 5.  특정 Surface상의 점에서 수직인 법선을 생성
 6.  선과 선의 각도의 중간 선을 생성
등이 있습니다.

Axis는 어떤 원통면 Surface의 중심선을 만들어 줍니다. 이게 Solid의 내부요소라도 관계없습니다.  ( Axis라는 이름을 가진 요소가 한개더 존재하니 헷갈리지 말아주세요. 또 다른 한개의 정확한 이름은 Axis System 입니다. 특히 한국 사람들끼리 말할 땐 줄여서 해버리니 혼돈스러운 때도있죠 ...   Axis System은  Local xyz좌표축을 만드는 기능입니다.  )

Polyline   공간상에 여러개의 Point가 있으면 그것을 이어주는  1개의 연속되 선분 집합을 만들어 주는 기능입니다.  이때 선분과 선분을 연결하는 부분은 공간상에 수직한 방향으로 볼때의 각각의 Corner 반경을 생성해주는 기능도 있습니다.   PIPE생성시 주로 이용합니다.
( 그런네 PIPE는 제작공정상 모든 굽힘 위치의 반경이 같죠..^^ )

자 갈길이 멉니다.

다음은 Plane기능입니다.
CATIA는 Part 문서를 생성하면 기준이 되는 Plane 3개를 자동으로 지원하죠.  여기서 부터 시작하시면 될것 같네요.

 1. 특정 평면에 평행하며 일정거리가 떨어져 있는 평면 생성
 2. 특정 평면에 평행하며 특정 점을 지나는 평면
 3. 특정 평면을 특정 축에 일정각도로 회전한 평면 생성   이때 회전축이 먼저 생성되어 있어야 합니다.
 4. 공간상의 3점을 모두 지나는 평면 생성  ( 3점이 같은 직선내에 존재하면 기하학의 원칙에 위배되지요.  당연히 그런경우 생성 안됩니다. )
 5. 공간상의 2개의 직선을 지나는 평면 생성 ( 우선 두선이 일치하면 기하학의 원칙위배에 따라 생성불가,  두 직선이 공간상에 교차하지 않으면  두번째 직선을 첫번째 직선이 있는 위치까지 평행이동한다음 평면을 생성합니다. 선택의 우선순위가 생긴다는 말이죠.. )
 6. 한점과 1개의 직선은 지나는 평면생성 ( 역시 점이 직선내에 있으면  기하학 원칙 위배로 Error유발 )
 7. 특정 Curve위의 한 점에서 수직한 평면생성
 8. 특정 곡면의 한점에 접하는 평면생성
 9. 수학정 방정식으로 평면생성 ( 이 기능 사용할 사람은  수학자나 물리학자 외에는 없을듯... )
 10.  마지막으론 3개이상의 점들이 공간에 있을때 가장 평균에 해당하는 평면을 생성 ( 태양계의 행성들을 점으로 생각하고 평면을 상상해 보면 되겠죠..)

그 다음 4번째에 있는 ICON들 입니다.
Project ,Combine ,Reflect 입니다.

Project는   어떤 점을 선이나 Surface에 투영하거나, 어떤 선을 Surface에 투영하는 기능을 합니다.  점을 투영하면 점으로 나타나고 선을 투영하면 선으로 나타나겠죠.
선을 기준으로 개념을 설명하면 투영될 곡면상의 어떤 임의의 점은 각각  그 곡면에 수직인 수직벡터가 존재합니다. 이 벡터와 투영하고자 하는 선이 만날 때(이때 선은 곡면에 붙어 있을 수도 있고 떨어져 있을 수도 있습니다.)   곡면상에  Point를 그립니다. 또 그 다음 만나는 수직벡터와 만나면 곡면상의 점을 그리고....  이런 행위를 반복하게되면 이점들의 집합은 곡면상에 곡선의 형태로 나타날 것입니다. 이렇게 생성된 곡선이 Project입니다. ( Normal 옵션일 경우입니다. ),또 한가지 옵션인  Along a direction 옵션은 그냥 투영할 직선을 특정방향으로 밀어서 곡면과 만나는 곳에 선을 그립니다.

Combine은  예를 들어 X방향에 수직인 평면위에 2차원 곡선을 그리고  Y방향에 수직인 평면위에 또다른 2차원곡 선을 그렸을때  공간상에 만나는 위치에 3차원 곡선을 만들어 줍니다.
요는 2차원 곡선들을 X,Y방향으로 각각  Extrude 한 면들을 다음에 오는 intersect 기능으로 생성한 완벽히 일치합니다.

Reflect 기능은 원래 곡면의 특정방향에서 볼때의 최외곽 곡선을 만들기 위한 기능입니다.
선광원과 점광원의 기능으로 보면 될것 같네요.
cylinder는 공을 태양광하에 두었을때  그림자가 시작되는 위치를 볼펜으로 그린것과 같은 기능입니다.  conical 은 백열전구를 비춘것이라고 생각하면 되구요.
이때 그림자는 땅에 비춰진 그림자가 아니구 공자체에 나타나는 그림자를 의미해요.
각도 기능도 지원하니 TEST해 보세요.

다섯번째 ICON은 intersect입니다.
면과 면, 선과 면, 선과 선이 만난다고 가정할 때 만난 흔적을 생성하는 기능입니다.
( 2차원과 2차원이 만나면 1차원, 1차원과 2차원이 만나거나 1차원과 1차원이 만나면 0차원요소가 생성됩니다. )

6번째의 ICON은  Parallel Curve와 3D offset Curve입니다.
Parallel Curve는 곡면(평면포함)을 끼고 삽니다.  이 기능은 특정 Curve를 면을 따라 일정거리를 유치하며 Curve를 생성합니다.  승용자동차 차체 Panel 제작 시  특정 거리의 Flange 형상을 끝을 정의 할 때 많이 사용됩니다.  면상에 Point가 있으면 그 Point까지의 거리를 자동측정해서 생성해 주기도 합니다.

3D offset Curve는 Cure 곡면이 없는 Curve를 공간상에서 일정거리를 떨어뜨릴때 사용합니다.
단 거리의 이동이 될 기준이 있어야 하기 때문에 사람이 시각적으로 보는 방향을 선정합니다.

7번 때 ICON에는
공간상의 Circle , Corner, Connect Curve, Conic을 포함합니다.
Circle입니다.  Curcle 요소는 기본적으로 여러분들이 선택하는 요소들이 특정평면을 정의하지 못할 경우에는 반드시 평면을 선택해주어야 합니다. 필요할 경우 평면을 offset 이동시켜 정의합니다. (그런데 CATIA가 자기맘 대로 해석하는 경우가 많아서 확실한 경우만 사용하세요. 2차원평면상에서 만드는 개념이 아니라 3차원공간상에서 만들다 보니.. )
  1. 중심점과 반지름입니다.  ( 평면을 정의해 주어야 겠죠)
  2. 중심점과 반지름을 정의하는 점을 선택
  3. 두점을 지나고 특정 반지름을 가진 Circle 생성
  4. 3 Point를 지나는 Circle (평면정의가 불필요 하겠죠)
  5. 특정 선(축)과 그 축에 수직하면서 한점을 지나는 평면상에 일정 반지름의 Circle 생성
     ( 반지름의 중심은 옵션에 띠라 축이되기도 하고 점이 되기도 합니다.)
 
   이 이후 옵션들은 평면상에서만 사용하세요.
  6. 두요소에 접하고 특정값의 반지름으로 정의
  7. 두요소에 접하고  두번째요소의 한점을 지나는 Circle생성  ( 점이 두번째요소에서 떨어져 있더라도  프로젝트한 위치를  자동 인식합니다. )
  8. 세요소에 접한는 Circle 생성
  9. 한점을 원점으로 한요소에 접하는 Circle생성

 Corner : 두 요소사이에 Corner R값을 가지는 형상을 만들어 줍니다. ( 한요소가 꺽여 있더라도  Corner on Vertex를 사용하면 자동 R값을 가진 요소를 만들어 줍니다. )
  3D corner옵션을 사용하면  공간상에서 만나지 않더라도 특정방향을 지정해줌으로써 그 방향에 서 볼때의 R값을 가진 Curve를 만들어 줍니다.

Connect Curve는 서로 떨어진 두개의 Curve들을 있는 가교 역할을 합니다. 기본적으로 Tangent조건이 Default로 되어 있습니다. 그리고 방향성을 잘 선택해야 합니다. 빨간색 화살표로 나타납니다.

Conic은 두개의 선을 이을 때  Curvature 연결성을 유지하는 Curve를 생성해 줍니다.
기본개념은 아래와 같습니다.

























여기서 초록색선이 접하는 선이고 파란색선의 양끝이 시작점과 끝점
P가 Parameter값을 의미합니다.
삼각형의 밑변의 이등분점과 꼭지점을 연결한 길이를 1로 보고 지나는 위치를
Parameter 값으로 넣어줍니다.  여러가지 선택옵션이 있습니다만.  기본적인 Conic의 형상이
같습니다.

마지막 9번째 ICON 기능에는 5개의 기능이 있습니다.
Spline , Helix , Spiral, Spine, Isoparametricl Curve  입니다.

Spline은  공간상에 있는 선택한 Point들을 연결하면서 다차원 Curve를 만들어 주는 기능입니다.
   각 Point마다 접선조건을 줄 수도 있습니다.

Helix는 직선형 Spring 의 기본선을 만드는 기능입니다.  시작점과 방향(축)을 정의하면 Pitch,전체길이,들을 정의 할 수 있습니다. 시계방향,반시계방향도 정의가능하며 반지름의 변화도 줄수 있습니다.

Spiral은   나선을 정의 합니다.  태엽을 그리는 기능이라고 보시면 되겠습니다

Spine은  Curve 자체로써는 의미없는 요소입니다만.  나중 Surface중에 특히 Swept Surface(Sweep)를 제어할 때 제어용으로 사용됩니다. Swept Surface는 Spine의 Normal Plane으로써 Section이 형성되며 곡면이 생성됩니다.    spine기능을 거꾸로 먼저 평면들을 먼저 만들어 사용자로 하여금  Swept Surface의 곡면형상 제어용 Curve를 미리 만들어 두는 기능입니다.

Isoparametrical Curve는 원래 CATIA V4의 Surface 생성개념에서 나온 기능로 상당한 이론적인 설명이 필요한 내용입니다. 이전 Release까지는 이 기능이 없었습니다만. 아마도 기존에 V4를 사용했던 사용자들이 많이 요구했던 모양입니다. 나중에 기회가 되면 설명하도록 하겠습니다.

정말 많죠.

See You next Article

부산역광장 야경입니다

Published with Blogger-droid v1.7.3