Revit

Các loại parameter trong Revit: Built-in, Project, Shared, Family và Global khác nhau thế nào

Các loại parameter trong Revit 2027: Instance và Type, bảng so sánh lên bảng, lên nhãn, dùng chung của Built-in, Project, Shared, Family, Global, kèm sơ đồ.

  • TS. Nguyễn Mạnh Tuấn
  • 12 phút đọc
Sơ đồ chọn loại parameter trong Revit: Built-in, Family, Global, Shared, Project Ảnh: Sơ đồ của Viện Tin học Xây dựng

Parameter, tức tham số, là một ô thông tin gắn với cấu kiện: chiều dày tường, cao độ đáy cột, mã cấu kiện, ghi chú. Revit có năm loại parameter, khác nhau ở chỗ ai tạo ra, lưu ở đâu, và có lên được bảng thống kê, nhãn (tag) hay không. Bài này so sánh các loại parameter trong Revit trên Revit 2027: Built-in, Project, Shared, Family và Global, kèm sơ đồ chọn loại cho từng việc.

Chọn sai loại thì sau này phải làm lại: tạo project parameter rồi mới biết nó không lên được nhãn, hay tạo tham số mới trùng tên với tham số Revit đã có sẵn. Muốn học Revit có người hướng dẫn thì xem khóa Học Revit.

Parameter trong Revit là gì: instance và type

Mỗi parameter thuộc một trong hai mức:

  • Instance: giá trị riêng cho từng cấu kiện. Sửa ở bảng Properties khi chọn cấu kiện. Ví dụ Mark, Comments, Base Offset của một bức tường.
  • Type: giá trị chung cho mọi cấu kiện cùng kiểu. Sửa trong hộp Type Properties, mở bằng nút Edit Type. Ví dụ bề dày, Function của kiểu tường Generic - 200mm Masonry. Sửa một lần là mọi bức tường kiểu đó đổi theo.
1 tham số instance Comments, Mark trong bảng Properties. 2 tham số type của kiểu tường trong Type Properties Ảnh: Bảng Properties và hộp Type Properties của tường, Revit 2027

Cách chọn khi tự tạo tham số, với cả bốn loại tự tạo được: mỗi cấu kiện cần một giá trị riêng, như mã cấu kiện hay đợt thi công, thì chọn instance. Mọi cấu kiện cùng kiểu dùng chung một giá trị, như mã vật tư hay nhà sản xuất, thì chọn type.

Bảng so sánh 5 loại parameter

Built-inProjectSharedFamilyGlobal
Ai tạoRevit có sẵnNgười dùng, trong dự ánNgười dùng, trong tệp .txtNgười dùng, trong familyNgười dùng, trong dự án
Lên bảng thống kêCóCóCóKhôngKhông trực tiếp
Lên nhãn (tag)CóKhôngCóKhôngKhông
Dùng chung giữa dự án, familyCó sẵn ở mọi tệpKhôngCóKhôngKhông
Sửa tên, xoáKhôngĐổi tên, xoá được; không đổi Data Type, Instance/TypeXoá khỏi dự án được, đổi tên thì khôngCó, trong familyCó
Có instance/typeCóCóCóCóKhông

Hai dòng mô tả trong hộp Parameter Properties của Revit 2027 là bằng chứng gọn nhất. Project parameter: "Can appear in schedules but not in tags". Family parameter: "Cannot appear in schedules or tags". Shared parameter: "Can be shared by multiple projects and families, exported to ODBC, and appear in schedules and tags".

Global parameter không gắn với nhóm cấu kiện nào nên không có cột trong bảng thống kê. Muốn thấy giá trị của nó trên bảng, hãy gắn nó vào một tham số của cấu kiện; bảng sẽ hiện tham số đó.

Built-in parameter: tham số có sẵn của Revit

Built-in parameter là tham số Revit tạo sẵn theo từng nhóm cấu kiện: Mark, Comments, Level, Base Constraint, Area, Volume, Length, Type Mark. Người dùng không xoá, không đổi tên được, và chúng có mặt ở mọi dự án. Một số tham số chỉ đọc vì Revit tự tính, như Area, Volume, Length của tường.

Built-in parameter không nằm trong danh sách Manage › Project Parameters. Danh sách đó chỉ có tham số người dùng thêm vào; tệp mẫu Metric Multi-discipline của Revit 2027 có sẵn 14 tham số như Ceiling Height, Finish, Sheet Group.

1 danh sách 14 project parameter của tệp mẫu, không có Mark hay Comments. 2 nút New Parameter Ảnh: Hộp Project Parameters, Revit 2027

Trước khi tạo tham số mới, hãy xem Revit đã có sẵn chưa. Lỗi hay gặp là tạo project parameter tên Ghi chú trong khi Comments đã có, rồi bảng thống kê có hai cột làm cùng một việc.

Built-in parameter trong Dynamo và Revit API

Tên hiện trên bảng Properties đổi theo ngôn ngữ giao diện. Mã script dựa vào tên dễ hỏng khi chạy trên máy cài Revit bản tiếng khác. Vì vậy Revit API gọi built-in parameter bằng mã cố định trong BuiltInParameter:

Tên trên giao diệnBuiltInParameterParameterTypeId (Revit 2027)
MarkALL_MODEL_MARKautodesk.revit.parameter:doorNumber-1.0.0
CommentsALL_MODEL_INSTANCE_COMMENTSautodesk.revit.parameter:allModelInstanceComments-1.0.1
Base Constraint (tường)WALL_BASE_CONSTRAINTautodesk.revit.parameter:wallBaseConstraint-2.0.0
VolumeHOST_VOLUME_COMPUTEDautodesk.revit.parameter:hostVolumeComputed-1.0.0
AreaHOST_AREA_COMPUTEDautodesk.revit.parameter:hostAreaComputed-1.0.0
LengthCURVE_ELEM_LENGTHautodesk.revit.parameter:curveElemLength-1.0.1
# Python trong Dynamo hoặc pyRevit: đọc Mark và Comments của một cấu kiện
mark = e.get_Parameter(BuiltInParameter.ALL_MODEL_MARK).AsString()
ghi_chu = e.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS).AsString()

Hai điểm dễ nhầm. Thứ nhất, ParameterTypeId của Mark mang tên doorNumber vì lý do lịch sử, dù Mark có ở mọi nhóm cấu kiện. Thứ hai, cột kết cấu có hai tham số cùng tên Base Level: FAMILY_BASE_LEVEL_PARAM và SCHEDULE_BASE_LEVEL_PARAM. Tra theo tên LookupParameter("Base Level") có thể lấy nhầm cái. Gọi theo BuiltInParameter thì không nhầm. Lập trình Revit bài bản có ở khóa Lập trình Revit API và bài Revit API là gì.

Project parameter revit: tham số riêng của dự án

Project parameter thêm một ô thông tin cho một hoặc nhiều nhóm cấu kiện trong một dự án, dùng để lập bảng, lọc và sắp xếp. Theo Autodesk: Create or Modify Project Parameters, các bước như sau:

  1. Vào Manage › Settings › Project Parameters.
  2. Bấm nút New Parameter (biểu tượng thứ hai ở đáy hộp).
  3. Trong hộp Parameter Properties, chọn Project parameter.
  4. Đặt tên. Autodesk khuyên không dùng dấu gạch ngang (-) trong tên tham số.
  5. Chọn Discipline, Data Type, nhóm hiển thị (Group parameter under), rồi chọn Type hoặc Instance.
  6. Tích các nhóm cấu kiện ở cột Categories, bấm OK.
1 Project parameter: lên bảng thống kê, không lên nhãn. 2 Shared parameter: dùng chung, lên cả bảng và nhãn. 3 chọn Type hay Instance. 4 các nhóm cấu kiện nhận tham số Ảnh: Hộp Parameter Properties khi thêm tham số dự án, Revit 2027

Sau khi tạo, bấm Modify (biểu tượng bút chì) chỉ đổi được tên, nhóm hiển thị và nhóm cấu kiện. Các ô Discipline, Data Type, Type/Instance và lựa chọn Project/Shared đều bị khoá, nên phải chọn đúng ngay lần đầu.

Giới hạn quan trọng nhất: project parameter không lên được nhãn. Nhãn là một family riêng; nó chỉ đọc được tham số mà nó cũng "biết", tức built-in hoặc shared. Project parameter chỉ tồn tại trong dự án nên nhãn không nhận ra. Cần đưa thông tin lên nhãn thì dùng shared parameter ngay từ đầu.

Muốn dùng lại bộ project parameter cho dự án sau, hãy đưa chúng vào tệp mẫu công ty; xem bài template Revit.

Shared parameter: khi cần lên nhãn và dùng chung

Shared parameter có định nghĩa lưu trong một tệp .txt nằm ngoài mọi dự án và family. Mỗi tham số nhận diện bằng một mã GUID. Nhờ vậy nó làm được ba việc mà project parameter không làm được:

  • Lên nhãn: nhãn family và dự án cùng đọc một định nghĩa, cùng GUID.
  • Thống nhất giữa nhiều dự án, family: cả công ty dùng một tệp .txt thì mọi dự án có cùng tên, cùng kiểu dữ liệu.
  • Lập bảng gom nhiều nhóm cấu kiện (Multi-Category), xuất ODBC.

Cái giá: tên và kiểu dữ liệu không đổi được sau khi tạo, và tệp .txt phải được quản lý cẩn thận. Toàn bộ quy trình tạo tệp, gán vào dự án, lập bảng, gắn nhãn, cùng lỗi chữ tiếng Việt hiện ô vuông, có trong bài shared parameter trong Revit.

Family parameter revit: tham số bên trong family

Family parameter tạo trong Family Editor, điều khiển hình dạng và vật liệu của family: bề rộng b, chiều cao h của cột, chiều rộng cánh cửa. Mở bằng nút Family Types trên panel Properties của thẻ Create.

1 tham số b, h của family cột bê tông. 2 nút New Parameter Ảnh: Hộp Family Types của family M_Concrete-Rectangular-Column, Revit 2027

Nạp family vào dự án thì family parameter hiện trong Properties hoặc Type Properties và sửa được giá trị. Nhưng nó không lên bảng thống kê và nhãn. Danh sách trường lập bảng của cột kết cấu trong Revit 2027 không có b và h. Cần thống kê kích thước cột thì tạo b, h dạng shared parameter ngay trong family.

1 Family parameter: không lên bảng, không lên nhãn. 2 Shared parameter: lên cả hai Ảnh: Hộp Parameter Properties trong Family Editor, Revit 2027

Trong family còn có reporting parameter: tham số đọc giá trị từ hình học, như khoảng cách giữa hai mặt phẳng, để dùng trong công thức. Cách dựng family có tham số, công thức và mặt phẳng tham chiếu có trong bài cách tạo family trong Revit.

Global parameter revit: một giá trị điều khiển nhiều cấu kiện

Global parameter tạo trong dự án, không thuộc nhóm cấu kiện nào, và không có instance hay type. Theo Autodesk: Global Parameters, nó dùng để điều khiển nhiều tham số cùng lúc: khoảng cách lưới trục, khoảng lùi cố định, vật liệu chung, hoặc gán làm nhãn cho đường kích thước.

Ví dụ: tạo global parameter Cot_b = 300 và gắn vào tham số b của kiểu cột 300×450.

  1. Vào Manage › Settings › Global Parameters, bấm New Global Parameter, đặt tên Cot_b, Data Type là Length, nhập giá trị 300.
  2. Chọn cột, bấm Edit Type.
  3. Ở dòng b, bấm nút = ở cuối dòng (Associate Global Parameter), chọn Cot_b, bấm OK.
1 global parameter Cot_b = 300. 2 nút New Global Parameter Ảnh: Hộp Global Parameters, Revit 2027
1 tham số b chuyển màu xám vì đã gắn global parameter. 2 nút Associate Global Parameter Ảnh: Type Properties của kiểu cột 300×450mm, Revit 2027

Đổi Cot_b thành 350 thì b của mọi cột kiểu đó thành 350, thể tích một cột cao 3,6 m tăng lên 0,35 × 0,45 × 3,6 = 0,567 m³.

Không phải tham số nào cũng gắn được. Autodesk ghi chỉ một số tham số hệ thống được phép. Trong Revit 2027, tường chỉ cho gắn Base Offset, còn Unconnected Height thì không. Cột kết cấu cho gắn Base Offset, Top Offset và tham số kiểu b, h.

Khi nào dùng loại nào?

Sơ đồ chọn loại parameter: đi từ trên xuống, dừng ở câu trả lời Có đầu tiên Ảnh: Sơ đồ của Viện Tin học Xây dựng

Ba tình huống hay gặp:

  • Đánh mã cấu kiện để hiện trên nhãn và bảng: shared parameter, instance.
  • Ghi chú nội bộ chỉ để lọc, sắp xếp trong một dự án: project parameter.
  • Mọi cột tầng điển hình cùng một kích thước, sau này có thể đổi: global parameter gắn vào tham số kiểu của cột.

Lỗi thường gặp

Hiện tượngNguyên nhânCách xử lý
Tham số không có trong Edit Label của nhãnTham số là project hoặc family parameterTạo lại dạng shared parameter
Không tìm thấy b, h của cột khi lập bảngb, h là family parameterSửa family, đổi b, h sang shared parameter
Bảng có hai cột cùng ý nghĩaTạo tham số mới trùng tham số built-in, như Ghi chú với CommentsDùng tham số built-in, xoá tham số thừa
Script Dynamo chạy máy này được, máy khác lỗiTra tham số theo tên hiển thị, tên đổi theo ngôn ngữGọi bằng BuiltInParameter
Không gắn được global parameterTham số hệ thống không cho gắn, hoặc khác kiểu dữ liệuChọn tham số khác, hoặc tạo global parameter đúng Data Type
Ô tham số xám, không sửa đượcTham số đang gắn global parameter, hoặc do Revit tự tínhSửa giá trị global parameter, hoặc bỏ gắn bằng nút =

Câu hỏi thường gặp

Project parameter và shared parameter khác nhau thế nào?

Cả hai đều thêm ô thông tin cho cấu kiện và đều lên bảng thống kê. Shared parameter lưu định nghĩa trong tệp .txt có GUID nên lên được nhãn và dùng chung cho nhiều dự án. Project parameter chỉ sống trong một dự án và không lên nhãn.

Đổi project parameter thành shared parameter được không?

Không đổi trực tiếp được: trong hộp Modify, lựa chọn Project/Shared bị khoá. Tạo shared parameter mới, chuyển giá trị sang, rồi xoá project parameter cũ. Dữ liệu nhiều thì dùng Dynamo để chép giá trị.

Global parameter có xuất hiện trong bảng thống kê không?

Không trực tiếp. Bảng chỉ hiện tham số của cấu kiện. Gắn global parameter vào một tham số của cấu kiện, rồi đưa tham số đó vào bảng.

Có xem được tên BuiltInParameter của một tham số không cần lập trình không?

Dùng add-in như RevitLookup để xem. Danh sách add-in miễn phí có ở bài add-in Revit.

Tóm lại, các loại parameter trong Revit gồm Built-in có sẵn, Project cho một dự án, Shared cho nhãn và dùng chung, Family cho hình dạng bên trong family, Global để một giá trị điều khiển nhiều cấu kiện. Trước khi tạo tham số mới, hãy hỏi: Revit có sẵn chưa, có cần lên nhãn không, có dùng cho dự án khác không.

Về tác giả

TS. Nguyễn Mạnh Tuấn — Giảng viên BIM Manager, Revit Architecture và Revit Structure tại Viện Tin học Xây dựng – Trường Đại học Xây dựng Hà Nội