Molding
🌐 Tiếng Việt

Định dạng JSON

Family của bạn được lưu dưới dạng file JSON nhỏ. Thông thường bạn không cần chỉnh tay — editor ghi nó — nhưng nó đơn giản và thân thiện với AI. Tên trường là camelCase; độ dài tính bằng mm và góc tính bằng radian.

{
  "meta": { "template": "metric-door", "name": "Door Basic" },
  "parameters": [
    { "key": "Width",      "type": "length", "isInstance": true,
      "group": "dimensions", "args": { "input": "900" } },
    { "key": "Height",     "type": "length", "isInstance": true,
      "group": "dimensions", "args": { "input": "2100" } },
    { "key": "Thickness",  "type": "length",
      "group": "dimensions", "args": { "input": "45" } },
    { "key": "HalfHeight", "type": "length",
      "group": "constraints", "args": { "formula": "Height / 2" } }
  ],
  "types": [
    { "name": "900 x 2100mm", "values": { "Width": 900, "Height": 2100 } }
  ],
  "nodes": [
    { "nodeType": "material",  "key": "PanelMat",
      "args": { "name": "Wood - Walnut", "color": [120, 81, 45] } },
    { "nodeType": "rectangle", "key": "PanelProfile",
      "args": { "width": "Width", "height": "Height", "center": [0, "HalfHeight"] } },
    { "nodeType": "extrusion", "key": "Panel",
      "args": { "profile": ["PanelProfile"], "depth": "Thickness", "isSolid": true },
      "modifiers": [ { "nodeType": "applyMaterial", "args": { "material": "PanelMat" } } ] }
  ]
}
  • meta — template Revit để bắt đầu và tên family đầu ra.
  • parameters — các đầu vào, với args.input (mặc định) hoặc args.formula (tính toán). Xem Tham số & tọa độ.
  • types — biến thể kích thước tùy chọn.
  • nodes — hình học. Mỗi nút có nodeType, key duy nhất, args, và modifiers tùy chọn.

Key nút phải duy nhất trong family, và mọi key tham số được tọa độ tham chiếu phải tồn tại — nếu không, quá trình tạo báo lỗi.

Mã hóa tọa độ

Tọa độ số là số trần ("depth": 45), chuỗi trích dẫn là tham chiếu tham số ("depth": "Thickness"). Viết "45" sẽ tìm tham số tên là 45.

{ "width": 900 }            // cố định 900 mm
{ "width": "Width" }        // tham chiếu tham số
{ "width": "-HalfWidth" }   // tham số phủ âm
{ "center": [0, "HalfHeight"] }  // điểm 2D: [x, y]

Tạo bằng AI / LLM

Để tạo family bằng tay hoặc AI, /llms.txt là spec đầy đủ có thể đọc bằng máy — mọi nút, ngữ pháp Coord, công thức, giới hạn và ví dụ thực tế.

📖 1 min read