본문 바로가기

반응형

흔한말 (collection)/Dynamo

(5)
파이썬과 다이나모 문자열 형식화 프로그램이 연산한 결과를 보기 좋게 문자열로 포장해서 출력하는 방식은 중요합니다. 파이썬에서 문자열을 형식화하는 방법은 여러 가지가 있는데, 그중에서 가장 사용하기 편리한 방식은 f-string 방식이라고 합니다. 들어보신 분도 있을 거고 못 들어보신 분도 있을 텐데, 중요한 것은 이게 참 쉽고 편한 방식이라는 겁니다. 그런데 다이나모에서 문자열을 형식화 하고 싶으면 어떻게 하면 될까요? 되긴 되지만 조금은 돌아서 가는 방법이라 갑갑한 측면이 있습니다. 다이나모에서의 문자열 형식화 에를 들어서 보여드리자면 이런 식입니다. 핵심은 String.Replace 노드이긴 한데, 파이썬이나 다른 프로그래밍 언어에서 가능한 방식의 문자열 형식화를 다이나모에서 구현하려면 꽤나 골치를 썩여야 합니다. 엄청 복잡하죠? ..
겹쳐진 부재들을 투시해서 보고 싶다면? - 다이나모 시각화(ByGeometryColor) 지난번 포스팅에서는 Element.Geometry 노드를 사용해서 여러 가지 부재들의 형상정보를 다이나모에서 소환한 뒤 활용하는 법을 알아보았는데요. 실제로 활용하기에는 약간의 문제가 있습니다. 그 문제가 무엇이냐 하면 보통은 부재들이 너무 많아서 형상정보를 불러와도 스크린숏처럼 뭐가 뭔지 단시간에 파악하기 힘들다는 겁니다. 가려진 부재 틈 사이로는 아무것도 보이지 않는다 은근히 골치가 아픈 문제입니다. 왜냐하면 다이나모로 형상정보를 조회하는 상황은, 객체들이 기하학적으로 놓인 상황을 확인한 뒤, 그 에 맞는 후속 흐름을 프로그래밍하기 위함이거든요. 그런데 기껏 형상정보를 불러와도, 너무나 많이 겹쳐있어서 제대로 알아보기 힘들다면, 그 다음 과정으로 가기가 어렵겠죠? 샘플 파일을 가지고 사례를 보여드리겠..
다이나모에서 파이썬 코딩을 통해 명령 내리기 (이제부터 노드를 배치하는 공간을 캔버스라고 부르겠습니다.) 다이나모에서 기본 노드들을 배치하면서 프로그램을 짜다보면, 노드들이 들어차서 캔버스가 너무 빽빽해지게 됩니다. 마우스 스크롤로 확대했다 축소했다를 반복하다보면 전체 프로그램의 각 부분을 보는 것이 너무 피곤해집니다. 그렇기 때문에 기본노드들로 작성된 flow 중에서 자주 반복되는 패턴이 있다면, 이를 추상화 해서 파이썬 노드로 만들어 버리는 것이 편한데요. 오늘은 다이나모에서 파이썬 노드를 만드는 것까지만 해보겠습니다. 새 다이나모 파일을 하나 열어봅니다. 좌측 라이브러리 검색칸에 python이라고 적으면 2가지 노드가 나오는 데, 이중 첫번째를 선택합니다. 생성하고 나면 ‘IronPython2’ 라고 노드 우측하단에 적혀있습니다. IronPy..
Dynamo로 Revit 객체의 형상을 포함한 각종 정보들을 가져오기 Revit에서 작성된 BIM 객체들의 정보를 조회하고 조작하는 것은 Revit 안에서도 가능합니다. 하지만 작성된 정보들을 데이터베이스의 형태로 조작하고 변형하거나, 기존 데이터를 활용하여 새로운 데이터를 만들어내는 것은 아무래도 제한적일 수 밖에 없습니다. 이러한 상황에서 Dynamo는 다수의 Revit 객체가 포함한 다양한 데이터들을 효과적으로 컨트롤하는 수단이 되어줍니다. 프로그래밍이 모든 사용자의 니즈에 맞춰 기민하게 대응하기 어려운 만큼, 저는 Dynamo를 통해 커스터마이제이션에 대한 요구를 어느정도 해소해 주는 느낌으로 사용하고 있습니다. 그래서 그 가장 첫번재 단계로써, 작성된 부재들의 정보를 다이나모 안으로 당겨(?)오는 노드들의 기본 활용을 소개해 드리려고 합니다. 모델링 파일 실행 일..
Dynamo Sandbox 최신버전 다운받기 레빗과 연결되어 동작하는 다이나모도 강력하지만, 다이나모 샌드박스는 잘 사용하면 레빗없이도 형상과 관련된 각종 알고리즘을 테스트하고 만들어내는 훌륭한 도구가 될 수 있습니다. 또한 내포한 CPython을 통해서 파이썬과 결합된 다이나모 플로우를 만드는데도 아주 훌륭한 역할을 합니다.(Revit 없이도) 개인적으로는, 비주얼 프로그래밍이 갖는 특유의 직관성을 유지한 채로, Revit을 사용하지 않는 사람들에게도 충분한 활용성을 갖도록 오픈된 버전이 다이나모 샌드박스라고 생각합니다. 이러한 다이나모 샌드박스 최신버전을 다운 받기 위해서는 하기의 깃허브 링크로 가시면 됩니다. https://github.com/DynamoDS/Dynamo GitHub - DynamoDS/Dynamo: Open Source Gr..

반응형