API 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ần tiêu đề “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ụ
Phần tiêu đề “Đố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
Phần tiêu đề “Cách lọc danh sách”GET /tool_assemblies chỉ trả về những mô hình dụng cụ:
- Có
statusnằ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ớistatustrong 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 của tổ chức 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
Phần tiêu đề “Xuất thư viện”GET /v1/organizations/:organization_id/tool_library/:vendorHiệ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 CAM Connect cho Autodesk Fusion.
Ví dụ
Phần tiêu đề “Ví dụ”# List all exportable tool assembliescurl "https://api.toolingmetrics.com/v1/organizations/12/tool_assemblies" \ -H "Authorization: Bearer YOUR_TOKEN"
# Get a specific tool assembly with cutting datacurl "https://api.toolingmetrics.com/v1/organizations/12/tool_assemblies/42" \ -H "Authorization: Bearer YOUR_TOKEN"
# Export the full library as a Fusion 360 packagecurl "https://api.toolingmetrics.com/v1/organizations/12/tool_library/fusion" \ -H "Authorization: Bearer YOUR_TOKEN" \ -o tool_library.jsonimport requestsimport json
BASE = "https://api.toolingmetrics.com/v1"HEADERS = {"Authorization": "Bearer YOUR_TOKEN"}
# Fetch all exportable tool assemblies and index them by designation for lookupassemblies = 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 packagefusion_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
Phần tiêu đề “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, hoặc không có tổ chức nào có mã này |
404 |
GET /tool_assemblies/:id: tổ chức này không có mô hình dụng cụ nào có mã này. Thân phản hồi dùng khóa error số ít, như với chi tiết, dự án và máy gia công (xem Lỗi) |
422 |
Chỉ với Xuất thư viện: tệp xuất không dựng được dù đã bỏ các mô hình dụng cụ không dựng được (thông thường các mô hình đó chỉ bị bỏ khỏi thư viện và người dùng của chúng được thông báo); errors cho biết lý do |
500 |
Chỉ với Xuất thư viện: tệp xuất thất bại ngoài dự kiến; errors chứa "The tool library export failed" |