Tìm trong tài liệu, bài viết blog và nhiều nội dung khác…

Mô hình dụng cụ

Liệt kê và lấy các mô hình dụng cụ. Xuất toàn bộ thư viện thành gói Fusion 360.

Đường dẫn gốc: /v1/organizations/:organization_id/tool_assemblies

Endpoint

Phương thức Đường dẫn Mô tả
GET /tool_assemblies Liệt kê các mô hình dụng cụ đã sẵn sàng để xuất
GET /tool_assemblies/:id Lấy một mô hình dụng cụ
GET /tool_library/:vendor Xuất thư viện thành gói cho phần mềm được chỉ định

Mô hình dụng cụ là tài nguyên chỉ đọc qua API — không có route POST, PATCH hay DELETE cho tài nguyên này. Tạo và quản lý mô hình dụng cụ trong ứng dụng, tại Thư viện → Mô hình dụng cụ.

Đối tượng mô hình dụng cụ

{
  "id": 42,
  "name": "Face Mill Ø80 — ADKT",
  "designation": "TA-042",
  "status": "released",
  "created_at": "2025-01-10T08:00:00Z",
  "updated_at": "2025-06-01T10:00:00Z",
  "category": { "id": 3, "name": "Face Mills", "code": "FM" },
  "created_by": { "id": 7, "email": "user@example.com", "firstname": "Long", "lastname": "Han" },
  "cutting_data": [
    {
      "id": "b1e1f7a0-1c2d-4e3f-9a8b-7c6d5e4f3a2b",
      "material_id": 2,
      "name": "42CrMo4 — Face milling",
      "operation": "milling_face",
      "parameters": { "cutting_speed": 180, "feed_per_tooth": 0.12 },
      "unit_system": "metric",
      "created_at": "2025-01-10T08:00:00Z",
      "updated_at": "2025-01-10T08:00:00Z"
    }
  ]
}

Lưu ý trường dùng để nhận diện là designation, không phải number. cutting_data[].parameters là một đối tượng JSON tự do — các khóa của nó phụ thuộc vào operation và không được schema cố định; hãy coi nó là một tập thông số cắt không cố định cấu trúc, đừng xem là một hợp đồng ổn định.

Cách lọc danh sách

GET /tool_assemblies chỉ trả về những mô hình dụng cụ:

  • Có status nằm trong các trạng thái “có thể xuất thư viện dụng cụ” mà tổ chức đã cấu hình — nhóm ô chọn Thư viện mô hình dụng cụ trung tâm (Nháp/Đã phát hành/Đang sử dụng/Chờ lưu trữ/Đã lưu trữ) trong Trung tâm quản trị → Tổ chức → Tùy chọn, là một tùy chọn cấp tổ chức (organizations.preferences["engineering"]["tool_library_exportable"]), không phải một danh sách trạng thái cố định. Đây là một tiêu chí tách biệt với status trong quy trình phát hành của mô hình dụng cụ — tổ chức tự quyết định thế nào là “dùng được cho CAM”, không phụ thuộc vào việc máy trạng thái gọi gì là “released”
  • Có assets_builded: true (các tệp 3D/STEP đã xử lý xong)

Một mô hình dụng cụ đã có và hiển thị trong giao diện ứng dụng có thể chưa xuất hiện ở đây nếu chưa thỏa một trong hai điều kiện trên.

Khác với endpoint danh sách, GET /tool_assemblies/:id không có bộ lọc này — nó trả về bất kỳ mô hình dụng cụ nào theo ID, trong giới hạn phạm vi phân quyền thông thường (xem Xác thực).

Xuất thư viện

GET /v1/organizations/:organization_id/tool_library/:vendor

Hiện :vendor chỉ được hỗ trợ với giá trị fusion (định dạng JSON thư viện dụng cụ của Autodesk Fusion 360, dựng từ cùng bộ lọc trạng thái/tệp như endpoint danh sách). Mọi giá trị vendor khác đều trả về 200 OK với thân null thay vì lỗi — hãy kiểm tra phản hồi rỗng/null thay vì trông vào mã lỗi. Để kết nối Autodesk Fusion, xem ToolingMetrics Connect cho Autodesk Fusion.

Ví dụ

# List all exportable tool assemblies
curl "https://api.toolingmetrics.com/v1/organizations/12/tool_assemblies" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Get a specific tool assembly with cutting data
curl "https://api.toolingmetrics.com/v1/organizations/12/tool_assemblies/42" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Export the full library as a Fusion 360 package
curl "https://api.toolingmetrics.com/v1/organizations/12/tool_library/fusion" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -o tool_library.json
import requests
import json

BASE = "https://api.toolingmetrics.com/v1"
HEADERS = {"Authorization": "Bearer YOUR_TOKEN"}

# Fetch all exportable tool assemblies and index them by designation for lookup
assemblies = requests.get(
    f"{BASE}/organizations/12/tool_assemblies",
    headers=HEADERS,
).json()

by_designation = {a["designation"]: a for a in assemblies}
ta = by_designation.get("TA-042")
if ta:
    print(f"{ta['name']} — status: {ta['status']}")

# Download the Fusion 360 library package
fusion_pkg = requests.get(
    f"{BASE}/organizations/12/tool_library/fusion",
    headers=HEADERS,
).json()

if fusion_pkg:
    with open("tool_library.json", "w") as f:
        json.dump(fusion_pkg, f, indent=2)
    print("Fusion 360 library exported.")
else:
    print("Nothing exported — no exportable tool assemblies, or the vendor value isn't supported.")

Lỗi thường gặp

Mã trạng thái Nguyên nhân
401 Không có quyền xem mô hình dụng cụ trong tổ chức này

Hiện tại, yêu cầu một mô hình dụng cụ với :id không tồn tại không trả về 404 gọn gàng như chi tiết, dự án và máy gia công — show tra bản ghi bằng find_by thay vì find và không có khối rescue xử lý trường hợp không tìm thấy như các tài nguyên kia. Đừng giả định ID mô hình dụng cụ không tồn tại sẽ trả về 404; hãy xử lý thận trọng mọi phản hồi khác 200.

Trang trước

Máy gia công