อ่าน อัปเดต และเขียนไฟล์ DWG
วิธีการอ่าน อัปเดต และเขียนไฟล์ DWG
ปัญหา: วิธีการอ่าน อัปเดต และเขียนไฟล์ DWG
เคล็ดลับ: เพื่อทำเช่นนี้ คุณสามารถรับไฟล์โดยใช้วิธีโหลด รับข้อมูลที่จำเป็นและทำการเปลี่ยนแปลง เช่น การเปลี่ยนจุดเริ่มต้นและจุดสิ้นสุดหรือความหนาของเส้น
หมายเหตุ: โค้ดตัวอย่างนี้แสดงตัวอย่างการอ่านไฟล์ 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); |