Các bản vẽ CAD (Computer-Aided Design) thường được sử dụng để tạo các sơ đồ và mô hình kiến trúc bằng các chương trình phần mềm CAD. Một số định dạng tệp AutoCAD nổi tiếng là DWG, DXF, DGN, DWF. Chúng tôi đã thảo luận xem bản vẽ CAD bằng Java trong một bài viết riêng. Hôm nay, trong bài viết này, chúng ta sẽ thảo luận về cách lập trình xem các tệp CAD bằng C# trong các ứng dụng .NET.
Các chủ đề sau đây được trình bày ngắn gọn dưới đây:
- .NET API để kết xuất các tệp CAD.
- Chuyển đổi các tệp CAD để hiển thị dưới dạng HTML, JPG, PNG hoặc PDF.
- Nhận bố cục và các lớp của DWG.
- Kết xuất các lớp CAD của bản vẽ DWG.
- Kết xuất bố cục CAD của bản vẽ DWG.
.NET CAD Viewer API – DWG, DXF, DWF, DGN
Trong bài viết này, tôi sẽ sử dụng GroupDocs.Viewer for .NET cho phép hiển thị theo chương trình các tệp CAD như DWG sang PDF, JPG, PNG và HTML trong các ứng dụng .NET. Ngoài DWG, API hỗ trợ các tài liệu DWF, DGN, DWT, DXF, IFC, STL, Plotter và nhiều hơn nữa.
Khác với các định dạng tệp CAD, API cung cấp các tính năng kết xuất giống nhau cho tài liệu xử lý văn bản, bảng tính, bản trình bày, trang web, hình ảnh, vectơ, sách điện tử, bản vẽ Visio, nhiều tệp mã nguồn của các ngôn ngữ lập trình khác nhau.
Tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API trong ứng dụng .NET của bạn qua NuGet.
PM> Install-Package GroupDocs.Viewer
Chuyển đổi bản vẽ CAD để xem dưới dạng HTML, PNG, JPG hoặc PDF trong C#
Trong bài viết này, tôi chỉ sử dụng định dạng DWG để chuyển đổi và hiển thị sang các định dạng khác với các ví dụ. Hãy bắt đầu với việc chuyển đổi tệp thiết kế DWG để hiển thị dưới dạng HTML với các tùy chọn tài nguyên được nhúng cũng như bên ngoài bằng C#.
Chuyển đổi DWG sang HTML bằng Tài nguyên nhúng trong C#
Sau đây là các bước về cách chuyển đổi tệp DWG để hiển thị dưới dạng HTML.
- Tải tệp DWG bằng lớp Viewer.
- Tạo HtmlViewOptions bằng phương thức forEmbeddedResources.
- Kết xuất .dwg thành HTML bằng phương pháp Xem.
Mã nguồn sau đây chuyển đổi tệp DWG và hiển thị dưới dạng HTML với các tài nguyên được nhúng bằng C#.
// Kết xuất bản vẽ CAD DWG để xem dưới dạng HTML với các tài nguyên được nhúng bằng C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("page_{0}.html");
viewer.View(viewOptions);
}
Chuyển đổi DWG sang HTML bằng Tài nguyên bên ngoài trong C#
Sau đây là các bước để chuyển đổi tệp DWG và hiển thị tệp dưới dạng (các) tệp HTML bằng các tài nguyên bên ngoài.
- Tải tệp DWG bằng lớp Viewer.
- Tạo HtmlViewOptions bằng phương thức forExternalResources.
- Kết xuất .dwg dưới dạng HTML bằng phương thức View.
Mã nguồn sau đây hiển thị tệp DWG dưới dạng HTML với các tài nguyên bên ngoài trong C#.
// Kết xuất bản vẽ C# CAD để xem dưới dạng HTML với các tài nguyên bên ngoài bằng C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
HtmlViewOptions viewOptions = HtmlViewOptions.ForExternalResources(
"page_{0}.html","page_{0}/resource_{1}","page_{0}/resources");
viewer.View(viewOptions);
}
Chuyển đổi DWG sang PDF, JPG và PNG trong C#
Cũng giống như việc chuyển đổi sang định dạng HTML, các tệp DWG có thể được hiển thị dưới dạng định dạng PDF, PNG và JPG bằng cách sử dụng ViewOptions tương ứng như sau:
- Kết xuất HTML bằng HtmlViewOptions.
- Kết xuất JPG bằng JpgViewOptions.
- Kết xuất PNG bằng PngViewOptions.
- Kết xuất PDF bằng PdfViewOptions.
Nhận Bố cục và Lớp của DWG trong C#
Các tệp CAD có thể chứa nhiều bố cục và lớp, bạn có thể lấy các bố cục và lớp này bằng các bước sau.
- Tải tệp DWG bằng lớp Viewer.
- Tạo ViewInfoOptions để hiển thị chế độ xem HTML.
- Sử dụng Trình xem, lấy CadViewInfo có bố cục.
- Nhận các bố cục từ CadViewInfo và lặp lại chúng.
- Tương tự, lấy các lớp từ CadViewInfo và lặp lại chúng.
Đoạn mã sau cho biết cách lấy bố cục và lớp của tệp ا DWG bằng C#.
// Nhận Bố cục và Lớp của bản vẽ CAD DWG trong C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
ViewInfoOptions viewInfoOptions = ViewInfoOptions.ForHtmlView();
CadViewInfo viewInfo = viewer.GetViewInfo(viewInfoOptions) as CadViewInfo;
Console.WriteLine("File type: " + viewInfo.FileType);
Console.WriteLine("Pages count: " + viewInfo.Pages.Count);
foreach (Layout layout in viewInfo.Layouts)
Console.WriteLine(layout);
foreach (Layer layer in viewInfo.Layers)
Console.WriteLine(layer);
}
Kết xuất các lớp CAD của tệp DWG trong C#
Nếu bạn không muốn hiển thị tất cả các lớp mà chỉ hiển thị một số lớp cụ thể của DWG, thì có thể thực hiện bằng cách đặt tên lớp.
- Tải bản vẽ DWG bằng lớp Viewer.
- Tạo tùy chọn xem.
- Thêm các lớp CAD vào View Options
- Kết xuất DWG sang HTML bằng phương pháp View.
Đoạn mã sau hiển thị các lớp của tệp CAD có định dạng DWG trong C#.
// Kết xuất các lớp của bản vẽ CAD .dwg trong C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources();
viewOptions.CadOptions.Layers = new List<Layer>
{
new Layer("Walls"),
new Layer("Windows")
};
viewer.View(viewOptions);
}
Kết xuất bố cục CAD của tệp DWG trong C#
Theo mặc định, chúng tôi chỉ nhận được bản trình bày mô hình khi kết xuất tệp CAD. Chúng ta có thể đặt các thuộc tính để hiển thị tất cả các bố cục không trống cùng với mô hình.
- Tải bản vẽ DWG bằng lớp Viewer.
- Tạo tùy chọn xem.
- Đặt thuộc tính Render Layouts thành true.
- Kết xuất DWG sang HTML bằng phương pháp View.
Đoạn mã sau hiển thị tất cả các bố cục không trống cùng với mô hình của bản vẽ CAD với định dạng DWG trong C#.
// Kết xuất bố cục của bản vẽ CAD .dwg trong C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources();
viewOptions.CadOptions.RenderLayouts = true;
viewer.View(viewOptions);
}
Nhận giấy phép API miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng API mà không bị giới hạn đánh giá.
Sự kết luận
Để kết thúc, tôi hy vọng bạn đã học cách xem các tệp CAD trong C# trong các ứng dụng .NET. Hơn nữa, bạn đã thấy cách lấy và hiển thị các mô hình, bố cục và các lớp tệp CAD trong ứng dụng của mình. Bạn phải tự tin để xây dựng Trình xem CAD của riêng mình bằng C#. Bạn có thể trải nghiệm các ứng dụng Trực tuyến để xem bất kỳ tệp nào của mình. Chúng được tạo bằng GroupDocs.Viewer.
Bạn có thể tìm hiểu thêm về GroupDocs.Viewer for .NET bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ thắc mắc nào, vui lòng cho chúng tôi biết qua diễn đàn của chúng tôi.