ARX119의 BIM/CAD 연구소

arx119.egloos.com

포토로그 방명록 업그레이드/기능 요청



GIS 정보의 캐드 도면화 및 분할 출력 프로젝트 소개 변환프로그램

안녕하세요.

최근 수행한 프로젝트를 소개해 드리려고 합니다. 이 프로젝트는 현재 모 기업에서 운영중인 GIS 기반의 시설 정보를 도면화하고  분할 정보에 따라서 자동 출력하는 것이 주요한 요구 기능이며 더블어 범용 캐드에서 에드인 방식이 아니 독립 실행 가능하도록 제작을 의뢰 받았습니다.

잘알고 계시듯이 일반 범용 캐드를 사용하지 않으면 OpenDesign의 Tigha 툴킷을 사용하면 되겠지만 사용자 인터페이스 및 개발시 발생할 수 있는 이슈들을 Tigha 툴킷으로 해결할지 의문이 있었습니다.


개발중에 발생된 큰 이슈 사항은 다음과 같습니다.

첫번째 : 사용자가 화면에서 특정 위치 및 입력값의 전달
Tigha 툴킷에는 사용자 인터페이스 구현은 개발회사의 몫으로 남겨놓고 큰 방향의 API를 지원하고 있습니다. 예를 들어 acutGetPoint와 같은 함수를 직접 구현 하거나 , 인텔리캐드 진영의 API를 가져다가 써야 합니다. 저의 경우에는 몇가지 간단한 함수만 필요한 이유로 직접 개발하는 것으로 진행했습니다.

두번째 : 배치 플롯의 품질 및 속도 
개발 초기에 모델 스페이스에서 분할도면을 구성하는것과 레이아웃에서 구성하는것을 고민했습니다. 하지만 GIS 기반의 시설 도면의 크기가 작지 않다는 사실에 레이아웃에서 구성하는것으로 진행했습니다. Tigha의 기본적으로 제공하는 그래픽 드라이버는 속도가 늦고 출력시 트루타입 문자가 뭉개지는 현상이 발생됩니다. 

주요기능 소개

1. GIS 시스템 정보의 캐드 도면화 작업
GIS시스템에서 조회 결과는 일반 텍스트 정보를 받게되고 이것을 캐드 객체로 전환하는 작업입니다. 이때 GIS의 메쉬업 레이어를 유지하여 CAD의 레이어를 구성하고 GIS 심볼은 캐드 블럭 객체로 텍스트는 문자 객체로 변환하는 작업입니다.
- 1번 : 본 프로그램에서 제공하는 메뉴 및 툴바 명령어 입니다.
- 2번 : 도면화가 완료된 메인 뷰 화면이며 MDI를 지원하고 있습니다.
- 3번 : 레이어 필터 기능으로 범용 캐드가 가지고 있는 레이어 필터와 유사합니다.
        - 본 프로젝트에서는 필터 선택에 의한 캐드 객체의 속성 변화 및 문자 정보가 변경이 되는 차이점이 있습니다.
        - 용지크기 및 사용자가 지정한 스케일에 의해 문자열이 크거나 작을때 개별적으로 조절하는 기능을 포함합니다.
- 4번 : 개별적으로 레이어를 ON/OFF할 수 있습니다.

2. 작업도면의 출력 영역 분할 지원
작업도면이 GIS에서 변환된 정보이므로 작업 영역이 크다는 것이 특징중의 하나입니다. 따라서 영역 분할시 별도의 창을 통해서 사용자가 직접 영역을 선택하면 선택한 영역에 맞도록 자동 분할을 진행해 줍니다.

- 1번 : 도면 분할 대화상자 실행 툴바 및 실행 결과 모습입니다.
- 2번 : 도면 분할 설정 옵션으로 사용자가 직접 분할 개수 및 프린터, 용지, 플롯 스타일 등을 결정합니다.
- 3번 : 사용자가 분할영역(붉은색)을 지정하면 프로그램이 자동으로 분할영역(노랑색)을 생성합니다.
- 4번 : 사용자가 분할영역을 완료하면 아래와 같이 분할영역이 넘버링되어 표시가 됩니다.
3. 표재란 구성 및 편집 지원
기본 템플릿 표재란에서 특정 부분을 수정하는 기능입니다. 여기서는 결재란 및 담당 프로젝트 및 공사명을 수정할 수 있습니다.
- 1번 : 표재란 구성 툴바 명령어 및 실행 모습입니다.
- 2번 : 체크 박스를 사용해서 표시되지 않게 할 수 있습니다. 결과는 3에서 표시됩니다.

4. 주석 지시선 편집 지원
지적도에서 시설정보의 주석이 다른 주석과 겹쳐질 경우 출력시 알아보기 힘들수 있습니다. 따라서 선택한 주석의 시설정보과 동일한 모든 주석 문자들을 선택해서 위치를 변경하고 지시선을 표시하는 기능입니다.

5. 배치플롯 대화상자 지원
분할영역을 개별적으로 미리보기 할 수 있으며 일괄 배치 출력 및 개별 출력을 할 수 있는 대화상자 입니다.
 - 1번 : 배치플롯 실행 툴바명령 및 실행 결과 모습
 - 2번 : 3번에서 특정 항목을 선택하면 보여지는 미리보기 화면입니다.
 - 3번 : 맨 처음 항목은 사용자가 선택한 영역에서 분할도면의 넘버링이 표시되어 전체모습을 보여주고 
       이후 항목들은 분할된 영역의 항목들이 표시됩니다.

결론 

프로젝트 초기에 우려했던 OpenDesign의  Tigha 툴킷의 지원 범위 및 출력 품질에서는 크게 문제가 되지 않았습니다. 캐드 객체로 도면화하는 시간 및 화면에서 특정 객체의 정보를 조회하거나 삭제, 생성하는데 소요되는 시간 및 안정성이 좋습니다. 정말이지 시간과 자본만 충분하다면 누구든지 이 툴킷으로 범용캐드를 만들어 낼수 있을것 같습니다.

감사합니다. 

덧글

댓글 입력 영역



구글번역

통계 위젯 (화이트)

946
231
641728

국가접속Flag

free counters