
LibreDWG
Thư viện C nguồn mở để quản lý các tệp AutoCAD DWG
Tạo, Chỉnh sửa, Đọc, Thao tác và Chuyển đổi Mô hình DWG AutoCAD sang Tệp SVG thông qua API CAD C++ Nguồn mở.
LibreDWG là gì?
LibreDWG là một thư viện C tiện dụng, miễn phí và cực kỳ hữu ích khi xử lý các bản vẽ AutoCAD DWG. DWG là một định dạng tệp phổ biến được Autodesk tạo ra vào những năm 1970 cho các ứng dụng CAD mới nổi. Mặc dù DWG là một định dạng độc quyền, nó vẫn là lựa chọn hàng đầu của nhiều nhà thầu. Thư viện này thân thiện với người dùng và được thiết kế để cung cấp một API có thể hỗ trợ các nhà phát triển phần mềm xây dựng các ứng dụng hoạt động với tệp DWG.
Thư viện có nhiều tính năng hữu ích để làm việc với tệp DWG của AutoCAD. Bạn có thể mở và xem bản vẽ DWG, tạo tệp DWG mới, chuyển đổi chúng sang nhiều định dạng khác nhau, chuyển đổi chúng sang DXF và JSON, chuyển đổi DWG thành SVG và Postscript, sử dụng dwggrep để tìm văn bản, dwglayer để hiển thị các lớp, và nhiều hơn nữa.
Trong thư viện, các nhà phát triển phần mềm có thể bật hoặc tắt hỗ trợ ghi DWG. Ban đầu, tính năng này bị tắt, nhưng khi bạn kích hoạt, bạn có thể sử dụng nó để ghi ở định dạng DWG. Việc chuyển đổi hầu hết các tệp DWG sang định dạng r2000 thường diễn ra suôn sẻ. Trình đọc DWG có thể xử lý nhiều định dạng tệp khác nhau, bao gồm JSON, DXF, DXFB, GeoJSON, YAML, XML/OGR, GPX, SVG và PS.
Bắt đầu với LibreDWG
Bạn cần cài đặt các công cụ phát triển cơ bản (trình biên dịch C99 như gcc/clang, make, autoconf, automake và libtool). Tạo bản sao của thư viện bằng lệnh sau.
Sao chép thư viện bằng lệnh sau
git clone git://git.sv.gnu.org/libredwg.git
Now change dir to libredwg folder created by git ( cd libredwg ) and issue following commands in terminal
Đổi thư mục thành thư mục libredwg
$ sh autogen.sh
$ ./configure --enable-trace # (this will enable debugging messages)
$ make
$ sudo make install
$ make check
Tạo AutoCAD DWG thông qua Thư viện C
Thư viện C Free LibreDWG cho phép các nhà phát triển phần mềm tạo các tệp AutoCAD DWG mới bên trong ứng dụng C của riêng họ. Sau khi tệp được tạo, bạn có thể chèn nhiều loại thực thể khác nhau vào bản vẽ DWG, chẳng hạn như bảng, hình dạng, đường gạch, camera, ánh sáng, đường thẳng, lưới, mtext, polyline 2D, polyline 3D, văn bản, bảng, dấu vết và nhiều hơn nữa. Thư viện cũng hỗ trợ căn chỉnh thiết lập cho các thực thể, truy cập và cập nhật các thuộc tính của thực thể một cách dễ dàng. Trình soạn thảo DWG đã bao gồm hỗ trợ cho nhiều định dạng đầu vào khác nhau, chẳng hạn như DXF, DXFB và JSON.
Đọc AutoCAD DWG qua Thư viện C
Thư viện mã nguồn mở LibreDWG đã bao gồm hỗ trợ đầy đủ cho việc truy cập và đọc các tệp AutoCAD DWG theo chương trình bên trong các ứng dụng .NET chỉ với vài dòng mã C. Trình đọc DWG hỗ trợ nhiều định dạng đầu ra khác nhau, chẳng hạn như JSON, DXF, DXFB, GeoJSON. Sau đó còn hỗ trợ các định dạng tệp YAML, XML/OGR, GPX, SVG và PS.
int error;
Dwg_Data dwg;
error = dwg_read_file(filename, &dwg);
if (!error)
{
model_xmin = dwg_model_x_min(&dwg);
model_ymin = dwg_model_y_min(&dwg);
double dx = (dwg_model_x_max(&dwg) - dwg_model_x_min(&dwg));
double dy = (dwg_model_y_max(&dwg) - dwg_model_y_min(&dwg));
double scale_x = dx / (dwg_page_x_max(&dwg) - dwg_page_x_min(&dwg));
double scale_y = dy / (dwg_page_y_max(&dwg) - dwg_page_y_min(&dwg));
//...
}
dwg_free(&dwg);
Chuyển đổi tệp DWG sang SVG thông qua thư viện C
SVG là một chuẩn W3C cho đồ họa vector 2D và rất phổ biến. Thư viện mã nguồn mở LibreDWG cho phép các nhà phát triển phần mềm chuyển đổi bản vẽ AutoCAD DWG sang định dạng tệp SVG bằng các lệnh C. Để chuyển đổi tệp SVG (Đồ họa Vector Có thể Mở rộng), bạn cần mở tệp DWG và xuất tệp SVG. Xin lưu ý rằng thư viện sẽ xử lý dữ liệu 2D và nội dung 3D từ DWG vì SVG chỉ hỗ trợ hình ảnh 2D.