رسومات DXF
تصدير رسومات DXF إلى PDF
توفر Aspose.CAD ميزة تحميل كائنات رسومات AutoCAD DXF وعرضها كرسومات كاملة بتنسيق PDF. تعمل طريقة تحويل DXF إلى PDF كما يلي:
- تحميل ملف رسومات DXF باستخدام طريقة المصنع Image.Load.
- إنشاء كائن من فئة CadRasterizationOptions وتعيين خصائص PageHeight وPageWidth.
- إنشاء كائن من فئة PdfOptions وتعيين خاصية VectorRasterizationOptions.
- استدعاء Image.Save مع تمرير كائن من PdfOptions كمعامل ثاني.
مثال الكود أدناه يوضح كيفية تحويل ملف باستخدام الإعدادات الافتراضية.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.BackgroundColor = Aspose.CAD.Color.White; | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "conic_pyramid_out.pdf"; | |
//Export the DXF to PDF | |
image.Save(MyDir, pdfOptions); | |
} |
التنسيقات المدعومة
في الوقت الحالي، ندعم بالكامل تنسيقات ملفات AutoCAD DXF 2010. الإصدارات السابقة من DXF لا تضمن كونها صحيحة بنسبة 100%. نحن نخطط لتضمين المزيد من التنسيقات والميزات في الإصدارات المستقبلية من Aspose.CAD.
الكيانات المدعومة
في الوقت الحالي، نحن ندعم جميع الكيانات ثنائية الأبعاد الشائعة ومعلماتها الافتراضية الأساسية كما يلي:
- بعد متوافق
- بعد زاوي
- قوس
- سمة
- مرجع كتلة
- دائرة
- بُعد قطر
- بيضاوي
- حشو
- خط
- نص متعدد الأسطر
- بعد متمايز
- نقطة
- خط متنوع
- بعد شعاعي
- شعاع
- بعد مدور
- جدول
- نص
- Xline
إدارة الذاكرة
يمكن استخدام خاصية ExactReallocateOnly من فئة Cache للتحكم في إعادة تخصيص الذاكرة. من المرجح أن تحدث إعادة التخصيص للذاكرات مسبقة التخصيص. يمكن أن يحدث ذلك عندما يكتشف النظام أن المساحة المخصصة لن تكون كافية.
- إذا كانت ExactReallocateOnly كانت القيمة الافتراضية، False، فسيتم إعادة تخصيص المساحة إلى نفس الوسيط.
- عند تعيينها على True، لا يمكن أن تتجاوز إعادة التخصيص المساحة القصوى المحددة. في هذه الحالة، يتم تحرير الذاكرة المخصصة الموجودة (التي تتطلب إعادة تخصيص) وتخصيص مساحة ممتدة على القرص.
تصدير طبقة معينة من رسومات DXF إلى PDF
تعمل هذه الطريقة كما يلي:
- فتح ملف رسومات DXF باستخدام طريقة المصنع Image.Load.
- إنشاء مثيل من CadRasterizationOptions وتحديد الخصائص PageWidth وPageHeight.
- إضافة الطبقات إلى كائن CadRasterizationOptions.
- إنشاء مثيل من PdfOptions وتعيين خاصية VectorRasterizationOptions.
- استدعاء طريقة Image.Save وتمرير كائن من PdfOptions كمعامل ثانٍ.
مثال الكود أدناه يوضح كيفية تحويل طبقة معينة من DXF إلى PDF.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
// Add desired layers | |
rasterizationOptions.Layers = new string[] { "LayerA" }; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "conic_pyramid_layer_out.pdf"; | |
//Export the DXF to PDF | |
image.Save(MyDir, pdfOptions); | |
} |
عرض ملفات PDF كجزء من رسوم DXF
تعمل هذه الطريقة كما يلي:
- تحميل ملف رسومات DXF باستخدام طريقة المصنع Image.Load.
- إنشاء كائن من فئة CadRasterizationOptions وتحميل ملفات PDF.
- تعيين خصائص PageHeight وPageWidth.
- استدعاء Image.Save وحفظ الملف.
مثال الكود أدناه يوضح كيفية عرض ملفات PDF كجزء من رسومات DXF.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
// Specify desired layout name | |
rasterizationOptions.Layouts = new string[] { "Model" }; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "conic_pyramid_layout_out.pdf"; | |
//Export the DXF to PDF | |
image.Save(MyDir, pdfOptions); | |
} |
تصدير DGN تحت الأرض المضمنة لتنسيق DXF
توفر Aspose.CAD ميزة تحميل ملفات AutoCAD DXF وتصدير DGN تحت الأرض المضمنة لتنسيق DXF.
مثال الكود أدناه يوضح كيفية تحقيق المتطلبات المحددة.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath)) | |
{ | |
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); | |
rasterizationOptions.Layouts = new[] { "Model" }; | |
PdfOptions pdfOptions = new PdfOptions(); | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
cadImage.Save(MyDir + "conic_pyramid.pdf", pdfOptions); | |
} |
الدعم لحفظ ملفات DXF
توفر Aspose.CAD ميزة تحميل ملفات AutoCAD DXF وإجراء تغييرات عليها وحفظها مرة أخرى كملف DXF.
مثال الكود أدناه يوضح كيفية تحقيق المتطلبات المحددة.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath)) | |
{ | |
// any entities updates | |
cadImage.Save(MyDir+"conic.dxf"); | |
} | |
تصدير DXF إلى WMF
تعمل هذه الطريقة كما يلي:
- تحميل ملف رسومات DXF باستخدام طريقة المصنع Image.Load.
- إنشاء كائن من فئة CadRasterizationOptions وتحميل ملفات PDF.
- تعيين الخصائص PageHeight وPageWidth.
- استدعاء Image.Save وحفظ الملف.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (var image = Image.Load("NRB-GRID-BLOCK-MD-PROVALVDK-241000-162000-45400.dgn")) | |
{ | |
var vectorOptions = new CadRasterizationOptions(); | |
vectorOptions.AutomaticLayoutsScaling = true; | |
vectorOptions.BackgroundColor = Color.Black; | |
vectorOptions.PageWidth = 500; | |
vectorOptions.PageHeight = 500; | |
WmfOptions wmfOptions = new WmfOptions() | |
{ | |
VectorRasterizationOptions = vectorOptions | |
}; | |
image.Save("NRB-GRID-BLOCK-MD-PROVALVDK-241000-162000-45400.dgn.wmf", wmfOptions); | |
} |
تصدير تخطيط DXF معين إلى PDF
تعمل هذه الطريقة كما يلي:
- فتح ملف رسومات DXF باستخدام طريقة المصنع Image.Load.
- إنشاء مثيل من CadRasterizationOptions وتحديد الخصائص PageWidth وPageHeight.
- تحديد اسم (أسماء) التخطيط المطلوب باستخدام خاصية CadRasterizationOptions.Layouts.
- إنشاء مثيل من PdfOptions وتعيين خاصية VectorRasterizationOptions.
- تصدير الرسم إلى PDF من خلال استدعاء الطريقة Image.Save وتمرير كائن من PdfOptions كمعامل ثانٍ.
مثال الكود أدناه يوضح كيفية تحويل تخطيط معين من DXF إلى PDF.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
// Specify desired layout name | |
rasterizationOptions.Layouts = new string[] { "Model" }; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "conic_pyramid_layout_out.pdf"; | |
//Export the DXF to PDF | |
image.Save(MyDir, pdfOptions); | |
} |
دعم قطع الكتل
توفر Aspose.CAD ميزة قطع الكتل. تعمل طريقة قطع الكتل كما يلي:
- تحميل ملف رسومات DXF باستخدام طريقة المصنع Image.Load.
- إنشاء كائن من فئة CadRasterizationOptions وتحميل ملفات PDF.
- تعيين الخصائص المرغوبة ل CadRasterizationOptions.
- استدعاء Image.Save مع تمرير كائن من PdfOptions كمعامل ثاني وحفظ الملف.
مثال الكود أدناه يوضح كيفية عمل قطع الكتل.
// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-.NET | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string inputFile = MyDir + "SLS-CW-CD-CE001-R01_blockClip.dxf"; | |
string outputFile = MyDir + "SLS-CW-CD-CE001-R01_blockClip.pdf"; | |
using (CadImage cadImage = (CadImage)Image.Load(inputFile)) | |
{ | |
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions | |
{ | |
BackgroundColor = Aspose.CAD.Color.White, | |
DrawType = Aspose.CAD.FileFormats.Cad.CadDrawTypeMode.UseObjectColor, | |
PageWidth = 1200, | |
PageHeight = 1600, | |
Margins = new Margins | |
{ | |
Top = 5, | |
Right = 30, | |
Bottom = 5, | |
Left = 30 | |
}, | |
Layouts = new string[] { "Model" } | |
}; | |
PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions | |
{ | |
VectorRasterizationOptions = rasterizationOptions | |
}; | |
cadImage.Save(outputFile, pdfOptions); |
تصدير الصور إلى DXF
باستخدام Aspose.CAD، يمكنك تصدير الصور إلى تنسيق DXF. باستخدام هذه الطريقة، يمكنك تنفيذ الإجراءات التالية:
- تعيين خط جديد
- إخفاء الكيانات
- تحديث النص
يظهر لك مثال الكود التالي كيفية تنفيذ الإجراءات المذكورة أعلاه.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
foreach (var file in new DirectoryInfo(MyDir).EnumerateFiles("*.dxf")) | |
{ | |
// **************************** | |
// Set new font per document | |
// **************************** | |
using (var cadImage = (CadImage)Image.Load(file.FullName)) | |
{ | |
// Iterate over the items of CadStyleTableObject | |
foreach (CadStyleTableObject style in cadImage.Styles) | |
{ | |
// Set font name | |
style.PrimaryFontName = "Broadway"; | |
} | |
cadImage.Save(file.FullName + "_font.dxf"); | |
} | |
// **************************** | |
// Hide all "straight" lines | |
// **************************** | |
using (var cadImage = (CadImage)Image.Load(file.FullName)) | |
{ | |
foreach (var entity in cadImage.Entities) | |
{ | |
// Make lines invisible | |
if (entity.TypeName == CadEntityTypeName.LINE) | |
{ | |
entity.Visible = 0; | |
} | |
} | |
cadImage.Save(file.FullName + "_lines.dxf"); | |
} | |
// **************************** | |
// Manipulations with text | |
// **************************** | |
using (var cadImage = (CadImage)Image.Load(file.FullName)) | |
{ | |
foreach (var entity in cadImage.Entities) | |
{ | |
if (entity.TypeName == CadEntityTypeName.TEXT) | |
{ | |
((CadText)entity).DefaultValue = "New text here!!! :)"; | |
break; | |
} | |
} | |
cadImage.Save(file.FullName + "_text.dxf"); | |
} | |
} | |
تصدير طبقة معينة من رسومات DXF إلى صورة
تعمل هذه الطريقة كما يلي:
- فتح ملف رسومات DXF باستخدام طريقة المصنع Image.Load.
- إنشاء مثيل من CadRasterizationOptions وتحديد الخصائص PageWidth وPageHeight.
- إضافة الطبقات إلى كائن CadRasterizationOptions.
- إنشاء مثيل من JpegOptions وتعيين خاصية VectorRasterizationOptions.
- تصدير الرسم إلى PDF باستخدام الطريقة Image.Save.
مثال الكود أدناه يوضح كيفية تحويل طبقة معينة من DXF إلى صورة.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_DXFDrawings(); | |
string sourceFilePath = MyDir + "for_layers_test.dwf"; | |
using (var image = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set image width & height | |
rasterizationOptions.PageWidth = 500; | |
rasterizationOptions.PageHeight = 500; | |
// Set the drawing to render at the center of image | |
// rasterizationOptions.CenterDrawing = true; | |
// Get the layers in an instance of CadLayersDictionary | |
var layersList = image.Layers; | |
// Iterate over the layers | |
foreach (var layerName in layersList.GetLayersNames()) | |
{ | |
// Display layer name for tracking | |
Console.WriteLine("Start with " + layerName); | |
// Add the layer name to the CadRasterizationOptions's layer list | |
rasterizationOptions.Layers = new string[] { "LayerA" }; | |
// Create an instance of JpegOptions (or any ImageOptions for raster formats) | |
var options = new Aspose.CAD.ImageOptions.JpegOptions(); | |
// Set VectorRasterizationOptions property to the instance of CadRasterizationOptions | |
options.VectorRasterizationOptions = rasterizationOptions; | |
//Export each layer to Jpeg format | |
image.Save(layerName + "_out.jpg", options); | |
} | |
} |