Dynamo는 다 돼 : 이우림 강사님 이야기
INTRO
다이나모를 아시나요? Revit을 이용하시는 분들이라면 한 번쯤은 보셨을 겁니다. 다이나모는 비주얼 프로그래밍 프로그램으로써, 하고자 하는 방향을 다 만들어낼 수 있습니다. 마치 마법상자 같은 다이나모에 대해 알아보며, 이에 대해 자세하게 얘기해주시는 ‘이우림 강사’님과 함께 다이나모의 매력을 느껴봅시다.

INTERVIEW
Q. 아티클을 읽는 독자분들께, 간략하게 자기소개 부탁드립니다.
A. 저는 렉터스를 통해서 레빗 다이나모 실무 첫걸음이라는 강의를 출시하였고 현재 BIM Factory라는 건설 IT 회사에서 자동화 개발을 총괄하고 있는 이우림이라고 합니다.
Q. 렉터스에서 진행하고 계신 강의에 대해서 간략하게 소개 부탁드립니다.
A. Revit Dynamo 실무 첫걸음이라는 강의는 건설 엔지니어 학생들이 프로그래밍이라는 분야에 처음 입문할 때 어려움을 겪는 부분을 해결해 주기 위해서 출시하였습니다. 이론보다는 다양한 예제를 통해서 다이나모에 대해서 공부할 수 있도록 하는 강의입니다. 그리고 Revit Dynamo에 대해서는 국내 최초로 다이나모 강의를 런칭했습니다.

Q. 다이나모는 어떤 프로그램인가요?
A. 이게 저희가 흔히 아는 코딩은 이제 개발자들이 텍스트를 이용해서 쭉 써 내려가는 그런 식의 텍스트 코딩을 주로 많이 알고 있는데, 다이나모 같은 비주얼 프로그래밍이라는 노드와 와이어 이런 시각적인 요소를 이용해서 알고리즘을 작성하고 개발하는 프로그램입니다.
그래서 레빗이나 Civil 3D 같은 오토데스크 제품 안에서 Add in 형태로 포함되어 소프트웨어 안에서 필요한 기능이나 이를 기반으로 새로운 프로세스를 개발하는 개발 도구라고 보시면 될 것 같습니다.

Q. REVIT을 어느정도의 수준까지 이해를 하고 있어야 다이나모를 쉽게 적용 할 수 있을까요?
A. 이 부분은 사실 정말 다이나모를 잘 사용을 하려면 굉장히 사실 높은 수준의 레빗 이해도가 필요하다고 생각을 합니다.
이게 레빗이라는 소프트웨어의 사용 경험과는 조금 다르게 작동 원리나 데이터 구조에 대한 이해도가 조금 필요하기 때문에 조금 더 레빗을 깊게 이해하고 있어야 한다고 할 수 있을 것 같습니다. 그렇다고 해서 이게 되게 어렵고 오래 걸리는 부분이 아니라 레빗이 문제라도 초반부터 레빗에 대해서 단순히 기능만 학습하는 게 아니라 원리에 대한 이해나 작동 방식까지 학습을 같이 한다면 더 좋은 효과를 얻을 수 있다고 생각을 합니다. 그래서 강의에도 이런 부분들을 최대한 담으려고 노력을 했습니다.
Q. 다이나모를 REVIT에 있어서 활용한다면 어떤 장점을 얻어 갈 수 있을까요?
A. 일단 쉽게 말씀을 드리면 레빗의 기능적인 한계를 뛰어넘을 수 있다고 말씀을 드릴 수 있을 것 같습니다. 기본 기능으로는 구현하기 어려운 기능들을 다이나모 개발을 통해서 진행을 하기도 하고 그리고 이 진행 과정에서 기존에 없던 프로세스를 새로 만들 수도 있습니다.
그래서 실제 제가 BIM 엔지니어로 활동하면서 회의 중에 가장 많이 이야기했던 말이 “REVIT은 안 되는데 저는 돼요”라는 말을 많이 했던 것 같습니다.
다이나모 개발을 통해서 새로운 방식으로 접근을 하기 때문에 다양한 관점에서 조금 더 폭넓게 해결 방법을 제시한다든지, 기능적인 부분으로 자동화를 시켜서 작업 시간을 단축시킨다든지 이런 작업이 가능할 것 같습니다. 휴먼 에러를 방지한다든지 아니면 완성된 BIM 데이터에 품질 검토나 설계 검토까지 다양하게 활용을 했었습니다.
그리고 이 이외에도 BIM 산업이라는 게 이중 소프트웨어와 병행해서 활용하는 경우가 많은데 이 경우에 다양한 포맷을 활용해서 프로젝트를 진행하는 데 있어서 약간의 연결 통로 역할도 가능하다고 할 수 있습니다.

Q. 코딩방식이라는 점에서는 라이노의 그래스호퍼와 유사하다는 느낌을 받을 수 있는데, 두개의 차이점이 있다고 하시면 어떤게 있을까요?
A. 이런 질문을 굉장히 많이 받았었는데 그래스호퍼랑 다이나모는 완벽하게 같은 방식의 프로그램이라고 보면 될 것 같습니다. 그래스호퍼도 마찬가지로 비주얼 프로그램이기 때문에 원리는 같지만 라이노라는 툴 자체는 디자인 툴이고 레빗은 BIM 툴이기 때문에 목적에 맞게 활용하면 되는 것 같습니다.
그래서 저는 BIM 엔지니어이기 때문에 주로 시공 BIM 업무를 진행하다 보니 레빗 다이나모를 사용했고 설계 쪽에서는 라이노를 많이 사용하시는 분들은 그래스호퍼를 많이 사용하고 있습니다. 그래서 디자인적인 측면에 강점이 있는 건 라이노와 그래스호퍼를 같이 사용하는 거고 이 이외에 실제 BIM 산업에서는 사실 디자인보다는 데이터를 많이 활용하기 때문에 실무에서 활용할 때는 디자인적 요소보다는 매개 변수를 추출하고 가공하는 작업을 더 많이 활용하게 됩니다. 결론적으로, 디자인 툴과 BIM 툴이라는 그런 큰 차이가 있다고 보시면 될 것 같습니다.


Q. 코딩 방식의 건축은 어떤 이점이 있을까요?
A. 여기서 건축이라고 말씀하시는 게 아마 설계 쪽 디자인 쪽을 말씀하시는 것 같은데 이쪽 분야에서는 사실 저도 건축학을 졸업해서 설계를 전공하긴 했지만 시공 쪽으로 더 업무를 많이 하다 보니 자주 활용하는 부분은 아니지만 이게 “파라메트릭 디자인”이라고 해서 변수를 이용해서 디자인 요소를 결정하는 작업이 있습니다. 다이나모 안에도 “제너레이티브 디자인”이라고 하는 기능으로 변수에 따라서 디자인을 설계하고 컴퓨터를 통해서 수천 가지 수만 가지의 대안을 돌려보고 디자인 대안을 추출해 놓고 의사결정을 하는 부분들은 사람들이 하게 만들어주는 기능이 있습니다.
그래서 이 기능을 통해서 디자인적인 요소를 결정하는 데 이점이 있고 이외에도 규칙이 명확한 내용들을 가지고 정해진 면적 안에서 최적의 설계를 추출하는 설계 자동화라든지 그런 영역에서 활용이 가능합니다.
제 개인적인 견해로는 설계라는 게 정답이 없는 분야이기 때문에 코딩을 통해서 접근하기 약간 어려운 부분이 있는 것도 사실입니다. 그 이외에도 법규에 맞게 설계가 되어 있는지 검토하는 자동화하는 부분들도 있습니다.

Q. 다이나모를 활용하게 된 계기가 어떻게 되시나요?
A. 저도 처음에 이제 BIM 엔지니어로 커리어를 시작하면서 사실 모델링이라는 업무가 기반이 되어야 되기 때문에 단순 반복 작업이 되게 많아서 조금 제 성향상 되게 싫어했던 기억이 좀 납니다. 어떻게 하면 업무를 좀 효율적으로 진행할 수 있을지를 고민하다가 입문하게 되었고, 사실 파이썬이나 C#도 처음에 시도를 해봤는데, 저희가 컴퓨터 공학을 전공하지 않았기 때문에 굉장히 어렵게 느껴졌습니다. 그래서 비교적 입문이 쉽고 이제 사용하고 있는 레빗 프로그램에 에드인 형태로 들어가 있는 다이나모를 선택하게 되었습니다. 그러다가 이제 고민했던 그런 단순 반복 작업이나 안 되던 작업들이 이제 다이나모 개발을 통해서 해결해 나가는 과정에서 성취감을 되게 느끼고 거기에 빠져서 깊게 공부했던 것 같습니다.
Q. BIM 엔지니어는 주로 어떤 일을 하나요?
A. 굉장히 다양한 분야가 있는데 제가 주로 지금 진행하고 있는 시공 BIM 업무를 그쪽에 대해서 말씀을 드리자면, 초기 단계에서는 시공 단계에서 초기 공정 검토부터 물량 산출 그리고 이 설계 도면이 나왔을 때 이 설계 도면으로 시공이 가능한지 시공성 검토, 그리고 설계 도면에 오류가 없는지 설계 검토 등을 2D 기반으로 기존에 진행을 했다면 저희는 이제 3D 모델링을 활용해서 2D에서 보기 어려운 부분, 2D에서 볼 때 힘이 많이 들어가는 부분들을 디지털화된 건설 프로세스를 통해서 프로젝트를 효율적으로 극대화시키는 일을 진행하고 있습니다. 그리고 이 이외에 제가 주로 사용하는 다이나모 관련해서는 건설 분야에서 필요한 부분에 대한 개발을 텍스트 코딩이 아닌 비주얼 프로그래밍을 통해서 개발 업무도 함께 진행하고 있습니다.
Q. Korea Dynamo User Group에서 운영진으로 활동하고 계신데, 그 모임은 어떠한 활동을 주로 하는 모임 인가요?
A. 19년도 말에 이 모임을 만들어서 거의 지금 5년째 진행을 하고 있습니다.
처음에 이제 국내 BIM이 활성화되면서 다이나모가 점차 주목을 받고 있었는데 그때 당시에 제가 공부를 처음 시작할 단계는 국내에는 아무 자료도 없어서 뭘 보고 해야 될지 모르고 저희는 약간 맨땅에 헤딩하면서 공부를 했던 경험이 있습니다. 그래서 친한 엔지니어분들이랑 같이 다이나모를 잘 사용하시는 분들이랑 저희가 공부하는 데 어렵고 힘들었던 부분을 주변 사람들한테 조금 알려주고자 해서 모임을 시작을 하게 되었습니다. 오프라인 모임을 처음에 시작해서 세미나도 열고 강의도 열고 했다가 코로나가 터져서 저희도 오프라인 모임을 만들 수 없어서 그때부터 유튜브 라이브를 거의 3년 가까이는 매주 운영진이 돌아가면서 진행을 했던 것 같습니다. 요즘에도 이제 1년에 2~3번 정도는 오프라인 세미나를 모집해서 다이나모에 대한 내용들을 전파하고 엔지니어들이 잘 활용할 수 있게 도와주는 부분을 진행하고 있습니다.
지금 제가 그룹을 운영하면서 가장 좋은 점은 카카오톡 오픈 채팅방을 운영을 하고 있는데 거기서 처음에는 사람들이 질문하는 걸 운영진이 전부 다 답변을 해주고 좀 끌어가는 입장이었습니다. 요즘에는 잘하시는 분들도 많아지고 약간 선순환처럼 저희가 했던 내용을 저희가 개입하지 않아도 서로 질문하시고 답변도 해주시고 정보도 얻어가시고 있는 부분이 지금 어느 정도는 자리를 잡은 것 같아서 그 부분을 제일 만족하고 있습니다.


Q. 다이나모를 활용하시면서 주의 깊게 생각하시는 부분이 있으실까요?
A. 첫 번째는 범용성이라고 생각을 합니다.
다이나모나 그래스호퍼 같은 소프트웨어가 사실 텍스트 코딩에 비해서 쉽긴 하지만 아직까지 조금 입문을 어려워하시는 분들이 많은것 같습니다. 이런 분들이 공유된 자료를 통해서 뭔가 작업을 해보고 싶을 때 사용하는 다이나모 스크립트를 공유한 개발자가 생각한 내용 이외의 변수들이 생기면 작동을 안 하고 오류를 발생시킵니다. 이런 부분에 대해서 한 번 써보고 “안 되네 이거 별로 안 좋네” 하고 다이나모를 아예 놔버리시는 분들이 많은데 어떻게 보면 개발하는 사람이 이런 부분까지 다 범용성 있게 개발해서 배포를 하면 좋을것 같습니다. 이 부분은 범용성을 확보를 하든지 아니면 받아서 쓰시는 분들도 어느 정도의 기초 지식만 있으면 이게 무슨 오류인지 파악하고 사용하실 수 있을 것 입니다. 이 부분이 예전부터 조금 아쉬웠던 부분입니다. 조금만 공부하면 받아서 사용하실 수 있는데 그 부분들이 좀 아쉽다고 생각을 합니다.
그리고 저는 이제 이걸로 개발까지 하는 사람이니까 개발을 할 때 최대한 실무자들과 소통을 많이 합니다. 이를 통해 변수를 파악해서 최대한 범용성을 확보를 해서 스크립트를 하나 개발을 한다고 해서 1에서 100가지를 100가지 업무가 있다고 하면 100을 자동화시켜주는 게 아닌 70을 자동화하면서 30정도는 이제 범용성을 주고 자율성을 줘서 사람이 개입해서 확인하고 작업할 수 있게 이런 식으로 코드를 주로 작성하는 편입니다. 이게 모든 개발에 있어서 어느 정도는 동일할 것 같습니다. 그리고 마지막으로 한 가지 중요하게 생각하는 점은 다이나모를 통해서 컴퓨팅 사고력을 키우는것 입니다. 되게 저는 도움이 많이 됐다고 생각합니다. 이런 부분을 입문자분들이나 아니면 꼭 코딩을 하지 않아도 문제 해결에 가장 특화된 방식이기 때문에 주의 깊게 좀 공부해 보시면 좋을 것 같습니다.

OUTRO
“Revit은 안되는데 저는 돼요“라는 말, 되게 멋지지 않나요? 다이나모의 매력과 능력은 끝이 없는 것 같습니다. 생소할 수 있는 분야였던 다이나모에 대해서 많은 것들을 알게 되는 시간이었다고 생각합니다. 다이나모가 건축 일상에 좀 더 편하게 자리 잡길 바라며 여러분들도 지금부터 다이나모를 시작해 보시는건 어떤가요?

