Đọc, cập nhật và ghi file DWG

Cách đọc, cập nhật và ghi file DWG

Vấn đề: Cách đọc, cập nhật và ghi file DWG.

Mẹo: Để làm điều này, bạn có thể lấy file bằng phương thức load, lấy những thực thể cần thiết và thực hiện các thay đổi với chúng, chẳng hạn như thay đổi các điểm bắt đầu và kết thúc hoặc độ dày của các đường.

Lưu ý: Đoạn mã này cho thấy một ví dụ về việc đọc một file dwg, thay đổi các đối tượng: vị trí của các đường, hình tròn, giá trị văn bản (bạn có thể thêm thay đổi cho các đối tượng và giá trị khác mà việc đọc/ghi được hỗ trợ) và sau đó lưu vào một file mới. Vì vậy, bạn có thể mở một file mới trong AutoCAD và xem các đối tượng với giá trị đã thay đổi.

Ví dụ:

var fileName = "TestDwg";
var inputFile = BaseDataPath + fileName + ".dwg";
var outFile = GetFileInOutputFolder(fileName + "-rewritten.dwg");
using var cadImage = (CadImage) Image.Load(inputFile);
var cadLines = cadImage.Entities.OfType<CadLine>().ToList();
if (cadLines.Any())
{
foreach (var cadLine in cadLines)
{
cadLine.FirstPoint.X *= 2;
cadLine.FirstPoint.Y *= 2;
cadLine.SecondPoint.X *= 3;
cadLine.SecondPoint.Y *= 3;
}
}
var cadCircles = cadImage.Entities.OfType<CadCircle>().ToList();
if (cadCircles.Any())
{
foreach (var cadCircle in cadCircles)
{
cadCircle.CenterPoint.X *= 1.5;
cadCircle.CenterPoint.Y *= 1.5;
cadCircle.Radius *= 0.5;
}
}
var cadTexts = cadImage.Entities.OfType<CadText>().ToList();
if (cadTexts.Any())
{
foreach (var cadText in cadTexts)
{
cadText.DefaultValue = $"New {cadText.DefaultValue}";
}
}
cadImage.Save(outFile);