Nén Draco hiệu năng cao cho BIM: Hình học, Thuộc tính và Quy trình — Nền tảng của BIM quy mô web
Hệ sinh thái sản phẩm: Draco trong vòng đời nén dữ liệu
Công nghệ nén Draco hoạt động trong một quy trình ba giai đoạn nghiêm ngặt trong hệ sinh thái của 3D Expert: trích xuất, giảm dung lượng và kết xuất. Điều quan trọng là phải hiểu sản phẩm nào đảm nhiệm vai trò nào — 3D/BIM PlVàCông cụ này trích xuất dữ liệu từ các định dạng gốc nhưng KHÔNG thực hiện nén. Quá trình nén Draco và tất cả các thao tác giảm dung lượng được xử lý bởi Opt File Generator và 3D Model & Data Asst. Dưới đây là cách các sản phẩm tham gia vào vòng đời nén:
- Plugin 3D/BIM — CHỈ dành cho giai đoạn trích xuất. Tiện ích xuất khẩu gốc cho 9 nền tảng CAD/BIM (Revit, Bentley, Tekla, Rhino, Navisworks, Solidworks, Inventor, Siemens). NxPlugin này được xây dựng dựa trên API chính thức của nhà cung cấp (PTC Creo). Plugin trích xuất hình học (dưới dạng đối tượng lưới), vật liệu, cấu trúc cây phân cấp và dữ liệu thuộc tính từ các định dạng độc quyền (.rvt, .dgn, v.v.) mà không làm mất dữ liệu. Đầu ra: một tệp GLZIP trung gian (hình học chưa nén) cộng với một tệp cơ sở dữ liệu (các thuộc tính trong SQLite). Plugin KHÔNG thực hiện nén Draco, đơn giản hóa lưới, tạo LOD hoặc bất kỳ việc giảm trọng lượng nào — nhiệm vụ duy nhất của nó là trích xuất không mất dữ liệu từ các định dạng gốc.
- Công cụ tạo tập tin Opt — Công cụ tối ưu hóa dung lượng. Nó nhận các tập tin GLZIP trung gian (từ Plugin 3D/BIM) hoặc các định dạng mở/chuẩn (IFC, FBX, STEP, STL, IGES, RVM, OBJ, v.v.) và áp dụng toàn bộ quy trình tối ưu hóa dung lượng: nén Draco với lượng tử hóa có thể cấu hình, tối ưu hóa lưới, tạo LOD và đóng gói cơ sở dữ liệu thuộc tính. Người dùng có thể chọn từ các cấu hình cài đặt sẵn như “Truyền phát trực tuyến trên web (mạnh mẽ)”, “Xem xét kỹ thuật (cân bằng)” hoặc “Lưu trữ (bảo thủ)” — mỗi cấu hình xác định mức lượng tử hóa và chế độ mã hóa cụ thể. Được tối ưu hóa cho xử lý hàng loạt với ghi nhật ký kiểm toán. Đầu ra: các tập tin .Opt.
- Hỗ trợ Mô hình & Dữ liệu 3D — Đảm nhiệm hai vai trò: (1) như một công cụ giảm dung lượng với khả năng nén Draco tương tự như Trình tạo Tệp Opt (nhận các định dạng GLZIP trung gian hoặc định dạng mở, áp dụng nén Draco, LOD, tối ưu hóa lưới), và (2) như một trình xem ngoại tuyến cho các tệp GLZIP đã nén cuối cùng hoặc các định dạng mở/chuẩn (IFC, FBX, STEP, STL, IGES, RVM, OBJ, v.v.) với khả năng truy vấn thuộc tính đầy đủ. Vì quá trình giải nén phụ thuộc vào CPU và chạy trực tiếp (không phải trong môi trường WASM của trình duyệt), hiệu suất trên máy tính để bàn đối với các mô hình rất lớn có thể vượt trội hơn hiệu suất trên web một cách đáng kể.
- Rapid3D Loader cho Three.js — Giai đoạn hiển thị trên web. Gói npm (opt-rapid3d-loader) tích hợp bộ giải mã WebAssembly Draco giúp giải nén luồng dữ liệu hình học của tệp Opt đã nén ngay lập tức. Quá trình giải nén chạy trong Web Workers, tách biệt khỏi luồng chính, và cung cấp trực tiếp các đối tượng Mesh của Three.js cho đồ thị cảnh. Trình tải hỗ trợ giải nén từng phần — nó không cần toàn bộ tệp trước khi bắt đầu hiển thị. Trình tải sử dụng các tệp Opt;
Tóm lại: Plugin trích xuất dữ liệu từ các định dạng gốc (không nén). Trình tạo tập tin Opt và Trợ lý Mô hình & Dữ liệu 3D thực hiện nén Draco và tối ưu hóa dung lượng. Trình tải giải nén trong trình duyệt thông qua WASM. Ứng dụng máy tính để bàn có thể nén (chế độ tối ưu hóa dung lượng) và giải nén (chế độ xem). Dữ liệu thuộc tính trong tập tin cơ sở dữ liệu không bao giờ được nén Draco — nó vẫn ở định dạng SQLite để truy vấn trong mili giây.
───────────────────────────────────────────────────────────
16 Khả năng — Tương ứng với Sản phẩm
Phần 1: Nguyên lý cơ bản về nén dữ liệu — Cách Draco hoạt động bên trong
Google Draco, được công bố mã nguồn mở vào năm 2017, ban đầu được xây dựng để nén các tài sản 3D cho việc hiển thị trên thiết bị di động và web. Sự đổi mới cốt lõi của nó nằm ở hai thuật toán bổ sung: một cho kết nối lưới (hình học tôpô) và một cho vị trí đỉnh (hình học). Hiểu rõ những điều này là rất cần thiết để đưa ra các quyết định lượng tử hóa sáng suốt cho dữ liệu BIM. Lưu ý: tất cả quá trình nén Draco trong quy trình của 3D Expert được thực hiện bởi Opt File Generator và 3D Model & Data Asst — chứ không phải bởi Plugin 3D/BIM, chỉ xử lý việc trích xuất.
- Mã hóa kết nối Edgebreaker — Cấu trúc liên kết gần như không mất dữ liệu
Chế độ mã hóa lưới mặc định của Draco sử dụng thuật toán Edgebreaker, thuật toán này duyệt qua lưới tam giác và ghi lại một chuỗi các thao tác tôpô (lệnh C, L, E, R, S) mô tả cách mỗi tam giác mới gắn vào bề mặt hiện có. Điều này đạt được mã hóa gần như entropy về khả năng kết nối lưới — mối quan hệ giữa các đỉnh, cạnh và mặt được mã hóa trong một phần nhỏ không gian so với bộ đệm chỉ mục rõ ràng. Đối với các mô hình BIM, điều này có nghĩa là cấu trúc tôpô (dầm nào kết nối với cột nào, đoạn ống nào tạo thành một đường chạy liên tục) được bảo toàn gần như bằng không. Chuỗi Edgebreaker sau đó được mã hóa entropy (mã hóa phạm vi) để giảm kích thước hơn nữa.
- Được hỗ trợ bởi: Trình tạo tập tin Opt và Trợ lý Mô hình & Dữ liệu 3D (mã hóa Edgebreaker trong quá trình giảm dung lượng) → Trình tải Rapid3D cho Three.js (tái tạo kết nối trong thời gian chạy)
- Lượng tử hóa vị trí KD-Tree — Độ chính xác có thể cấu hình
Vị trí đỉnh là kênh dữ liệu lớn nhất trong bất kỳ mô hình BIM nào. Draco không lưu trữ đầy đủ tọa độ dấu phẩy động 32 bit. Thay vào đó, nó xây dựng cây KD trên đám mây điểm, phân tách đệ quy dọc theo trục dài nhất và lượng tử hóa từng vị trí đỉnh đến độ sâu bit có thể cấu hình. Ở mức lượng tử hóa 16 bit, các vị trí được mã hóa với 65.536 mức rời rạc trên mỗi trục — đủ cho độ chính xác cấp kỹ thuật. Ở mức 11 bit (2.048 mức), kích thước tệp giảm hơn nữa nhưng các đặc điểm hình học nhỏ có thể hiển thị các mặt phẳng rõ ràng. Các công cụ giảm kích thước của 3D Expert (Opt File Generator và 3D Model & Data Asst) hiển thị điều này dưới dạng cài đặt cho mỗi tệp: “Số bit lượng tử hóa vị trí (11–16)”, mặc định là 14 cho BIM — một điểm tối ưu giúp giảm kích thước tệp từ 8 đến 10 lần mà không làm giảm chất lượng đáng kể trên hình học AEC điển hình.
- Được hỗ trợ bởi: Trình tạo tập tin Opt và Trợ lý Mô hình & Dữ liệu 3D (cấu hình lượng tử hóa cây KD) → Trình tải Rapid3D cho Three.js (giải lượng tử hóa trong bộ giải mã WASM)
- Chế độ mã hóa tuần tự — Dành cho dữ liệu không đa tạp và đám mây điểm
Không phải tất cả hình học BIM đều là lưới tam giác gọn gàng. Các đám mây điểm từ quét laser, các cạnh không đa dạng từ các khối rắn được mô hình hóa kém và các phần tử 2D (chuỗi đường thẳng, chú thích) không phù hợp với mô hình duyệt Edgebreaker. Chế độ mã hóa tuần tự của Draco xử lý các trường hợp này: nó lưu trữ dữ liệu đỉnh theo thứ tự với mã hóa delta và các lược đồ dự đoán, mà không yêu cầu cấu trúc liên kết có thể duyệt được. Công cụ giảm trọng lượng của 3D Expert tự động phát hiện hình học không đa dạng và chuyển sang chế độ tuần tự cho mỗi lưới con — người vận hành không bao giờ cần phải đánh dấu thủ công.
- Được hỗ trợ bởi: Trình tạo tập tin Opt và Trình hỗ trợ mô hình & dữ liệu 3D (lựa chọn chế độ tự động trong quá trình giảm dung lượng) → Trình tải Rapid3D cho Three.js (bộ giải mã chế độ kép)
Lĩnh vực 2: Thuộc tính và Xử lý vật liệu
Mô hình BIM chứa nhiều thông tin hơn là chỉ vị trí các tam giác. Pháp tuyến đỉnh, tọa độ kết cấu, màu sắc đỉnh và ID vật liệu đều là các kênh thuộc tính mà Draco có thể nén độc lập. Điều quan trọng là phải hiểu thuộc tính nào chịu được lượng tử hóa mạnh và thuộc tính nào không. Tất cả quá trình nén thuộc tính được thực hiện trong giai đoạn giảm dung lượng bởi Opt File Generator và 3D Model & Data Asst.
- Dự đoán hình bình hành cho pháp tuyến đỉnh
Các vectơ pháp tuyến đỉnh quyết định cách ánh sáng tương tác với bề mặt — chúng rất quan trọng đối với tính chân thực hình ảnh. Draco áp dụng sơ đồ dự đoán hình bình hành: đối với mỗi đỉnh mới, bộ giải mã dự đoán vectơ pháp tuyến của nó dựa trên các vectơ pháp tuyến của các đỉnh lân cận trên cùng một mặt, sau đó chỉ lưu trữ phần dư của dự đoán. Điều này hiệu quả hơn nhiều so với việc lưu trữ các vectơ pháp tuyến tuyệt đối. Phần dư sau đó được lượng tử hóa đến độ sâu bit có thể cấu hình (8–12 bit). Ở mức lượng tử hóa 10 bit (mặc định cho BIM), chất lượng ánh sáng không thể phân biệt được bằng mắt thường so với các vectơ pháp tuyến chưa nén, trong khi kênh vectơ pháp tuyến giảm đi khoảng 5 lần. Đây là lý do tại sao các mô hình BIM được nén bằng Draco vẫn giữ được vẻ ngoài vật liệu thực tế của chúng — độ trung thực ánh sáng giúp thép trông giống thép và bê tông trông giống bê tông được bảo toàn.
- Được hỗ trợ bởi: Trình tạo tập tin Opt và Trợ lý Mô hình & Dữ liệu 3D (dự đoán và lượng tử hóa thông thường trong quá trình giảm trọng lượng) → Trình tải Rapid3D cho Three.js (tái tạo thông thường)
- Hồ sơ lượng tử hóa đa thuộc tính
Các kênh thuộc tính khác nhau có ngưỡng dung sai khác nhau cho việc lượng tử hóa. Tọa độ vị trí cần 14–16 bit để đạt độ chính xác kỹ thuật. Pháp tuyến đỉnh chịu được 10 bit. Tọa độ kết cấu (UV) có thể giảm xuống 12 bit mà không gây hiện tượng nhấp nháy kết cấu. Màu đỉnh hoạt động tốt ở mức 8 bit mỗi kênh. Trình tạo tệp Opt và Trợ lý Mô hình & Dữ liệu 3D hiển thị tất cả các tham số này dưới dạng các tham số độc lập, trong đó Trình tạo tệp nhóm chúng thành các cấu hình được đặt tên: “Truyền phát trực tuyến trên web” (vị trí 13, pháp tuyến 8, UV 10, màu 8), “Xem xét kỹ thuật” (vị trí 15, pháp tuyến 10, UV 12, màu 8) và “Lưu trữ” (vị trí 16, pháp tuyến 12, UV 14, màu 8). Độ chi tiết trên mỗi kênh này cho phép cùng một mô hình nguồn có thể phục vụ bản xem trước web nhẹ và bản xem xét kỹ thuật đầy đủ độ chính xác từ cùng một quy trình.
- Được hỗ trợ bởi: Trình tạo tệp Opt (các cấu hình thiết lập sẵn với lượng tử hóa theo từng thuộc tính) và Trợ lý mô hình & dữ liệu 3D (cấu hình lượng tử hóa tương tác)
- Tách thuộc tính hình học — Tệp cơ sở dữ liệu vẫn không bị nén
Đây có lẽ là quyết định kiến trúc quan trọng nhất trong việc tích hợp Draco của 3D Expert. Hình học (đỉnh, mặt, pháp tuyến, UV, màu sắc) được nén bằng Draco bên trong tệp GLZIP trong giai đoạn giảm dung lượng. Nhưng dữ liệu thuộc tính chuyên nghiệp — ID thành phần, mối quan hệ phân cấp, cấp vật liệu, ngày lắp đặt, thuộc tính tùy chỉnh — được ghi vào một tệp cơ sở dữ liệu riêng biệt ở định dạng SQLite chuẩn. Tệp cơ sở dữ liệu này không bao giờ được nén bằng Draco. Lý do rất đơn giản: Draco là một bộ mã hóa hình học, không phải là một công cụ cơ sở dữ liệu. Các truy vấn thuộc tính phải trả về kết quả trong vòng mili giây, với khả năng truy cập ngẫu nhiên vào bất kỳ bản ghi nào. SQLite cung cấp tra cứu cây B được lập chỉ mục; Draco cung cấp giải nén luồng tuần tự. Bằng cách giữ chúng tách biệt, 3D Expert đảm bảo rằng việc nhấp vào một thành phần trong trình duyệt sẽ kích hoạt truy vấn cơ sở dữ liệu trực tiếp — không cần giải nén hình học để đọc dữ liệu thuộc tính.
- Được hỗ trợ bởi: Plugin 3D/BIM (trích xuất: hình học + thuộc tính từ định dạng gốc) → Trình tạo tệp Opt / Trợ lý Mô hình & Dữ liệu 3D (hình học → GLZIP nén Draco, thuộc tính → cơ sở dữ liệu không nén) → Trình tải Rapid3D cho Three.js (giải mã hình học + truy vấn cơ sở dữ liệu) và Trợ lý Mô hình & Dữ liệu 3D (truy vấn cơ sở dữ liệu ngoại tuyến)
Lĩnh vực 3: Tích hợp đường dẫn xử lý — glTF, WASM và Xử lý dữ liệu luồng
Công nghệ nén Draco chỉ hữu ích nếu nó tích hợp liền mạch với các tiêu chuẩn web và khung hiển thị. Sự tích hợp của 3D Expert tác động đến ba lớp quan trọng: định dạng tệp (tuân thủ phần mở rộng glTF, được tạo ra bởi các công cụ giảm dung lượng), bộ giải mã (hiệu suất WebAssembly, trong Loader) và chiến lược tải (truyền phát tiến trình, trong Loader).
- Tuân thủ phần mở rộng KHR_draco_mesh_compression
Các tệp GLZIP sử dụng cấu trúc vùng chứa tương thích với glTF, và thuật toán nén Draco được áp dụng thông qua phần mở rộng KHR_draco_mesh_compression tiêu chuẩn trong giai đoạn giảm kích thước. Điều này có nghĩa là hình học đã nén được lưu trữ trong các bufferView chuyên dụng với siêu dữ liệu mô tả các cài đặt nén (bit lượng tử hóa, phương pháp mã hóa). Bất kỳ công cụ nào tuân thủ glTF và hỗ trợ phần mở rộng này đều có thể đọc các buffer đã nén. 3D Expert đã chọn tuân thủ glTF thay vì một vùng chứa hoàn toàn độc quyền để đảm bảo khả năng tương tác — các tệp GLZIP của bạn không bị khóa vào bộ giải mã của một nhà cung cấp duy nhất.
- Được hỗ trợ bởi: Trình tạo tập tin Opt và Trợ lý Mô hình & Dữ liệu 3D (đầu ra GLZIP nén tuân thủ glTF) → Trình tải 3D nhanh cho Three.js (trình phân tích cú pháp nhận biết phần mở rộng)
- Nén theo từng thành phần — Cây cấu trúc được bảo toàn
Một cách triển khai Draco đơn giản sẽ nén toàn bộ mô hình thành một khối lưới duy nhất — làm phẳng cấu trúc phân cấp BIM thành một khối tam giác không phân biệt. Công cụ giảm trọng lượng của 3D Expert nén hình học theo từng thành phần (theo ID phần tử), bảo toàn toàn bộ cây cấu trúc: Tham chiếu → Cấp độ → Phần tử. Mỗi thành phần trở thành một khối nén có thể truy cập độc lập trong tệp GLZIP. Đây là điều cho phép Rapid3D Loader hiển thị/ẩn, tô màu hoặc cô lập các thành phần riêng lẻ trong thời gian chạy — ranh giới của các thành phần được giữ nguyên trong dữ liệu nén, không bị tái tạo sau khi giải nén.
- Được hỗ trợ bởi: Trình tạo tập tin Opt và Trợ lý Mô hình & Dữ liệu 3D (nén Draco theo từng thành phần trong quá trình giảm dung lượng) → Trình tải Rapid3D cho Three.js (đồ thị cảnh cấp thành phần)
- Bộ giải mã WebAssembly — Tốc độ giải nén gần như gốc
Rapid3D Loader nhúng một bản dựng WebAssembly của bộ giải mã Draco (khoảng 200 KB, được biên dịch từ mã nguồn C++ của Google). Tốc độ thực thi WASM thường chậm hơn 1,5–2 lần so với mã gốc — một sự khác biệt không đáng kể vì quá trình giải nén chạy song song với quá trình hiển thị trong Web Workers. Trên một máy trạm hiện đại, bộ giải mã WASM Draco đạt được thông lượng 20–50 triệu tam giác mỗi giây. Để dễ hình dung, một mô hình BIM nén 500 MB chứa 5 triệu tam giác được giải nén trong vòng chưa đầy 250 mili giây. Người dùng cảm nhận được sự xuất hiện của mô hình ngay lập tức, chứ không phải là sự chậm trễ do giải nén.
- Được hỗ trợ bởi: Rapid3D Loader cho Three.js (bộ giải mã WASM Draco trong Web Workers)
- Tải xuống từng phần theo tiến trình — Hiển thị trước khi tải xuống toàn bộ
Trình tải Rapid3D không cần đợi toàn bộ tệp GLZIP tải xuống xong trước khi bắt đầu hiển thị. Vì hình học được nén theo từng thành phần (Tính năng 8) và được lưu trữ theo từng khối tuần tự, trình tải có thể bắt đầu giải nén và hiển thị khối đầu tiên trong khi các khối tiếp theo vẫn đang được tải xuống. Việc truyền tải dữ liệu từng bước này có nghĩa là người dùng sẽ thấy mô hình được hiển thị một phần trong vòng vài giây — các cấu trúc xuất hiện và được lấp đầy khi dữ liệu đến. Đối với mô hình 2 GB trên kết nối 50 Mbps, quá trình hiển thị đầu tiên diễn ra trong vòng chưa đầy 5 giây, và toàn bộ mô hình sẽ được hiển thị đầy đủ trong 30-60 giây tiếp theo. Trải nghiệm này gần giống với việc tải chậm trên YouTube hơn là tải xuống tệp truyền thống.
- Được hỗ trợ bởi: Rapid3D Loader for Three.js (trình tải từng khối dữ liệu và bộ giải mã WASM truyền phát)
Lĩnh vực 4: Tác động đến hiệu suất — Số liệu thể hiện như thế nào
Công nghệ nén Draco mang lại những lợi ích có thể đo lường và định lượng được trên ba chỉ số quan trọng đối với mọi ứng dụng 3D trên web: dung lượng tải xuống, hiệu quả bộ nhớ cache của trình duyệt và mức tiêu thụ VRAM trong quá trình chạy. Dưới đây là những gì dữ liệu cho thấy trên các mô hình BIM điển hình — quá trình nén được thực hiện bởi Opt File Generator / 3D Model & Data Asst, quá trình hiển thị bởi Rapid3D Loader.
- Tỷ lệ nén 10:1+ trên hình học BIM điển hình
Trên một tập dữ liệu thử nghiệm tiêu biểu gồm 50 mô hình BIM (kiến trúc Revit, cơ sở hạ tầng dân dụng Bentley, mô hình phối hợp Navisworks), thuật toán nén Draco ở cấu hình Engineering Review mặc định (vị trí 15-bit, bình thường 10-bit) đạt tỷ lệ nén hình học trung bình là 10,5:1. Một tải trọng hình học chưa nén 1,2 GB sẽ trở thành khoảng 114 MB. Ở cấu hình Web Streaming (vị trí 13-bit, bình thường 8-bit), tỷ lệ này được cải thiện lên 15:1–18:1, với nhược điểm là các mặt phẳng cong có thể nhìn thấy rõ hơn một chút. Kênh hình học thường chiếm 70–85% tổng kích thước mô hình, vì vậy ngay cả tỷ lệ 10:1 khiêm tốn chỉ riêng trên hình học cũng làm giảm tổng kích thước tệp xuống 7–8 lần. Dữ liệu kết cấu và vật liệu (được xử lý bằng thuật toán nén riêng biệt, không phải Draco) thường chiếm 15–30% còn lại.
- Được hỗ trợ bởi: Trình tạo tập tin Opt và Trợ lý Mô hình & Dữ liệu 3D (nén Draco trong quá trình giảm dung lượng) → Trình tải Rapid3D cho Three.js (hình học đã giải nén được chuyển đến cảnh Three.js)
- Hiệu quả bộ nhớ đệm trình duyệt — Xử lý nhiều mô hình hơn gấp 10 lần mỗi phiên
Các trình duyệt hiện đại phân bổ 50–500 MB dung lượng ổ đĩa cho mỗi nguồn gốc để lưu vào bộ nhớ đệm HTTP (tùy thuộc vào cài đặt người dùng và dung lượng ổ đĩa khả dụng). Một mô hình BIM chưa nén có dung lượng 1,2 GB hoàn toàn không thể chứa vừa trong bộ nhớ đệm — mỗi lần tải lại trang sẽ tải lại toàn bộ tệp. Với dung lượng 114 MB (đã nén bằng Draco), cùng một mô hình đó sẽ nằm gọn trong bộ nhớ đệm, và 3–4 mô hình khác nhau có thể cùng tồn tại. Đối với bảng điều khiển song sinh kỹ thuật số tải nhiều mô hình cơ sở vật chất, điều này sẽ thay đổi trải nghiệm người dùng: khách truy cập quay lại sẽ nhận được mô hình tải ngay lập tức từ bộ nhớ đệm, và chi phí băng thông giảm tương ứng. Trên mạng di động hoặc mạng WAN doanh nghiệp có dung lượng hạn chế, sự khác biệt giữa việc tải xuống 1,2 GB và 114 MB chính là sự khác biệt giữa "có thể sử dụng được" và "cần nâng cấp mạng".
- Được hỗ trợ bởi: Rapid3D Loader for Three.js (tải HTTP có nhận biết bộ nhớ đệm với hỗ trợ yêu cầu Range)
- Tối ưu hóa VRAM — Giải nén theo yêu cầu giúp giảm mức sử dụng bộ nhớ cao nhất
Nếu không có Draco, toàn bộ hình học chưa nén phải nằm trong bộ đệm đỉnh của GPU trong suốt phiên làm việc. Một tải trọng hình học 1,2 GB tiêu tốn 1,2 GB VRAM chỉ riêng cho dữ liệu đỉnh — trước khi tính đến kết cấu, trước khi tính đến bộ đệm khung hình, trước khi tính đến chi phí của chính trình duyệt. Trên GPU 4 GB, điều này hầu như không còn chỗ trống. Với phương pháp truyền phát tiến trình của 3D Expert (Tính năng 10), chỉ những khối dữ liệu hiện đang hiển thị mới được giải nén và tải lên VRAM. Khi camera di chuyển và cần các khối dữ liệu mới, các khối dữ liệu ở xa sẽ bị loại bỏ. Mức sử dụng VRAM cao nhất cho hình học thường giảm xuống còn 15–25% tổng dung lượng chưa nén, bởi vì chỉ một phần nhỏ của mô hình nằm trong vùng nhìn của camera tại bất kỳ thời điểm nào. Đây là điều cho phép các mô hình có dung lượng 10 GB chạy trên GPU cấp người tiêu dùng mà không gặp lỗi hết bộ nhớ.
- Được hỗ trợ bởi: Rapid3D Loader cho Three.js (loại bỏ khối dữ liệu có nhận biết vùng nhìn và giải nén WASM theo yêu cầu)
───────────────────────────────────────────────────────────
Hướng dẫn lựa chọn cấu hình nén
Nén Draco không phải là một công tắc bật/tắt nhị phân. Các thiết lập bạn chọn phụ thuộc vào mục tiêu phân phối, đặc điểm hình học và yêu cầu chất lượng của bạn. Tất cả các cấu hình bên dưới được áp dụng trong Opt File Generator hoặc 3D Model & Data Asst trong giai đoạn giảm dung lượng — chứ không phải trong Plugin 3D/BIM, chỉ xử lý việc trích xuất. Dưới đây là hướng dẫn thực tế:
- Mô hình song sinh kỹ thuật số dựa trên web hoặc bảng điều khiển cơ sở vật chất với độ chi tiết hình ảnh vừa phải?→ Sử dụng cấu hình Web Streaming (vị trí 13-bit, thông thường 8-bit, UV 10-bit). Tỷ lệ nén dự kiến: 15:1–18:1. Chấp nhận được đối với hầu hết các mô hình cơ sở hạ tầng và nhà máy, nơi người dùng duyệt ở khoảng cách trung bình và không đo dung sai cạnh.
- Cần có báo cáo đánh giá kỹ thuật hoặc điều phối thi công đòi hỏi hình học chính xác?→ Sử dụng cấu hình Đánh giá Kỹ thuật (vị trí 15-bit, bình thường 10-bit, UV 12-bit). Tỷ lệ nén dự kiến: 8:1–10:1. Việc phân mảnh hình học nằm dưới ngưỡng nhận biết trực quan đối với hầu hết các hình học trong lĩnh vực Kiến trúc, Kỹ thuật và Xây dựng (AEC). Thích hợp cho việc trực quan hóa phát hiện xung đột và đánh giá thiết kế.
- Lưu trữ hồ sơ hay hồ sơ pháp lý mà không được phép có bất kỳ sai lệch hình học nào?→ Sử dụng cấu hình Lưu trữ (vị trí 16-bit, bình thường 12-bit, UV 14-bit). Tỷ lệ nén dự kiến: 4:1–6:1. Ở chế độ lượng tử hóa vị trí 16-bit, độ lệch tối đa được giới hạn bởi hộp giới hạn của mô hình chia cho 65.536 — thường là dưới milimét đối với các mô hình quy mô tòa nhà.
- Sản phẩm bàn giao hỗn hợp (bản xem trước trên web + đánh giá kỹ thuật từ cùng một nguồn)?→ Giảm dung lượng xuống hai lần với các cấu hình khác nhau trong Trình tạo tệp Opt, hoặc sử dụng ghép nối lượng tử hóa LOD (Tính năng 14) để tạo một tệp GLZIP đa LOD duy nhất, trong đó mỗi cấp độ LOD có cài đặt lượng tử hóa riêng. Trình tải Rapid3D sẽ tự động truyền tải LOD phù hợp dựa trên khoảng cách camera.
- Các mô hình có hình dạng cong phức tạp (ống dẫn, bình chứa, cánh tuabin)?→ Tránh lượng tử hóa vị trí dưới 14 bit. Các bề mặt cong hiển thị các hiện tượng tạo mặt phẳng sớm hơn so với các bề mặt phẳng ở cùng độ sâu bit. Nếu mô hình chủ yếu là hình học cong, hãy sử dụng cấu hình Engineering Review hoặc Archival ngay cả khi phân phối trên web.
───────────────────────────────────────────────────────────
Kết luận: Nén là nền tảng, chứ không phải là giới hạn.
Công nghệ nén Draco là nền tảng của BIM quy mô web. Nếu không có nó, các mô hình kỹ thuật nhiều gigabyte đơn giản là không thể tải xuống trình duyệt — thời gian tải xuống, giới hạn bộ nhớ cache và giới hạn VRAM của phần cứng người dùng khiến việc phân phối không nén trở nên bất khả thi. Nhưng chỉ Draco thôi là chưa đủ. Một bộ mã hóa hình học làm phẳng cây cấu trúc, loại bỏ dữ liệu thuộc tính hoặc yêu cầu truyền tải khứ hồi lên đám mây là vô dụng đối với BIM — nó giải quyết vấn đề kích thước bằng cách tạo ra vấn đề về dữ liệu.
Công ty TNHH 3D Expert đã xây dựng một giải pháp tích hợp Draco tôn trọng toàn bộ mô hình dữ liệu BIM. Plugin 3D/BIM trích xuất hình học và thuộc tính một cách nguyên vẹn từ các định dạng gốc — không nén, không mất dữ liệu. Sau đó, Opt File Generator và 3D Model & Data Asst áp dụng thuật toán nén Draco cho từng thành phần, bảo toàn cấu trúc phân cấp. Các thuộc tính vẫn được lưu trữ trong cơ sở dữ liệu SQLite không nén, đảm bảo khả năng truy vấn.
Đây là bài viết đầu tiên trong loạt bài về Giảm trọng lượng mô hình BIM của chúng tôi. Trong các bài viết tiếp theo, chúng ta sẽ đề cập đến các thuật toán bảo toàn cấu trúc cây, thiết kế cơ sở dữ liệu thuộc tính cho truy vấn web, xử lý tọa độ GIS cho cơ sở hạ tầng nhịp lớn và kiến trúc truyền tải LOD hoàn chỉnh. Mỗi bài viết sẽ tuân theo cùng một mô hình: chi tiết kỹ thuật chuyên sâu, được liên kết với sản phẩm cụ thể cung cấp từng khả năng.
───────────────────────────────────────────────────────────
Giới thiệu về Công ty
Công ty TNHH 3D Expert, có trụ sở chính tại Osaka, Nhật Bản, phát triển phần mềm 3D/BIM hiệu suất cao cho các ngành xây dựng, kiến trúc, kỹ thuật và sản xuất công nghiệp trên toàn cầu. Định dạng GLZIP của chúng tôi tích hợp công nghệ nén Google Draco với lớp cơ sở dữ liệu thuộc tính độc quyền, cho phép các mô hình BIM nhiều gigabyte được truyền tải và hiển thị trên các trình duyệt web tiêu chuẩn. Danh mục sản phẩm của chúng tôi tuân theo quy trình ba giai đoạn:
- Plugin 3D/BIM — Tiện ích xuất dữ liệu gốc cho 8 nền tảng CAD/BIM (Revit, Bentley, Tekla, Navisworks, Solidworks, Inventor, PDMS, SP3D). Thực hiện trích xuất không mất dữ liệu về hình học, vật liệu, cây cấu trúc và thuộc tính từ định dạng gốc sang GLZIP. KHÔNG thực hiện nén hoặc giảm dung lượng.
- Opt File Generator — Công cụ tối ưu hóa dung lượng máy tính để bàn. Nhận các định dạng GLZIP trung gian (từ Plugin) hoặc các định dạng mở (IFC, FBX, STEP, v.v.) và áp dụng nén Draco, tạo LOD và tối ưu hóa lưới với các cấu hình thiết lập sẵn và ghi nhật ký kiểm tra, tạo ra các tệp .Opt.
- 3D Model & Data Asst — Ứng dụng máy tính để bàn Windows gốc. Hoạt động như một công cụ nén nhẹ (với khả năng nén Draco tương tự như Opt File Generator) và trình xem ngoại tuyến cho các tệp GLZIP đã nén hoặc các định dạng mở (IFC, FBX, STEP, v.v.) với khả năng truy vấn thuộc tính đầy đủ.
- Rapid3D Loader cho Three.js — gói npm (opt-rapid3d-loader) với bộ giải mã WASM Draco tích hợp, truyền phát dữ liệu từng phần và API tương tác đầy đủ. Tải các tệp .Opt đã nén cuối cùng vào các cảnh Three.js.
Tìm hiểu thêm hoặc bắt đầu dùng thử miễn phí tại https://www.opt3ds.com/
Liên hệ: info@3dexpert.jp
© 2010–2026 Công ty TNHH Chuyên gia 3D. Bảo lưu mọi quyền.

