본문 바로가기

흔한말 (collection)/Dynamo

겹쳐진 부재들을 투시해서 보고 싶다면? - 다이나모 시각화(ByGeometryColor)

300x250

 

지난번 포스팅에서는 Element.Geometry 노드를 사용해서 여러 가지 부재들의 형상정보를 다이나모에서 소환한 뒤 활용하는 법을 알아보았는데요. 실제로 활용하기에는 약간의 문제가 있습니다.

그 문제가 무엇이냐 하면 보통은 부재들이 너무 많아서 형상정보를 불러와도 스크린숏처럼 뭐가 뭔지 단시간에 파악하기 힘들다는 겁니다.

가려진 부재 틈 사이로는 아무것도 보이지 않는다

은근히 골치가 아픈 문제입니다. 왜냐하면 다이나모로 형상정보를 조회하는 상황은, 객체들이 기하학적으로 놓인 상황을 확인한 뒤, 그 에 맞는 후속 흐름을 프로그래밍하기 위함이거든요.

그런데 기껏 형상정보를 불러와도, 너무나 많이 겹쳐있어서 제대로 알아보기 힘들다면, 그 다음 과정으로 가기가 어렵겠죠?
샘플 파일을 가지고 사례를 보여드리겠습니다.

레빗 샘플 파일을 켜고 다이나모를 켠 뒤에, 기둥과 바닥 슬라브 그리고 룸 객체의 정보를 조합하여 무언가를 하고 싶다고 가정할게요. 그렇게 하기 위해 위 스크린숏처럼 카테고리별 객체를 모두 불러와야 하겠죠?

그런데 막상 정보를 불러오고 나면 보이는 것 처럼 룸 객체가 대부분의 요소들을 뒤덮어버려서, 기둥과 슬라브의 관계를 눈으로 확인하고자 하면 상당히 까다로워집니다.

각도를 요리조리 틀어서 봐도 보이는 것은 한정적이죠.
가장 간단한 방법은 시야를 가장 많이 방해하는 카테고리의 형상을 임시로 끈 채, 데이터를 확인하는 것입니다.

이렇게 룸 객체의 형상을 반환해주는 노드에 마우스포인터를 대고 우측 버튼을 클릭한 후에,

Preview 버튼을 눌러 꺼주면, 그림과 같이 한결 조회하기 편한 시야 상태가 됩니다.
하지만 원래 같이 보려고 했던 Room 객체의 데이터들을 깡그리 무시한 상태이기 때문에, 필요할 때마다 노드를 자꾸 껐다 켜야만 하는 굉장한 번잡함이 단점입니다.

 

 

 

방법이 있다. ByGeometryColor

그렇다면 다른 방법이 있을까요? ByGeometryColor 노드를 이용하면 훨씬 나은 방법으로 시야 간섭을 해소할 수가 있습니다. 보이는 객체들에 투명도를 부여할 수 있는 방법이거든요.

Geometry > Modifiers > ByGeometryColor 노드를 소환해 줍니다.

이 노드의 역할은, input으로 받은 Geometry형상을, 내가 지정한 색깔로 바꾸어 출력해 준다는 것입니다. 색깔을 바꾸어 준다는 것은 내 마음대로 투명도를 부여할 수 있다는 말이 되기도 합니다.

룸 객체 형상을 “geometry”에 연결했죠? 아직 색깔을 지정하기 전이라서 변화는 없습니다.

Display > Color > Color Palette 혹은 ByARGB 노드를 꺼내 줍니다.

Color Palette 노드는 직접 원하는 색을 고르고, 그 색의 설정을 변화시킬 수 있는 노드입니다.

Color.ByARGB 노드는, 4개의 숫자를 재료로 받아서 각각 투명도, 적, 녹, 청 채널 값으로 만들어 색상을 반환하는 노드입니다. 현재 스크린 숏에 적힌 숫자는 위쪽 Color Palette 노드에서 선택한 색깔과 정확히 동일합니다.

ByGeometryColor노드에 컬러 팔레트 색상을 연결하니 위 그림처럼 내부가 비치는 색으로 룸 객체의 색상이 변경되었습니다. 룸 객체 속으로 파고들어있는 기둥도 형상이 보이는군요.
색상이 붉그스름해서 잘 보기 어려우니 색상을 한번 바꿔볼까요?

초록색 계열로 색상을 바꿔보아도 잘 작동합니다.

ByGeometryColor의 응용

이번에는 좀 응용해서, 수많은 룸 객체 중에 화장실만 붉은색으로, 나머지 룸들은 회색으로 한번 칠해볼까요?
그렇게 하려면 먼저 화장실과, 화장실이 아닌 룸들로 필터링을 해야겠죠?

Dynamo 기본 노드로 필터링 VS 파이썬으로 필터링” 포스팅에서 배운 대로 해보겠습니다.

상기처럼 코딩하면 일단 화장실과 화장실이 아닌 룸 구분은 완료됩니다.

구분이 완료되면 각 그룹의 형상을 소환하고, 붉은색과 회색을 각각 ByGeometryColor 노드로 입혀주면 모든 과정이 완료됩니다.

자 이제 개체가 가지고 있는 속성 값에 맞춰서 다양한 색상을 매칭 하여 시각화하는 법도 알게 되셨네요!! 축하드립니다!!!

반응형