λ¬Έμνλ₯Ό μν νΈμ§ λ§€κ°λ³μμμλ μ΄μ μΉμ μμ νμ΅ν λ΄μ©μ λ°λ¦ λλ€. μ΄ μΉμ μμλ μμμ κΈ°ννμ νΉμ±μ μν₯μ μ£Όμ§ μκ³ , λ¬Έμνλ₯Ό μν΄ 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
!
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 μ λ ₯μ μ°κ²°νκ³ μ¬μ©μ μμ λ²μ μ λ°μ΄νΈλ₯Ό νμΈν©λλ€.
λ³κ²½ν λ§€κ°λ³μλ₯Ό μ μνλ 4κ°μ λ¬Έμμ΄(XYZ1, XYZ2, XYZ3, λ° XYZ4) 리μ€νΈλ₯Ό μμ±ν©λλ€.
μ΄ λ¦¬μ€νΈλ₯Ό Element.SetParameterByName μ parameterName μ λ ₯μ μ°κ²°ν©λλ€.
Element.SetParameterByName μ List.Combine μ combinator μ λ ₯μ μ°κ²°ν©λλ€. κ°λ³ ꡬμ±μμ λ₯Ό list1 μ μ°κ²°ν©λλ€. κ°μ²΄μ String μ list2 μ μ°κ²°ν©λλ€.





