خواندن، به‌روزرسانی و نوشتن فایل DWG

چگونه فایل DWG را بخوانیم، به‌روزرسانی کنیم و بنویسیم

مسئله: چگونه فایل DWG را بخوانیم، به‌روزرسانی کنیم و بنویسیم.

نکات: برای این کار، می‌توانید فایل را با استفاده از متد load بگیرید، موجودیت‌های لازم را دریافت کرده و تغییراتی در آن‌ها ایجاد کنید، مانند تغییر نقاط شروع و پایان یا ضخامت خطوط.

توجه: این کد نمونه‌ای از خواندن یک فایل DWG، تغییر اشیاء: موقعیت خطوط، دایره‌ها، مقادیر متنی را نشان می‌دهد (شما می‌توانید تغییرات را به اشیاء و مقادیر دیگری که برای خواندن/نوشتن پشتیبانی می‌شوند اضافه کنید) و سپس آن را به یک فایل جدید ذخیره کنید. بنابراین می‌توانید یک فایل جدید در AutoCAD باز کنید و اشیائی با مقادیر تغییر یافته را ببینید.

مثال:

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);