Tham số & tọa độ
Đây là ý tưởng cốt lõi của Molding. Khi chọn một phần tử trên tab Phần tử, mỗi trường vị trí / kích thước / độ sâu / bán kính / góc đều hiển thị hai nút nhỏ — V và P. Toggle đó là toàn bộ khái niệm tọa độ:
Mỗi trường là V hoặc P
V(giá trị) — một số cố định bạn gõ, mm cho độ dài hoặc radian cho góc:45,0,1.5708.P(tham số) — trường theo một tham số bạn chọn từ dropdown, thay đổi khi tham số đó thay đổi. Nút−bên cạnh phủ âm tham số (gương qua gốc tọa độ), vdHalfWidth→-HalfWidth.
Đó là toàn bộ ngữ pháp: một trường chỉ là số cố định hoặc một tham số (tùy chọn phủ âm). Có một thứ bạn sẽ tìm mà không thấy:
Không có chỗ để gõ công thức vào trường hình học. Trường chỉ có thể là V (số) hoặc P (một tham số). Mọi phép tính đều đưa vào tham số.
Toán học sống ở đâu: công thức tham số
Để căn giữa hình chữ nhật theo chiều cao, bạn không tính Height / 2 ngay tại trường. Bạn thêm tham số tính nó, rồi trỏ P của trường vào đó:
Tham số HalfHeight công thức: Height / 2 (tab Tham số)
Rectangle center Y: P -> HalfHeight (tab Phần tử)Tại sao tách như vậy? Vì nó giữ mọi trường đơn giản và giống hệt nhau trong preview trình duyệt và Revit runner — cả hai chỉ hỏi "đây là số, hay tham số cần tra cứu?". Phép tính nằm ở đúng một chỗ (công thức tham số), và bộ giải của Revit sở hữu nó.
Cánh cửa, dưới dạng tham số và trường
Đây là family bạn đã xây trong Bắt đầu, viết ra:
Tab Tham số
Width độ dài mặc định 900 Phiên bản
Height độ dài mặc định 2100 Phiên bản
Thickness độ dài mặc định 45
HalfHeight độ dài công thức Height / 2
Tab Phần tử
Rectangle
width = P -> Width
height = P -> Height
center = [ V 0 , P -> HalfHeight ]
Extrusion
profile = [x] Rectangle
depth = P -> ThicknessToán tử công thức
| Loại | Toán tử |
|---|---|
| Số học | + - * / % ** ^ (cả hai đều là lũy thừa) |
| So sánh | == != < > <= >= |
| Điều kiện | cond ? a : b |
&&||!không được hỗ trợ (Revit không có toán tử này) — dùng điều kiện, vdcount > 1 ? Spacing : 0.
Width / 2 // chia đôi
Height * 0.5 // tỉ lệ
hasGlass ? GlassThickness : 0 // phần tùy chọn
Math.max(600, Width) // giới hạn tối thiểu
Math.sin(Angle) * Reach // lượng giác (Angle tính bằng radian)Loại tham số
| Loại | Đơn vị / ý nghĩa |
|---|---|
| length | mm |
| number | số thực không có đơn vị |
| integer | số nguyên (vd đếm) |
| angle | radian |
| boolean | có / không (literal true/false, không có công thức) |
| text | chuỗi nhãn (literal, không có công thức) |
| multilineText | chuỗi nhiều dòng (literal, không có công thức) |
| material | tên vật liệu Revit (literal, không có công thức) |
| url | chuỗi URL (literal, không có công thức) |
| area | mm² |
| volume | mm³ |
| force | N |
| mass | kg |
| slope | rise/run |
| speed | m/s |
| currency | giá trị tiền tệ |
Phiên bản vs loại, và nhóm
- Tham số
phiên bản— có thể chỉnh trên từng bản đặt trong model. - Tham số
loại— cài đặt theo loại family, chung cho mọi phiên bản của loại đó. nhóm— phần nào trong bảng Properties của Revit:kích thước,ràng buộc,vật liệu…- Checkbox Dùng chung — đánh dấu tham số là shared parameter trong Revit để xuất hiện trong schedule đa danh mục và tái dùng giữa các family. Hầu hết tham số không cần bật tính năng này.
Tùy chọn hiển thị tham số
Trong panel settings của tham số (mở rộng tham số) có bốn trường tùy chọn:
- Label — tên hiển thị trong bảng Properties của Revit (mặc định dùng key nếu để trống).
- min / max — giới hạn giá trị trong UI của Revit để người dùng không nhập ngoài khoảng cho phép.
- step — mỗi lần click mũi tên tăng/giảm sẽ thay đổi giá trị thêm/bớt đúng bằng step.
Các giá trị này được lưu dưới dạng meta.label, meta.min, meta.max, meta.step trong JSON.
Lưu ý
- Độ dài là mm; góc là radian. Để dùng độ, tạo tham số với công thức như
Angle * Math.PI / 180rồi trỏ trường vào đó. - Trường
Pcòn ở(chọn tham số)sẽ không có giá trị — chọn một cái, hoặc chuyển sangV. - Để gương, dùng nút
−trên trườngP, không dùng công thức nhưHalfWidth * -1. - Key tham số phải duy nhất trong family; đổi tên key sẽ cập nhật mọi trường trỏ vào đó.
- Các tên
Math,Number,Boolean,isNaN,parseFloat, vàparseIntlà từ dành riêng — đây là các hàm tích hợp trong công thức và không thể dùng làm key tham số hoặc node.
Tiếp theo: xem mọi phần tử có thể thêm trong Tham chiếu nút.