TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
LỜI NÓI ĐÀU
Bắt đầu tìm kiếm tài liệu tự học dynamo thì có rốt nhiều nguồn, đa số là tiếng Anh,
mà mình thì kém tiếng Anh nên ... nhưng may là mình biết được một số trang web
tiếng Việt như là là forum.rdsic.vn, vietbimcoder,... rồi thấy các bài viết rất hay nên
vừa đọc bài mình vừa soạn lại thành một tài liệu để dễ theo dõi trong quá trình học.
Vì đây là tài liệu tổng hợp lại nên có thể có sai sót, và mọi sự sai sót mình xin phép
không chịu trách nhiệm trong quá trình các bạn tích lũy kiến thức về dynamo. Vì mình
cũng ít còn nghiên cứu dynamo nên trong tài liệu này mình chỉ tổng hợp được 1 số
bài viết, tới thời điểm này tác giả TonyNguyen của forum rdsic cũng chưa ra bài mới
nên mình cũng chưa thể tổng hợp tiếp. Các bạn có thể đón đọc thêm các bài viết mới
về dynamo ở trang trên. Cảm ơn tác giả TonyNguyen đã chia sẻ rất nhiều về dynamo
trên forum rdsic.
23/10/2017
BIÊN SOẠN: PHAN VÀN ANH NHẬT
()
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
DYNAMO - REVIT LÀ GÌ ?
Trong thời buổi công nghệ xây dựng ngày càng phát triển mạnh, mô hình gắn kết
thông tin (BIM) sẽ đang và dần đón đầu thành cuộc cách mạng lớn thay đổi cả tư duy
thiết kế cũng như thi công. Trong đó không thể không kể đến Revit-một software ứng
dụng BIM, tuy nhiên Revit vẫn còn nhiều khuyết điểm thiếu sót trong quá trình triển
khai bản vẽ và hồ sơ thi công. Và Dynamo ra đời, khắc phục và cải thiện những thiếu
sót đó
Dynamo là:
•
Plug-in hỗ trợ revit và bắt đầu từ phiên bản 2017 đã được tích hợp vào Revit
•
Nền tảng lập trình mang tính thị giác, trực quan và dễ dàng nắm bắt
•
Mã nguồn mở hỗ trợ cho revit trong quá trình thiết kế, giúp tự động hóa trong
quá trình thiết kế hoặc là giúp điều chỉnh phương án thiết kế một cách nhanh
chóng và hiệu quả
•
Có thể nói Revit sẽ nâng lên tầm cao mới khi được tích hợp dynamo, ví như
“hổ mọc thêm cánh” vậy
Điều chỉnh phương án thiết kế lớp bao phủ
Dynamo Không phải là ý tưởng hay khi:
•
Được tạo ra và phân phối tới nhiều người sử dụng mà chưa được training
•
Đối với công việc phải thực hiện qua nhiều bước. Chỉ khi chạy một Graph (chuỗi
node) một lần duy nhất
•
Với các dữ liệu “live”
BIÊN SOẠN: PHAN VÀN ANH NHẬT
()
2
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Graph - Môi trường dynamo
Môi trường Revit
Dynamo thực sự là hiệu quả khi:
•
Tự động những thao tác lặp đi lặp lại và mất thời gian. Vd như: Fill thông tin
Room từ Excel, Tạo view, tạo sheet.
•
Copy thông tin. Vd: Copy và đặt Hanger đều cho ống MEP
•
Tạo và sử dụng bởi một người, vì đơn giản là việc nắm bắt tư duy logic của
một người không phải dễ nhất là đối với việc tạo Graph và xử lí lại có rất nhiều
cách để thực hiện
Cài Đặt Dynamo
•
•
Truy cập đường link sau: />Version mới hiện hành là 1.3.1
G.-y
3 Dynamo
-
If I
This IS Dynamo
B Dynamo
*xSc«o-S0
c«
4 * . ÍV
*
ecroon
•v KZCOt»4 Re/ĨSNC r-OAl yOutO
*puX 3TJ
scJ Ct
*
exptor
fltitn occorti. ♦zc’-4'.e
C'ocwsei. re core
eetAWft ffufcc
*
o DYNAMO STUDIO
*vt cow
*
t Dynrno StvOO 4 • »4v# fterrwru-g
sr'o- 7--K 'zcOft
*
*wcrort>7 of
«’+
*
K’Ccr.O'- E-n&iCy ** re CCA
*'
o' rtSu
*'
C'Cf*-nm *4
*
A-tAộự
Cv/^t rct'e' #evcCt'S
*
✓ SK»0 MSfi '.HW' re t'C
*o
r
o«ẹn ĩr*t
r . (*tA# t". ít'Ct *( -tr'ite
ftrcce'W t;
✓ -ft-sept :c' r. 'Ị w'Kt
✓ >r
e
*
*cc«i to CM wvets
✓ -< rfMi M.rc«s (eoreV/ **
J 'Ạ
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
3
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
BÀI 0: TÌM HIỂU VÈ CẤC THÀNH PHẦN
TRONG DYNAMO REVIT
Nodes
•
Nodes là những đối tượng bạn kết nối lại để tạo chương trình ảo. Mỗi node chạy
một chức năng, đôi khi đơn giản như là chứa giá trị của một số hay phức tạp hơn
là tạo đối tượng hình học hay tính toán dữ liệu
•
Hầu hết node trong dynamo được cấu tạo bởi 5 phần:
1
3
2
5
4
1. Name - tên của node với quy ước <category>.<Name>;
2. Main- Phần “body” chính của node
3. Ports-Cổng (In và Out) - Nơi cho gắn dây dữ liệu vào đối với cổng In ( bên
trái Node) cũng như nơi xuất kết quả chạy từ node- cổng Out( bên phải node);
4. Data Preview - rê chuột vào để xem kết quả chạy được từ node, có thể dung
node Watch để xem;
5. Lacing Icon- thế hiện trạng thái của Lacing- sự kết hợp của dữ liệu đầu vào
Wires - Dây
•
Wires kết nối các node tạo nên quan hệ liên kết và tạo thành dòng dữ liệu liên tục
cho chương trình. Có thể ví nó như dây điện mang dữ liệu từ đối tượng này tới đối
tượng khác;
BIÊN SOẠN: PHAN VẲN ANH NHẬT
()
4
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
•
Wires kết nối cổng output từ một node tới cổng InPut của node khác, tạo thành
dòng dữ liệu liên tục. Mặc dù có thể sắp xếp vị trí các node nhưng nhìn chung
chúng ta có thể thấy dòng dữ liệu chạy từ trái qua phải. Xem ví dụ bên dưới
•
Tạo Wire bằng click chọn ở một cổng và click chọn cổng tiếp theo và node sẽ được
kết nối. wire sẽ hiện thị từ nét chấm chấm dash sang nét liền solid khi 2 port dc kết
nối thành công
Library
•
Thư viện Dynamo là một bộ sưu tập của các hàm hay gói packages, mỗi node đều
được nhóm lại theo Category
1. The Library- Giao diện Thư viện người dùng
2. A library-1 thư viện
BIÊN SOẠN: PHAN VẲN ANH NHẬT
()
5
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
3. A Category- Bộ sưu tập những node liên quan tới Circles
4. A Subcategory-Category phụ, điển hình là Creat (tạo), Action(Thực hiện),
Query( trích xuất);
5. A node- đối tượng được đưa vào Workspace để thực hiện lệnh
Program Management
•
Làm việc với chương trình ảo trong Dynamo có thể rất mạnh mẽ và sáng tạo,
nhưng mà nhanh chóng chương trình của bạn có thể trở nên rối và phức tạp
bởi việc dàn trang thiếu khoa học. Có một vài quy tắc dàn trang đơn giản sau:
1. Alignment- quét chọn các node cần align, chuột phải vào Workspace và chọn
align
2. Notes: Ghi chú cho Nodes : File -> Create Note hoặc Shortcut ctrl+w
3. Grouping: Nhóm những node thực hiện ra 1 kết quả hay 1 chức năng. Group
có thể được đặt tên và điều chỉnh màu sắc cho nổi
Tao đường tròn bằng điểm và Bán kính
tao đường tròn
c iícle. ByCenterPoi ntRadius
centerPoint
H
radius
>
>
Circle
BIÊN SOẠN: PHAN VẲN ANH NHẬT
()
6
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Node- thành phần CO’ bản xây dựng lên Program
•
Node là thành phần cơ bản và quan trọng nhốt, chính vì thế hiểu được ý nghĩa của
node trong việc tạo chương trình trong Dynamo chính là chìa khóa để tiết kiệm
thời gian và tiền bạc. Node được nhóm lại thành các categories theo các chức
năng bao gồm DATA, GEOMETRY,LISTS, và chuỗi các chức năng đặc biệt trong
Revit
1. Data
•
Chúng ta cần dữ liệu để đưa vào Port- có thể có dữ liệu mà ko cần chạy nhưng
mà cần phải có dữ liệu thì mới có thể chạy được Node hiện diện
•
Dạng dữ liệu đơn giản nhất là number như 0, 3.14, hay 11. Tuy nhiên có rất nhiều
loại dữ liệu: biến thay đổi giá trị number, kí tự hay một tên; dữ liệu hình học; hay
một List đối tượng (1,2,3,5,6,12...). Node dữ liệu bao gồm các chức năng liên quan
tới Toán tử, Logic(if this then), string (text) hay cả là màu sắc
2. Geometry
•
Dynamo có rất nhiều node dùng để tạo và hiệu chỉnh Geometry, đặc biệt là đối
tượng
hình
học
trong
revit.
Geometry
Node
bao
gồm
Curves,Surfaces,Solids,Meshes, Topology,Points, Import Geometry và các chức
năng trích xuất.
* Geometry
Curves
Abstract
- >
Surfaces
Arc
Bounding Box
- ► J. Coordinatesystem
>o Circle
■
► u
z Vector
Geometry
*
-
• Geometry
- ►
Tesselation
L►
■
I Surface
Curve
Ellipse
Solids
r Ellipse Arc
p *
Helix
Point
uv
Cone
* 1 Cuboid
Line
Points
L►
Nurbs Surface
► * Poly Surface
* B Cylinder
Nurbs Curve
► ‘"J Poly Curve
Polygon
“ * ° Rectangle
u>
B Solid
- ► o Sphere
Meshes
* L 1 IndexGroup
Meshes
Topology
Edge
u► ■
Face
Vertex
-*
Topology
BIÊN SOẠN: PHAN VÀN ANH NHẬT
()
7
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
3. List- Danh sách
•
List là dữ liệu được tổ chức trong Dynamo, hiểu và trích xuất cũng như xử lí dữ
liệu trong List chính là chìa khóa tới thành công trong việc tạo chương trình trong
Dynamo. Trong Dynamo bạn có thể Create, Modify và Trích xuất dữ liệu trong List
+:
Dynamo List Node: nguồn Dynamoprimer.com
4. Revit Nodes
•
Dynamo cung cấp những node được tạo ra cho riêng Revit. Sử dụng những node
này cho phép bạn mở rộng khả năng của Revit dường như không giới hạn. Revit
Node bao gồm Selecting, Editing, Creating, Analysis, Documenting function.
5. Custom Packages- công cụ hữu hiệu miễn phí
•
Một trong những điều tạo nên khả năng phát triển của Dynamo chính là các
Packages, Package là gói các node mà các nhà phát triển tạo ra bằng code Python
hoặc là nhóm node có sẵn trong Dynamo để thực hiện một chức năng không có
sẵn trong Dynamo, bạn chỉ cần down về bản tương thích với phiên bản Dynamo
hiện hành là có thể sử dụng các Package này rồi
•
Các Package nên phải có trong Dynamo gồm:
+ Archi-lab
+ Clockwork for Dynamo: hơn 360 node liên quan tới Revit và quản lí List,
toán tử với hình học, tấm panels V.V..
+ Lunchbox for Dynamo:
+ Rhythm for Dynamo
•
Cách download Package:
BIÊN SOẠN: PHAN VÀN ANH NHẬT
()
8
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
File
View
Edit
Packages
K A a
Settings
Search for a Package...
Manage Packages...
Library
Publish New Package...
Q, point
□
Jt Online PackageSearch
Sort by
ByCoordinates (x.
Form a Pdlntgiven 3
Point 4- Geometry
I
archi-tab.net
©•
X
kiinrad.Sotìcpìộqr
* 2016.134
▼ 44501
® 29 Mạy 2ŨÌ7
ị
-5
ByCartesãanCoordĩnates
KYZ
Pevìt ZDIfL Dynamo 1.3 - -Set of practical nodes by Konrad K Sotxjn [...
Form a Paint in the given coordinate system
with 3 cartesian coordinates
Point
-f.
Geometry
1
Arch i -1 ab_M a rtdril I
X
fcsobon
T 3329
Ỉ
a ZB Apr 21317
ByCyíĩndri caiCoordir ates
Forma Point in the given coordinate sysiem
given its position in cyl Indrical coordinates.
Point -f- Geometry
BySpherĩcaỉCoordĩnates
Fann 3 Paint in the given coordinate system
given its position in spherical coordinates.
Point 4- Geometry
Dynamo 1.2. Data visualization package for Dynamo. It uses the d3js library to.
Arch i- lab_Ma ntisShrim p
©
X,
KjanradSflhon^gr
ByOngin (origin)
ExportFBX
X dnenov
4- Geometry
T
1S55
I
Ị
1
ị
G & Feb 2017
Dynamo 1,2 Mantis Shrimp is a Rhino/Grasshopper and Dynamo...
Creates CoordinateSysterr- with origin at input
Point, witfl X and Y Axes set as wcs X and Ỳ
Axes.
Coord inateSystem
*
p 2Ơ16.94
T 144
® 6 Sep 2016
Exports all elements in 3D View to separate .fbx files. Worts with "Current...
V
The center point of the arc
Arc 5 Geometry
i
I
J-Nodes
Centerpoint
V jarrodryanza@gini
w 2Ữ16.1221
T 261
G 22bec2C1&
Useful technical nodes to improve upon project efficiencies. Builds upon ttie.„
ByCorners
Creates the an axis-aligned BoundingBox
spanning between the minimum Point and the
maximum Point
BoundingBox
4-
Mantis Shrimp
1
1
-23
Geometry
Tạm thời thế nhé, hẹn gặp anh em trong những bài sau ©
BIÊN SOẠN: PHAN VẲN ANH NHẬT
()
9
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
BÀ11: NODES
Dynamo is a visual programming (tạm dịch : Dynamo là một kiểu lập trình bằng hình
ảnh).
Khi nhắc đến lập trình thì người ta sẽ nghĩ ngay đến code. Trong Dynamo thì thay vì
dùng code thì ta sẽ dùng node (nhắc đến Dynamo là nhắc đến node), mặc dù vậy nếu
muốn can thiệp sâu hơn vào Dynamo ta vẫn phải coding bằng Code Block và lập trình
Python. Node là những đối tượng mà bạn có thể kết nối với nhau để xây dựng nên
một chương trình .
Phân tích một node :
Point.ByCoordinates
X
>
y
>
I Point
3
2
z
>
4
I
5
1_Tên node
2_Phần khung của node, chuột phải lên phần này để xem hướng dẫn (mục help)
3_Đầu ra (OutPut)
4_Đầu vào (Input)
5_Lacing (xem chủ đề lacing để rõ hơn)
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
10
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
BÀI 2: CHUYỂN ĐỔI CÁC KIỂU DỮ LIỆU
Trong dynamo thì việc xem xét và hiểu đầu vào (in put), đầu ra (out put) của nodes
là rất quan trọng. Trong một vài trường hợp, bạn sẽ có nhu cầu chuyển đổi các kiểu
dữ liệu để đảm bảo việc thực hiện đúng chương trình. Ví dụ như chuyển kiểu dữ
liệu text thành kiểu dữ liệu number.
Ví du 1 : Chuyển dữ liệu text thành kiểu dữ liệu số.
Trong ví dụ trên 12 là kiểu dữ liệu số còn 2 là kiểu dữ liệu text nên kết quả là null
(rỗng).
Trong khi nếu ta dùng node : String.ToNumber để chuyển 2 từ text thành number
thì kết quả cho ra 12
*2
= 24.
Ví du 2 : Chuyển kiểu dữ liệu đối tượng (điểm, đường thẳng...) thành text.
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
11
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Node : string from Object ở ví dụ trên dùng để chuyển các điểm là loại đối tượng
thành kiểu dữ liệu text, vì là nhiều điểm nên sẽ được chuyển thành nhiều text tạo nên
1 chuỗi (string).
Node : Point.ByCoordinates dùng để tạo điểm với đầu vào là tọa độ X, y, z
Node String.Contains dùng để xác định xem chuỗi được đưa vào có chứa chuỗi phụ
hay không, kết quả cho ra là True hay False. Ví dụ như ở trên ta sẽ tìm kiếm giá trị
text là “5” trong các điểm được tạo bằng Point.ByCoordinate được chuyển thành chuỗi
(string).
Code block chứa : 1..10..1 có nghĩa là sẽ lấy dữ liệu từ 1 đến 10 và cách nhau 1 đơn
vị. Tương tự cho code block bên dưới 0..50..5 : lấy các dữ liệu từ 0 đến 50 cách nhau
5 đơn vị bao gồm 0, 5, 10, 15...45, 50.
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
12
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
BÀI 3: VẼ TƯỜNG TỪ DYNAMO
Khi mà bạn đã tạo được line thì bạn có thề sử dụng nó để tạo tường.
Có 2 node có thể sử dụng để tạo tường. Bây giờ mình sẽ sử dụng
node Wall.ByCurveAndLevels
walljaycurve
SE
ByCurveAndHữight
S3
ByCurveAndLevels
Wall.ByCurveAndLevels
1
2
3
4
c
startLevel
endLevel
vvallType
>
Wall
>
>
>
1_tạo một đường cong hoặc đoạn thẳng và nối vào đây (c là viết tắt của curve)
2_cao trình đáy tường
3_cao trình đỉnh tường
4_loại tường
Tạo một đường thẳng trước bằng node Line.ByStartPointEndPoint, đầu vào của
node này là 2 điểm được tạo bằng Point.ByCoordinates
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
13
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Dùng đường thẳng vừa tạo nối vào đầu vào “c” trong node Wall.ByCurveAndLevels,
ngoài ra thì còn cung cấp cho nó cao trình đáy là level 1 và cao trình đỉnh là level 2
bằng node Levels , loại tường là Generic dày 300 bằng node Wall Types.
Tới bước này thì tường đã được tạo trong Revit và vẫn chưa thấy xuất hiện tường
trong
Dynamo để
thấy được tường
trong
Dynamo
thì
ta dùng
nodeElement.Geometry
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
14
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
BÀI 4: LOẠI Bỏ GIẢ TRỊ RỖNG (null values)
■
™
LIST TRỐNG (empty list) RA KHỎI LIST
Loại bỏ giá trị rỗng hay list trống ra khỏi list gốc là rất quan trọng , để đảm bảo tất cả
các dữ liệu ăn khớp với nhau.
3/”xyz”: số chia cho chữ ra giá trị rỗng
List.Create : gom lại thành 1 list từ các giá trị đầu vào.
List.ReplaceNull: Thay thế giá trị rỗng, trong ví dụ trên thay thế tất cả giá
trị rỗng thành giá trị 1 thông qua Code Block
List.ReplaceEmptyLists : Thay thế list trống, trong ví dụ trên thay thế tất
cả list trống thành giá trị 1 thông qua Code Block
Dùng node Listclean để xóa luôn giá trị rỗng và list trống
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
15
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
List Create
itemO
*
item!
List. Clean
Iĩem2
list
Item 3
preserve! ndices
varQ..Q
Item4
1
1
Item 5
4* List
I®] 1
[1] X
[2] 1
false:
■
List.Clean
varfl. o
list
LiscCreate
preserveindices
■
x\
1 tut
1
[e] 1
(1] 1
(2) 1
Item3
Item4
Item5
[0] Eapty List
[11 1
[2]
u
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
16
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
BÀI 5: TẠO NHANH TƯỜNG, CAO TRÌNH, SÀN
DỰA TRÊN HÌNH DẠNG CÔNG TRÌNH
B1 : Vẽ hình dạng mặt bằng công trình bằng detail line.
B2 : Chọn lấy các detail line vừa vẽ.
Q. select model element
Select Model Element
Select Model Elements
Element.FromDynamoSurface
SelectionSet.ByElements
B3 : Tạo cao trình cho công trình
start
amount
step
0
I Level(Name- Level 3, Elevation-0)
BBII
I
Level(Na«e-'Level 4,
Elevation-330© 1
DI Level(Name-•Level 5,
Elevation-66©e 1 ;
EQILevel(Name-•Level
Elevation-990C 1
32I
6,
Level(Na»e-•Level 7,
I Level(Name-•Level 8,
■■!
r
»1 aval
o
Elevation-1328 1
Elevation»165C 1 !•
c1
< AH.1 ORO
L
Dùng node Level.ByElevation để tạo cao trình trong Revit. Cao trình nhà thì gồm
số tầng vào chiều cao mỗi tầng, dùng node Sequence với:
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
17
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
1
1-Start: cao trình đáy
2_amount: số lượng tầng
3_step : chiều cao tầng
B4 : Vẽ tường dựa vào các detail line ở trên bằng node Wall.ByCurveAndLevels
Wall.ByCurveAndLevels
>
c
startLevel
>
endLevel
>
wallType
>
Wall I
11
Curve là các đường detail line vừa vẽ ở trên, tuy nhiên các đối tượng detail line ở
trên là elements. Giờ mình sẽ dùng node Element.Curves để chuyển những đối
tượng
detail
line thành
curve
và
nối
vào
input “c” của
node
Wall.ByCurveAndLevels
Select Model Elements
Select
Elements: 199351 199433 199495
199668199758199798
I Elements
Element. Curves
element
>
Wall.ByCurveAndLevels
Curved ►—1 c
1
>wall
startlevel
>
end Level
>
wallType
>
2,3_cao trình đáy và đỉnh được lấy bằng cách dùng node : List.Firstltem và
List.Lastltem để lấy giá trị đầu và cuối trong list những cao trình vừa tạo.
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
18
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
'=Level 3, Elevation=0)
199279
List
HI Level(Name-Level
List. Last Item
Elevation=0)
1
Level(Name=Level 4, Elevation=330C
2
5, Elevation=66ôe
3
*Level
Level(Name
4
Level(NamesLevel 7, Elevation=132C
6
list
>
last
1
Elevation=990e
Level(Name=Level 22, Elevation
*62700)
1992
Level(Name=Level 8, Elevation=165C
Lần lượt nối output của List.Firstltem và List.Lastltem vào startLevel và endLevel.
Element.Curves
Elements
element
>
Curved
1
startLevel
end Level
wallType
L—
Dùng node Wall Types đề chọn loại tường rồi nối vào wallType
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
19
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Wall.ByCurveAndLevels
ListLastltem
c
>
start Level
>
endLevel
>
wall Type
>
Wall
1
B5 : Tạo sàn bằng node Floor.ByOutlineTypeAndLevel
Lưu ý khi kiếm node này trong Dynamo thì sẽ cho ra 2 node với tên giống nhau.
Floor. ByOutlineTypeAndLevel
outlinecurves
>
floorType
>
level
>
Floor
Floor.ByOutlineTypeAndLevel
outline
floorType
level
>
>
>v
Floor
1
Và mình sẽ dùng node phía trên để tạo tường.
Floor.ByOutlineTypeAndLevel
outlinecurves
floorType
level
>
>
>
Floor
1
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
20
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Tương tự như với vách mình sẽ nối Element.Curves với input “outlinecurves”
Dùng node Floor Types để chọn loại sàn rồi nối vào floorType
Vì mình sẽ vẽ sàn ở tất cả các cao trình
node Level.ByElevation
nên sẽ nối
input “level” với
Floor. ByOưtli ne TypeAnd L evel
outlmeCurves
Select Model Elements
íloorĩype
Change
level
>
>
>
Floor
Elements : 199351 199433 199495
19966819975819979«
LiscFirstltem
c
startLevel
endlevel
B6 : Tạo offset cho sàn so với cao trình.
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
21
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Properties
X
1 Floor
Generic Floor - 200mm
▼
▼ 0ẫ Edit Type
Floors (1)
Constraints
|Level 24
Level
L
Height Offset Fr... 0.0
Rnnm Rmindinn ilõl
L
Height Offset From Level
Specifies the elevation of the top of an element relative to its
level.
Lưu ý khi vẽ sàn thì ngoài tham số Level ta còn có tham số Height Offset From
Level để điều chỉnh cao độ sàn so với cao trình nhà.
Giờ thì mình sẽ áp dụng Dynamo để can thiệp vào tham số này của Revit, bằng
cách sử dụng node Element.SetParameterByName
1_mình sẽ nối các sàn vừa được tạo vào input “element”
Floor.ByOutlineTypeAndLevel
Element.SetParameterByName
Floor ►
outlinecurves
>
floorType
>
parameterName
level
>
value
element
>
>
>
Element
1
1
2,3_Dùng code block để ghi tên của tham số Height Offset From Level và giá trị
offset là 0. Tên của tham số là text nên phải có dấu “ “ trong code block, giá trị
offset là số nên không có dấu “
Giờ thì nếu muốn sàn offset lên xuống bao nhiêu thì chỉ cần nhập giá trị vào
Code Block đưa vào input “value”.
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
22
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
ĩ
ỉ
ĩ
B7 : Run
Dynamo báo lỗi chỗ tạo sàn : The input PolyCurve is not closed
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
23
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Warning: Floor.ByOutlineTypeAndLevel
operation failed.
TheJngiMPol^Curvejsnotclosed^
Floor.ByOutlineTypeAndLevel
outlinecurves
fioorType
level
>
>
>
Floor
1
Code Block
"Height Offset From Level";
Lỗi xuất phát từ PolyCurve, nhìn kết quả mà node Elementcurves xuất ra ta có
thể thấy các đường line tạo ra nằm riêng rẽ thành quá nhiều list. Giờ mình sẽ gom
hết lại thành một list bằng node : Flatten
List
I 'O
*0 List
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
24
TÀI LIỆU HƯỚNG DẪN DYNAMO FOR REVIT cơ BẢN
Sau đó nối với node Floor.ByOutlineTypeAndLevel từ node Flatten.
ere*
•
B8 : Run lại lần 2
BIÊN SOẠN: PHAN VĂN ANH NHẬT
()
25