지식은 공유되었을 때 그 힘을 발휘한다.



Excel VBA, AutoCAD ActiveX 맛보기 강좌(15)

AutoCAD를 VBA로 다루기
CAD는 Cumputer Aided Design의 약자라는 것은 누구나다 알고 있는 사실입니다. 하지만 정말 Design하는데 얼마나 활용되고 있을까요? 그리고 얼마나 효율적으로 사용될 수 있을까요? 사실 손으로 도면을 그리는 것과 캐드로 도면을 그리는 것하고 비교했을 때 어떤 경우에는 손으로 그리는 경우가 훨씬 빠른 경우가 많습니다. 손으로 도면을 그렸던 시절에는 설계자가 그린도면을 투명한종이(트레이싱지)에다 다시 잘 그려주는 사람들이 있었습니다. 따라서 많은 부분을 세세하게 신경쓰지 않고 (예를 들자면 글자크기 등등) 그릴 수 있었습니다. 하지만 지금은 도면그리는 사람이 그 모든 것을 신경을 써야합니다. 아주 조그만것까지 말이죠. 그러다보니 수작업에 익숙해져 있는 사람에게 CAD는 오히려 쓸데없는데 신경쓰느라고 작업속도를 더 느리게 방해하는 녀석이 되어버리고 맙니다.

그런 단점을 보안해줄 수 있는 것이 바로 자동화(Automation)이란 수단입니다. 자동화를 통해서 반복작업을 줄이거나, 정교한 작업을 프로그램이 대신하게 할 수 있게 하고 설계자는 조금더 설계쪽에 시간을 할애할 수 있도록 하자는 것이지요. 따라서 수작업에 비해서 CAD를 사용했을 때의 장점은 이 자동화를 빼고 나면 별로 남는게 없지 않나라고 저는 생각합니다.

따라서 자동화는 중요하고 앞으로도 더욱더 발전시켜야 할 부분이라고 생각합니다. 더군다나 우리나라같이 도면에 상당한 시간을 할애해야하는 설계환경에서는 보다 더 좋은 설계를 위해서는 도면작업시간을 최대한 줄여야 하는 것이 아닌가 생각됩니다. 외국도면을 보시면 아마도 놀라실 것입니다. 배근도를 보면 철근은 몇줄밖에 그려놓지 않았죠. 그냥 숫자로 판단하게 되어있습니다. 우리나라 같이 죽죽 모든 철근을 그리질 않죠. 외국에선 현장에서 샵드로윙을 하기 때문에 마치 우리가 구조계산서에 주철근 조립도를 그리듯이 간단명료하게 그리더군요.

쩝.. 사설이 넘 길어진 것 같습니다. 암튼 오늘부터는 AutoCAD의 ActiveX를 통한 Automation에 대해서 강좌를 시작하겠습니다. 일단 AutoCAD 2000을 써보신 분이라면 tools메뉴에 macro라는 섭메뉴가 생긴걸 보신적이 있으실 것입니다. 물론 r14까진 없었던 항목입니다. macro를 눌러보면 어디서 많이 보던 익숙한 섭메뉴가 나타나는데.. Excel이나 word, powerpoint같은 프로그램의 tools\macro와 동일한 항목들입니다. 아마 눈치가 빠른 분은 눈치를 채셨갰죠? '이것이 AutoCAD VBA구나..'라구요. r14에서는 ActiveX Automation이라고 해서 제공되던 automation을 아예 vbeditor까지 내장해서 Excel의 메크로 메뉴와 동일하게 만들었다는 것이 가장 큰차이일 것입니다.

ActiveX라는 녀석은 예전의 ole 프로그램이었다고 합니다. 이것이 이름이 바뀌어서 ActiveX라고 한다고 하는데요. OLE라는 단어에서도 느껴지듯이 '프로그램들간의 호환'이라는 느낌이 팍~ 옵니다. 사실 Excel에서 AutoCAD를 통제할 수도 있고 MS word에서도 통제를 할 수도 있습니다. 물론 VBA가 아닌 Visual Basic으로 마든 EXE프로그램에서도 AutoCAD를 통제할 수도 있고, Excel을 통제할 수도 있습니다. 또한 AutoCAD와 Excel을 동시에 통제할 수도 있구요.

이렇게 재미있는 ActiveX에 대해서 내일 계속해서 이야기 하도록 하겠습니다.



dolljong@dreamwiz.com