BsplineSurface에서 Mesh 데이타 구하기
아래와 같은 단계를 통하여 BsplineSurface의 Mesh 데이타를 구할 수 있습니다. MSElementDescr을 MSBsplineSurface 타입으로 변환 MSBsplineSurface oBsplineSurf; mdlBspline_convertToSurface(&oBsplineSurf , element); ...
아래와 같은 단계를 통하여 BsplineSurface의 Mesh 데이타를 구할 수 있습니다. MSElementDescr을 MSBsplineSurface 타입으로 변환 MSBsplineSurface oBsplineSurf; mdlBspline_convertToSurface(&oBsplineSurf , element); ...
고객사로부터 아래와 같이 Dimension을 표기해 달라는 요청이 들어왔습니다. Dimension을 Dual로 표기해 달라는 것인데, 상단에는 ft-inch로 하단에는 metric으로 표기해 달라는 것이었습니다. 이렇게 표기 가능하도록 MSTN J7의 Dimension 환경 설정을 해보도록 하겠습니다. [Dimension Settings –&g...
MDL 프로그램을 하다가는 성질을 버릴것 같습니다.\ 이런 형편없는 UI 툴을 제공하다니… 다이얼로그 에디터에서 텍스트와 칼라 픽커를 생성했습니다.\ 이 두 아이템들을 동기화 시키고 싶을때 - 텍스트에서 칼라 번호를 입력하면 칼라 픽커의 색상이 변경되고 칼라 픽커에서 색상을 선택하면 텍스트의 칼라 번호가 변경 -\ 아이템의 속성 창을 보면 Syn...
앞서 Element를 탐색하는 방법을 알아봤는데 이번에는 또 다른 방법을 알아 보도록 하겠습니다. 이번에 알아볼 방법은 Callback함수를 이용하는 방법입니다. Callback함수를 등록시켜 놓으면 scan시 Element를 찾을때 마다 Callback함수를 호출합니다. 아래의 코드를 참조하세요 /*-------------------------...
제목을 쓰다 보니 길어졌는데요, 간단히 말하자면 3D에서 2D로 변환시킬 때 3D의 기준 좌표로 어디를 선택하느냐는 것입니다. 지금 수행중인 도면 자동화 프로그램에서(PDS용) ISO 뷰에 대한 도면 작업을 하는 부분이 있습니다. 그래서 일반 뷰(TOP,BOTTOM,LEFT,RIGHT,FRONT,BACK)에서 처럼 3D 좌표를 2D로 좌표로 변환시...
아래 코드를 참조하시기 바랍니다.\ DgnIndexItemP indexItem = NULL; DgnIndexIteratorP pIterator = mdlModelIterator_create(mdlModelRef_getDgnFile (mdlModelRef_getActive())); while(NULL != (indexItem = mdlModelItera...
아래 이미지를 참조하세요. 그림에 제가 번호를 매겨 놓았습니다.
메모리 할당/해제에 당연히 어느 정도의 비용이 든다고는 알고 있었지만, V7에서의 눈에 띄는 성능 저하는 메모리 할당/해제의 문제라 생각하지 못할 정도였다. 몇백개의 line,text들을 생성하는데 생성하는 것을 눈으로 확인할수 있을 정도로 속도가 느렸습니다. 메모리 할당/해제 대신에 배열을 사용하니, 정말 눈깜짝할 정도의 시간에 모든 line...
mdlView_hiddenLineRemoval2을 사용할때 첫번째 인자가 preFunction을 가르키는 함수 포인터이다. 이 preFunction이 하는 기능은 hidden 처리를 하는 과정에 앞서 현재 Active된 모델의 각 element들에 대해서 hidden 처리에 포함시킬지 여부를 결정한다. 이 preFunction 부분이 V7에서 X...
mdlText_create대신 mdlText_createWide를 사용하는 가장 큰 이유는 텍스트의 기울기를 줄수 있기 때문이다. int mdlText_createWide ( MSElementUnion *out, /* <= text element created */ MSElementUnion *in, /* => templat...