AutoCAD의 기능들
2024. 07. 07.
건축에 발을 걸치고 있는 사람으로서 조금 부끄러운 이야기지만, 나는 최근에서야 오토캐드를 제대로 사용해보았다. 왜 이제서야 써보았는지 변명을 살짝 해보자면, 내가 건축학과에 입학한 2012년도에는 라이노가 유행하기 시작했는데 이게 3D 작업만 되는 것이 아니라 도면 작업도 어느 정도 가능한 툴이었지 뭔가. 그래서 무거운 캐드를 설치하는 것을 포기하고 라이노로 어찌저찌 작업을 전부 쳐냈었다. 거기에 더해서, 아마 이게 좀 더 주요한 이유겠지만, 나는 설계 수업에 교수님들이 원하시는 것을 잘 해가지 않던 학생이라 도면을 그릴 정도의 디테일한 공간을 만든 적이 거의 없어서 캐드를 쓸 일 자체가 없기도 했다.
돌이켜보면 나는 애초에 캐드에 대한 편견을 많이 가지고 있었다. 학과 선후배들과 교수님들, 그리고 업계에 계신 분들의 이야기를 듣다 보면, 캐드는 반복작업에 주로 사용되는 구식 툴에 가까웠다. 개발자 커리어를 밟으면서 이 생각이 좀 더 강화됐었는데, 주변에 라이노를 쓰는 사람들은 그래스호퍼를 쓰거나 그 안에 있는 C#, python 컴포넌트로 개발을 하는 이야기를 했고, 레빗을 쓰는 사람들은 다이나모 이야기를 했는데, 캐드를 쓰는 사람들은 리습을 작성한다는 이야기를 했기 때문이다. 요즘 개발자들에게 리습은 어쩌면 고대의 유물 같은 것이라고 할 수 있겠다. 리습이 무엇인지 물어보았을때 모르는 사람들이 꽤 많고, 그나마 아는 사람들도 교재에서 언급된 것을 본 적이 있는 것이지 사용해본 적은 없는 정도라고 하면 될까. 그런데 캐드에서는 아직도 리습을 사용하고 있다니 도대체 얼마나 구닥다리라는 것인가?
그러다 얼마 전, 우연한 계기로 오토캐드의 기능들을 찾아보면서 내가 오토캐드에 대해 상당히 잘못 판단하고 있었고, 오히려 꽤 오래 전부터 상당한 기능들을 지원하고 있었다는 사실을 깨닫게 되었다.
- 다이나믹 블록(혹은, 동적 블록). 이 포럼 글에 의하면 이미 2005년에도 구현되어 있었다. 동적 블록을 쓰면 여러 객체들을 단순히 그룹지어놓는 것을 넘어서 한 객체에 조작을 가하면 이와 맞물려서 다른 객체들에 회전, 신축, 이동 등의 조작이 가해지도록 상호작용을 정의할 수 있다. 이게 파라메트릭 디자인이지, 아니면 무엇인가?
- 어쩌면 당연하게도, 플러그인 개발을 위한 API 지원. 주변에 리습 이야기를 하는 사람들만 있었지 플러그인 개발을 이야기하는 사람들은 없었어서, 오토캐드를 기반으로 무언가 개발하는 것을 상상해볼 일이 없었다. 하지만 API를 통해 개발하는 사람들은 이미 2000년대에도 포럼과 여러 커뮤니티에서 활동하고 있었다는 것을 조금만 검색해보면1)2)3) 알 수 있다.
예를 들어, 다이나믹 블록으로는 이런 것을 할 수 있다.
- 테이블의 길이를 조절할 수 있다.
- 길이를 조절하면 테이블의 중심의 위치도 바뀌는데, 이에 맞춰서 가운데 있는 직사각형 도형이 따라서 이동한다.
- 테이블에 일정한 간격으로 동그란 의자가 배치된다.
처음 이 기능들을 접하고 나서 뒤통수를 세게 얻어맞은 기분이었다. 지금까지 나는 건축가들이 시중에 나와있는 도구로는 프로그래밍적으로 도형 연산을 할 방법이 없어서 시도를 못하고 있다가, 그래스호퍼가 나오고 나서야 '파라메트릭 건축'에 대해 이야기하기 시작한 것이 아닐까 생각하고 있었기 때문이다. 시간적으로 보면 오토캐드의 다이나믹 블록과 .NET API가 라이노의 그래스호퍼의 대중화보다 훨씬 앞섰는데, 내 주변에 있는 사람들이 전부 그래스호퍼 얘기만 하고 오토캐드에 대해서는 이야기하지 않았다는 사실이 놀라울 지경이다.
흥미롭게도, 주변에 캐드를 쓰는 건축 실무 일을 하는 친구들에게 동적 블록을 언제 쓰는지 물어보면 동적 블록에 대해 처음 들어본다고 답하는 경우가 꽤 많았다. 오래된 기능임에도 불구하고 아직까지 잘 알려지지 않은 이유가 뭘까? 앞으로 동적 블록 기능을 조금 가지고 놀아보면서 글을 더 남겨볼까 한다.
1) TheSwamp - Index
2) Through the Interface (typepad.com)
3) Due to popular demand... Welcome! - Autodesk Community - AutoCAD