๋ฌธ์ํ๋ฅผ ์ํ ํธ์ง ๋งค๊ฐ๋ณ์์์๋ ์ด์ ์น์ ์์ ํ์ตํ ๋ด์ฉ์ ๋ฐ๋ฆ ๋๋ค. ์ด ์น์ ์์๋ ์์์ ๊ธฐํํ์ ํน์ฑ์ ์ํฅ์ ์ฃผ์ง ์๊ณ , ๋ฌธ์ํ๋ฅผ ์ํด Revit ํ์ผ์ ์ค๋นํ๋ ํธ์ง ๋งค๊ฐ๋ณ์๋ฅผ ์ดํด๋ด ๋๋ค.
์๋ ์ฐ์ต์์๋ ํ๋ฉด ๋ ธ๋์์์ ๊ธฐ๋ณธ ํธ์ฐจ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ํ๋ฅผ ์ํ Revit ์ํธ๋ฅผ ์์ฑํฉ๋๋ค. ํ๋ผ๋ฉํธ๋ฆญ ๋ฐฉ์์ผ๋ก ์ ์๋ ์ง๋ถ ๊ตฌ์กฐ์ ๊ฐ ํจ๋์ ํธ์ฐจ ๊ฐ์ด ๋ค๋ฅด๋ฏ๋ก, ์์์ ์ฌ์ฉํ์ฌ ๊ฐ ๋ฒ์๋ฅผ ๋ํ๋ด๊ณ , ๊ฐ๋ณ ์ ์ ์ ๋ฉด ์ปจ์คํดํธ, ์์ง๋์ด ๋๋ ๊ณ์ฝ์ ์ฒด์ ์ ๋ฌํ๋๋ก ์ค์ผ์ค๋งํฉ๋๋ค.
ํ๋ฉด ๋ ธ๋์์ ํธ์ฐจ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ด 4๊ฐ์ธ ์ธํธ๊ฐ ๊ฐ ์ ๊ฐ์ ๊ฐ์ฅ ์ ํฉํ ๋ง์ถค ํ๋ฉด์์ ๋ฒ์ด๋๋ ๊ฑฐ๋ฆฌ๊ฐ ๊ณ์ฐ๋ฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์๊ณต ๊ฐ๋ฅ์ฑ์ ์ฐ๊ตฌํ๋ ๋น ๋ฅด๊ณ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋๋ค.
์๋ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ์์ ํ์ผ์ ๋ค์ด๋ก๋ํ์ญ์์ค.
์ ์ฒด ์์ ํ์ผ ๋ฆฌ์คํธ๋ ๋ถ๋ก์์ ํ์ธํ ์ ์์ต๋๋ค.
์ด ์น์ ์ Revit ํ์ผ๋ก ์์ํ๊ฑฐ๋ ์ด์ ์น์ ๋ถํฐ ๊ณ์ ์งํํฉ๋๋ค. ์ด ํ์ผ์ ๊ฒฝ์ฐ ์ง๋ถ์ ETFE ํจ๋ ๋ฐฐ์ด์ด ์์ต๋๋ค. ์ด ์ฐ์ต์์๋ ์ด๋ฌํ ํจ๋์ ์ฐธ์กฐํฉ๋๋ค.
์บ๋ฒ์ค์ Family Types ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ณ "ROOF-PANEL-4PT" ๋ฅผ ์ ํํฉ๋๋ค.
์ด ๋ ธ๋๋ฅผ All Elements of Family Type ๋ ธ๋์ ์ฐ๊ฒฐํ์ฌ Revit์์ Dynamo๋ก ๋ชจ๋ ์์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
AdaptiveComponent.Locations ๋ ธ๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์์์ ๋ํ ๊ฐ๋ณ ์ ์ ์์น๋ฅผ ์กฐํํฉ๋๋ค.
Polygon.ByPoints ๋ ธ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ 4๊ฐ์ ์ ์์ ๋ค๊ฐํ์ ์์ฑํฉ๋๋ค. ์ด์ Revit ์์์ ์ ์ฒด ํ์์ ๊ฐ์ ธ์ค์ง ์๊ณ ๋ Dynamo์์ ํจ๋ํ๋ ์์คํ ์ ์ถ์ ๋ฒ์ ์ด ์ ๊ณต๋ฉ๋๋ค.
Polygon.PlaneDeviation ๋ ธ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฉด ํธ์ฐจ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
์ฌ๋ฏธ ์ผ์ ์ด์ ์ฐ์ต์ฒ๋ผ ํด๋น ํ๋ฉด ํธ์ฐจ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ ํจ๋์ ์กฐ๋ฆฌ๊ฐ ๋น์จ์ ์ค์ ํด ๋ณด๊ฒ ์ต๋๋ค.
์บ๋ฒ์ค์ Element.SetParameterByName ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ณ ๊ฐ๋ณ ๊ตฌ์ฑ์์๋ฅผ element ์ ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค. "Aperture Ratio" ๋ฅผ ์ฝ๋ Code Block ์ parameterName ์ ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค.
๊ฐ์ ๋งค๊ฐ๋ณ์ ๋ฒ์์ ๋ค์ ๋งคํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํธ์ฐจ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ ์ ๋ ฅ์ ์ง์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
Math.RemapRange ๋ฅผ ์ฌ์ฉํ๊ณ Code Block ์
0.15; 0.45;๋ฅผ ์ ๋ ฅํ์ฌ ํธ์ฐจ ๊ฐ์ 0.15~ 0_._45 ์ฌ์ด์ ๋๋ฉ์ธ์ ๋ค์ ๋งคํํฉ๋๋ค.์ด๋ฌํ ๊ฒฐ๊ณผ๋ฅผ Element.SetParameterByName ์ ๊ฐ ์ ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค.
๋ค์ Revit์ผ๋ก ๋์์ค๋ฉด ํ๋ฉด์ ์กฐ๋ฆฌ๊ฐ ๋ณ๊ฒฝ์ ์ดํดํ ์ ์์ต๋๋ค.
ํ๋ํ๋ฉด ๋ซํ ํจ๋์ ํ๋ฉด์ ์ฝ๋ ์ชฝ์ผ๋ก ๊ฐ์ค์น๊ฐ ๋ถ์ฌ๋๋ ๊ฒ์ ๋ช ํํ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฆฐ ์ฝ๋๋ ์๋จ์ ํฅํฉ๋๋ค. ๊ทธ ์ด์ ๋ ๋ฒ์ง๋ ์ต์ ๊ณก๋ฅ ์ ๊ฐ์ง๋ง ์ฝ๋๋ ๋ ํฐ ํธ์ฐจ ์์ญ์ ๋ํ๋ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์กฐ๋ฆฌ๊ฐ ๋น์จ์ ์ค์ ํด๋ ์ง๋ถ์ ์๋ ํจ๋์ ํธ์ฐจ๊ฐ ๋ช ํํ๊ฒ ํ์๋์ง ์์ผ๋ฏ๋ก ์ค์ ์์์ ํ์๋ ๋ณ๊ฒฝํฉ๋๋ค. ์ ์ ์คํ ๊ฐ๋ฅ์ฑ์ ๊ด์ ์์๋ง ํธ์ฐจ๋ฅผ ์ฐ๊ตฌํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ฌธ์ํ๋ฅผ ์ํด ํธ์ฐจ ๋ฒ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํจ๋์ ์์์ ์ง์ ํ๋ ๊ฒ์ด ๋์์ด ๋ ์ ์์ต๋๋ค. ์๋์ ์ ์๋ ์ผ๋ จ์ ๋จ๊ณ(์ ๋จ๊ณ์ ํ๋ก์ธ์ค์ ๋งค์ฐ ์ ์ฌํจ)๋ฅผ ํตํด ์ด ์์ ์ ์ํํ ์ ์์ต๋๋ค.
Element.SetParameterByName ๊ณผ ํด๋น ์ ๋ ฅ ๋ ธ๋๋ฅผ ์ ๊ฑฐํ๊ณ Element.OverrideColorInView ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
์บ๋ฒ์ค์ Color Range ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ณ Element.OverrideColorInView ์ ์์ ์ ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค. ๊ทธ๋ผ๋ฐ์ด์ ์ ์์ฑํ๋ ค๋ฉด ์ฌ์ ํ ํธ์ฐจ ๊ฐ์ ์์ ๋ฒ์์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค.
value ์ ๋ ฅ ์์ ์ปค์๋ฅผ ๋์ผ๋ฉด ๊ฐ ๊ฐ์ ์์์ ๋งคํํ๊ธฐ ์ํด ์ ๋ ฅ ๊ฐ์ด 0 ์์ 1 ์ฌ์ด์ฌ์ผ ํจ์ ์ ์ ์์ต๋๋ค. ํธ์ฐจ ๊ฐ์ ์ด ๋ฒ์๋ก ๋ค์ ๋งคํํด์ผ ํฉ๋๋ค.
Math.RemapRange ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฉด ํธ์ฐจ ๊ฐ์ 0์์ 1 ์ฌ์ด์ ๋ฒ์๋ก ๋ค์ ๋งคํํฉ๋๋ค. (์ฐธ๊ณ : "MapTo" ๋ ธ๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ค ๋๋ฉ์ธ๋ ์ ์ํ ์ ์์ต๋๋ค.)
๊ฒฐ๊ณผ๋ฅผ Color Range ๋ ธ๋์ ์ฐ๊ฒฐํฉ๋๋ค.
์ถ๋ ฅ์ ์ซ์ ๋ฒ์๊ฐ ์๋๋ผ ์์ ๋ฒ์์ ๋๋ค.
๋ค์ Revit์ผ๋ก ๋์๊ฐ๋ฉด ์์ ๋ฒ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ ํ๋ฉด ํธ์ฐจ๋ฅผ ๋ํ๋ด๋ ํจ์ฌ ๋ ํ์คํ ๊ทธ๋ผ๋ฐ์ด์ ์ด ํ์๋ฉ๋๋ค. ํ์ง๋ง ์์์ ์ฌ์ฉ์ํํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? ์ต์ ํธ์ฐจ ๊ฐ์ ๋นจ๊ฐ์์ผ๋ก ํ์๋๋๋ฐ ์ด๋ ์ฐ๋ฆฌ๊ฐ ์์ํ๋ ๊ฒ๊ณผ ๋ฐ๋์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ต๋ ํธ์ฐจ๋ฅผ ๋นจ๊ฐ์์ผ๋ก ํ์ํ๊ณ ์ต์ ํธ์ฐจ๋ ์ข ๋ ์ฐจ๋ถํ ์์์ผ๋ก ํ์ํ๋ ค๊ณ ํฉ๋๋ค. Dynamo๋ก ๋์๊ฐ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ญ์์ค.
code block ์ ์ฌ์ฉํ์ฌ ๋ ๊ฐ์ ๋ค๋ฅธ ์ค์
0;๋ฐ255;์ ๋ ์ซ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.ํด๋น ๊ฐ์ ๋ ๊ฐ์ Color.ByARGB ๋ ธ๋์ ์ฐ๊ฒฐํ์ฌ ๋นจ๊ฐ์๊ณผ ํ๋์์ ์์ฑํฉ๋๋ค.
์ด ๋ ๊ฐ์ง ์์์์ ๋ฆฌ์คํธ๋ฅผ ์์ฑํฉ๋๋ค.
Revit์ผ๋ก ๋์๊ฐ๋ฉด ์ด์ ์ฝ๋์ ์ต๋ ํธ์ฐจ ์์ญ์ด ๋ ์ ๊ตฌ๋ถ๋ฉ๋๋ค. ์ด ๋ ธ๋๋ ๋ทฐ์ ์์์ ์ฌ์ง์ ํ๊ธฐ ์ํ ๊ฒ์ด๋ฏ๋ก, ๋๋ฉด ์ธํธ์ ํน์ ์ ํ์ ํด์์ ์ค์ ์ ๋ ํน์ ์ํธ๊ฐ ์๋ ๊ฒฝ์ฐ์ ์ ๋ง ์ ์ฉํ ์ ์์ต๋๋ค.
Revit์์ ํ๋์ ETFE ํจ๋์ ์ ํํ๋ฉด XYZ1, XYZ2, XYZ3 ๋ฐ XYZ4์ 4๊ฐ ์ธ์คํด์ค ๋งค๊ฐ๋ณ์๊ฐ ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋งค๊ฐ๋ณ์๋ ์์ฑ๋ ํ์ ๋ชจ๋ ๋น์ด ์์ต๋๋ค. ์ด๋ฌํ ๋งค๊ฐ๋ณ์๋ ํ ์คํธ ๊ธฐ๋ฐ ๋งค๊ฐ๋ณ์์ด๋ฉฐ ๊ฐ์ด ํ์ํฉ๋๋ค. Dynamo๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ๋งค๊ฐ๋ณ์์ ๊ฐ๋ณ ์ ์์น๋ฅผ ์์ฑํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ์์ ์ ๋ฉด ์ปจ์คํดํธ ์์ง๋์ด์๊ฒ ๋ณด๋ด์ผ ํ ๊ฒฝ์ฐ ์ํธ ์ด์ฉ์ฑ์ด ํฅ์๋ฉ๋๋ค.
์ํ ์ํธ์๋ ๋น์ด ์๋ ํฐ ์ผ๋ํ๊ฐ ์์ต๋๋ค. XYZ ๋งค๊ฐ๋ณ์๋ Revit ํ์ผ์ ๊ณต์ ๋งค๊ฐ๋ณ์์ด๋ฏ๋ก ์ผ๋ํ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
ํ๋ํด ๋ณด๋ฉด XYZ ๋งค๊ฐ๋ณ์๋ ์ด๋ฏธ ์ฑ์์ ธ ์์ต๋๋ค. ์ฒ์ ๋ ๋งค๊ฐ๋ณ์๋ Revit์์ ์ ์ด๋ฉ๋๋ค.
์ด๋ฌํ ๊ฐ์ ์์ฑํ๊ธฐ ์ํด ๋ณต์กํ ๋ฆฌ์คํธ ์์ ์ ์ํํ๊ฒ ์ต๋๋ค. ๊ทธ๋ํ ์์ฒด๋ ๊ฐ๋จํ์ง๋ง, ๋ฆฌ์คํธ ์ฅ์ ์ค๋ช ๋ ๊ฒ์ฒ๋ผ ๊ฐ๋ ์ ์ฃผ๋ก ๋ฆฌ์คํธ ๋งคํ์์ ๋ง๋ค์ด์ง๋๋ค.
๋ ๊ฐ์ ๋ ธ๋๊ฐ ์๋ ๋ชจ๋ ๊ฐ๋ณ ๊ตฌ์ฑ์์๋ฅผ ์ ํํฉ๋๋ค.
AdaptiveComponent.Locations ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์ ์ ์์น๋ฅผ ์ถ์ถํฉ๋๋ค.
์ด๋ฌํ ์ ์ ๋ฌธ์์ด๋ก ๋ณํํฉ๋๋ค. ๋งค๊ฐ๋ณ์๋ ํ ์คํธ ๊ธฐ๋ฐ์ด๋ฏ๋ก ์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ ์ ํ์ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
์ฌ๊ธฐ์๋ ๊ฐ ์์์ ๋ํด 4๊ฐ์ ๊ฐ์ ์์ฑํ์ฌ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๊ฒ ๋๋ฏ๋ก ๋ฆฌ์คํธ ๋งคํ์ด ์งํ๋ฉ๋๋ค. List.Combine ๋ ธ๋์์๋ ๋ฐ์ดํฐ ๊ณ์ธต์์ ํ ๋จ๊ณ ์๋์ ์์ ์ ์ ์ํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก Element.SetParameterByName ์ ์์ ๋ฐ ๊ฐ ์ ๋ ฅ์ด ๋น์ด ์๋ ์ด์ ์ ๋๋ค. List.Combine ์ ํด๋น ์ ๋ ฅ์ ํ์ ๋ฆฌ์คํธ๋ฅผ ์ฐ๊ฒฐ๋ ์์์ ๋ฐ๋ผ Element.SetParameterByName ์ ๋น ์ ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค.
Revit์์ ํจ๋์ ์ ํํ๋ฉด ๊ฐ ๋งค๊ฐ๋ณ์์ ๋ํด ๋ฌธ์์ด ๊ฐ์ด ํ์๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ค์ ๋ก๋ ์ (X,Y,Z)์ ์์ฑํ๊ธฐ ์ํ ๋ณด๋ค ๊ฐ๋จํ ํ์์ ์์ฑํ ์ ์์ต๋๋ค. ์ด ์์ ์ Dynamo์์ ๋ฌธ์์ด ์ฐ์ฐ์ผ๋ก ์ํํ ์ ์์ง๋ง ์ฌ๊ธฐ์๋ ์ด ์ฅ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ง ์๊ธฐ ์ํด ํด๋น ๋ด์ฉ์ ๋ค๋ฃจ์ง ์์ต๋๋ค.
๋งค๊ฐ๋ณ์๊ฐ ์ฑ์์ง ์ํ ์ผ๋ํ์ ๋ทฐ์ ๋๋ค.
์ด์ ๊ฐ ETFE ํจ๋์๋ ์ ์์ ์ํ ๊ฐ ํจ๋์ ์ฝ๋๋ฅผ ๋ํ๋ด๋ ๊ฐ ๊ฐ๋ณ ์ ์ ๋ํด XYZ ์ขํ๊ฐ ์์ฑ๋์์ต๋๋ค.
์๋์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ ์คํ ์ ๋๋ฆ ๋๋ค. ์ด ์์ ๋ถํฐ๋ ๊ณ์ ์๋์ผ๋ก ์ค์ ํด์ ์์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด ๋ฆฌ์คํธ๋ฅผ Color Range ์ colors ์ ๋ ฅ์ ์ฐ๊ฒฐํ๊ณ ์ฌ์ฉ์ ์์ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ํ์ธํฉ๋๋ค.
์ด ๋ฆฌ์คํธ๋ฅผ Element.SetParameterByName ์ parameterName ์ ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค.
Element.SetParameterByName ์ List.Combine ์ combinator ์ ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค. ๊ฐ๋ณ ๊ตฌ์ฑ์์ ๋ฅผ list1 ์ ์ฐ๊ฒฐํฉ๋๋ค. ๊ฐ์ฒด์ String ์ list2 ์ ์ฐ๊ฒฐํฉ๋๋ค.


















