sheet 정보 추출하기
아래 코드를 참조하시기 바랍니다.\ DgnIndexItemP indexItem = NULL; DgnIndexIteratorP pIterator = mdlModelIterator_create(mdlModelRef_getDgnFile (mdlModelRef_getActive())); while(NULL != (indexItem = mdlModelItera...
아래 코드를 참조하시기 바랍니다.\ 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...
mdlLinkage_appendUsingDescr 호출 실패 때문에 미치겠습니다. 다른 프로젝트와 똑 같이 했는데 왜 실패하는지? mdlCell_create(&groupCell, pToken1->buf[2], NULL, FALSE); mdlElmdscr_new(&chainDscrP,NULL,&groupCell); a...
mdlLinkage_appendUsingDescr을 사용하면 만들어진 Graphic Data에 여분의 사용자 데이터를 추가할수 있습니다. 아래 코드를 보시죠. LinkageHeader tLinkHdr; int nStatus; memset(tLinkHdr, '\0' , sizeof(LinkageHeader)); tLinkHdr.info =...
Interference Manager를 통해서 jsm 파일을 만들때, dgn item에 들어 있는 내용은 jsm 파일의 property에 넣어 줄수 있습니다. 하지만 dgn item에 없는 사용자 property를 넣어주기 위해서 간략한 MDL App.를 만들었는데 이것의 문제점은 실제로 interference가 발생하지 않으면 MDL App의 함수...
Bentley 제품군에서 Navigator라는 제품이 있습니다. 이름에서도 풍기듯이 모델링하는 툴이 아니라 뷰어입니다. Navigator가 jsm 파일을 읽을 수 있는데 이 jsm 파일은 Dgn 파일을 변환시킨 것입니다. 왜 굳이 시간을 들여가면서 Dgn 파일을 변환하여 jsm 파일을 만든 후에 이것을 Navigator로 볼까? 하는 의구심이 들기도 ...
#include #include #include #include "w2Dgn.h" #include #include externvoidloadCellLibraryIfNeeded(char*libToLoad); /*---------------------------------------------------------------...