Tải bản đầy đủ

giáo trình lập trinh revit dynamo

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
(phanvananhnhat@gmail.com)


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
(phanvananhnhat@gmail.com)

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: http://dvnamobim.org/download
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

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*tr . (*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
(phanvananhnhat@gmail.com)

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 .;
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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

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
(phanvananhnhat@gmail.com)

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×