Paper Convert DOCS
Về Ứng Dụng

1. Tổng Quan Paper Convert

Paper Convert là nền tảng điện toán đám mây cho phép kỹ sư BIM, kiến trúc sư và đơn vị tư vấn hạ phiên bản các tệp mô hình Autodesk Revit® từ phiên bản mới (lên đến 2027) xuống các phiên bản thấp hơn (2019 – 2026) mà không cần cài đặt phần mềm Autodesk Revit trên máy.

Quá trình chuyển đổi diễn ra hoàn toàn tự động theo cơ chế build lại và chuyển đổi mô hình (rebuild & convert), chuẩn hóa toàn diện cấu trúc đối tượng, tham số BIM, hình học 3D, view và sheet tương thích chuẩn xác với phiên bản Revit đích với độ tin cậy tối đa.

2. Định Dạng Mô Hình Hỗ Trợ

Paper Convert hỗ trợ đầy đủ 4 định dạng tệp cốt lõi của hệ sinh thái Autodesk Revit:

.RVT

Revit Project

Tệp dự án tổng thể đa bộ môn Kiến trúc, Kết cấu, Cơ điện MEP. Dung lượng hỗ trợ lên tới 1 GB.

.RFA

Revit Family

Thư viện cấu kiện thiết bị, dầm, cột, cửa, nội thất, thiết bị MEP tham số hóa.

.RTE

Project Template

Tệp mẫu chuẩn hóa thiết lập công ty, view template, browser organization và schedule.

.RFT

Family Template

Mẫu khởi tạo cấu kiện theo chuẩn category (Metric Generic Model, Door, Window,...).

3. Ma Trận Phiên Bản (2019 – 2027)

Hệ thống hỗ trợ chuyển dịch đa chiều giữa tất cả các niên khóa Revit từ 2019 đến 2027:

Phiên bản Trạng thái Đặc tính kỹ thuật tương thích
Revit 2027 Thế hệ mới Tương thích sẵn sàng thế hệ tiếp theo
Revit 2026 Mới nhất Bảo toàn đầy đủ category và annotation mới
Revit 2025 Ổn định Nền tảng .NET 8 và topologies kết nối MEP cải tiến
Revit 2024 Phổ biến Điều hòa địa hình Toposolid về Topography chuẩn
Revit 2023 Chuẩn dự án Chuẩn chung phổ biến nhất cho nhà thầu & tư vấn
2019 – 2022 Lưu trữ Tương thích các dự án cũ và hồ sơ lưu trữ

4. Hướng Dẫn Xử Lý Central Model (Workshared)

Khi chuyển đổi tệp dự án làm việc nhóm (Central File), hệ thống bảo toàn nguyên vẹn danh sách Worksets và phân quyền đối tượng elements.

Lưu ý quan trọng khi mở file kết quả trong Revit đích:

  1. Khởi động Revit → Vào menu Open > Project.
  2. Chọn tệp đã chuyển đổi → Tích chọn ô "Detach from Central" ở cuối hộp thoại.
  3. Bấm Open → Chọn "Detach and preserve worksets".
  4. Vào File > Save As > Project để tạo tệp Central Model mới trên máy chủ của bạn.

5. Đặc Tả REST API (Lập Trình Tích Hợp)

Bạn có thể xây dựng các ứng dụng tự động hóa, plugin Revit, script Python hoặc công cụ dòng lệnh (CLI) gọi trực tiếp tới Paper Convert API.

GET /api/health

Kiểm tra trạng thái máy chủ xử lý và danh sách phiên bản được hỗ trợ.

POST /api/probe

Trích xuất nhanh phiên bản nguồn, số lượng đối tượng elements và trạng thái worksharing mà không cần xử lý toàn bộ tệp.

POST /api/upload-url Direct-to-Cloud / Large Files

Khởi tạo Presigned URL để tải trực tiếp các tệp mô hình lớn (lên tới 1 GB) lên lưu trữ đám mây Cloudflare R2, hoàn toàn giải phóng bộ nhớ RAM máy chủ. Dữ liệu JSON: {"filename": string, "file_size": int, "content_type": string}.

POST /api/convert-r2 Async Cloud Downgrade

Khởi chạy tác vụ hạ phiên bản mô hình xử lý nền từ tệp đã tải trực tiếp lên Cloudflare R2 qua Presigned URL. Dữ liệu JSON: {"key": string, "job_id": string, "filename": string, "target_year": int}.

POST /api/convert

Tải tệp mô hình tiêu chuẩn lên và khởi chạy tác vụ chuyển đổi nền (dành cho file dưới 20 MB). Tham số: file (multipart/form-data), target_year (int: 2019-2027).

GET /api/jobs/{job_id}

Truy vấn tiến độ tác vụ (0-100%), trạng thái (queued, running, completed, failed) và URL tải về.

GET /api/jobs/{job_id}/download

Tải tệp mô hình kết quả hoàn chỉnh về máy.

6. Code Mẫu Tích Hợp

Python (Tự động hóa hàng loạt)

convert_batch.py Python
import os, time, requests

API_BASE = "https://rvt-convert.paperengineer.workers.dev/api"

def convert_large_model(file_path: str, target_year: int, output_path: str):
    """Khuyên dùng cho tệp lớn (lên tới 1 GB) - Tải trực tiếp lên Cloudflare R2."""
    file_size = os.path.getsize(file_path)
    file_name = os.path.basename(file_path)

    # 1. Lấy Presigned URL tải trực tiếp lên đám mây
    res = requests.post(f"{API_BASE}/upload-url", json={
        "filename": file_name,
        "file_size": file_size,
        "content_type": "application/octet-stream"
    }).json()

    if res.get("r2_enabled"):
        # 2. Tải thẳng lên Cloudflare R2 (không tốn RAM máy chủ)
        with open(file_path, "rb") as f:
            requests.put(res["upload_url"], data=f, headers={"Content-Type": "application/octet-stream"}).raise_for_status()

        # 3. Kích hoạt tác vụ xử lý nền
        job = requests.post(f"{API_BASE}/convert-r2", json={
            "key": res["key"],
            "job_id": res["job_id"],
            "filename": file_name,
            "target_year": target_year
        }).json()
        job_id = job["job_id"]
    else:
        # Fallback chuyển đổi tiêu chuẩn
        with open(file_path, "rb") as f:
            job = requests.post(f"{API_BASE}/convert", files={"file": f}, data={"target_year": target_year}).json()
        job_id = job["job_id"]

    # 4. Kiểm tra tiến độ và tải về
    print(f"Task started: {job_id}")
    while True:
        status_res = requests.get(f"{API_BASE}/jobs/{job_id}").json()
        status = status_res["status"]
        progress = status_res.get("progress", 0)
        print(f"Progress: {progress}% ({status})")
        if status == "completed":
            break
        elif status == "failed":
            raise RuntimeError(status_res.get("error", "Conversion failed"))
        time.sleep(2)

    dl_res = requests.get(f"{API_BASE}/jobs/{job_id}/download")
    with open(output_path, "wb") as f_out:
        f_out.write(dl_res.content)
    print(f"Saved to: {output_path}")

# Khởi chạy chuyển đổi
convert_large_model("Building2026.rvt", 2023, "Building2023.rvt")

C# .NET (Dành cho Revit Add-in)

PaperConvertClient.cs C# .NET
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;

public class PaperConvertClient
{
    private static readonly HttpClient client = new HttpClient();
    private const string BaseUrl = "https://rvt-convert.paperengineer.workers.dev/api";

    public async Task ConvertAndSaveAsync(string inputPath, int targetYear, string outputPath)
    {
        using var form = new MultipartFormDataContent();
        using var fileContent = new ByteArrayContent(await File.ReadAllBytesAsync(inputPath));
        form.Add(fileContent, "file", Path.GetFileName(inputPath));
        form.Add(new StringContent(targetYear.ToString()), "target_year");

        var response = await client.PostAsync($"{BaseUrl}/convert", form);
        response.EnsureSuccessStatusCode();
        // Poll status and download the converted model...
    }
}

7. Bảo Mật Dữ Liệu & Cam Kết Không Lưu Trữ

Paper Convert cam kết bảo vệ dữ liệu và quyền riêng tư tuyệt đối cho người dùng:

  • Tất cả tệp mô hình tải lên được lưu trong khu vực tạm thời được cách ly và tự động xóa vĩnh viễn ngay sau khi hoàn tất tải về hoặc tối đa sau 1 giờ.
  • Không quét, không phân tích, không thu thập và không huấn luyện bất kỳ mô hình AI nào trên dữ liệu bản vẽ kỹ thuật của bạn.
  • Đường truyền tải được mã hóa toàn trình qua giao thức HTTPS / TLS 1.3 bảo mật cao cấp.