نقشه‌های DXF

صادرات نقشه‌های DXF به PDF

Aspose.CAD این امکان را فراهم می‌آورد که موجودیت‌های نقشه DXF اتوکد را بارگذاری کرده و آنها را به صورت یک نقشه کامل به فرمت PDF رندر کند. روش تبدیل DXF به PDF به صورت زیر عمل می‌کند:

  1. بارگذاری فایل نقشه DXF با استفاده از متد کارخانه Image.Load.
  2. ایجاد یک شی از کلاس CadRasterizationOptions و تنظیم خواص PageHeight و PageWidth.
  3. ایجاد یک شی از کلاس PdfOptions و تنظیم خواص VectorRasterizationOptions.
  4. فراخوانی 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);
}

فرمت‌های پشتیبانی‌شده

در حال حاضر ما به طور کامل از فرمت‌های فایل DXF اتوکد 2010 پشتیبانی می‌کنیم. نسخه‌های قبلی DXF تضمین نمی‌شوند که 100% معتبر باشند. ما برنامه‌ریزی می‌کنیم که در نسخه‌های آینده Aspose.CAD فرمت‌ها و ویژگی‌های بیشتری را شامل شویم.

موجودیت‌های پشتیبانی‌شده

در حال حاضر ما از تمامی موجودیت‌های 2D رایج و پارامترهای پیش‌فرض پایه آنها به شرح زیر پشتیبانی می‌کنیم:

  1. ابعاد هم‌راستا
  2. ابعاد زاویه‌ای
  3. قوس
  4. ویژگی
  5. مرجع بلوک
  6. دایره
  7. ابعاد قطر
  8. بیضی
  9. الگوی هاش
  10. خط
  11. متن چندخطی
  12. ابعاد مختصات
  13. نقطه
  14. چندخط
  15. ابعاد شعاعی
  16. پرتو
  17. ابعاد چرخشی
  18. جدول
  19. متن
  20. خط X

مدیریت حافظه

خواص ExactReallocateOnly از کلاس Cache می‌تواند برای کنترل مجدداً تخصیص حافظه استفاده شود. این بارگذاری مجدد بیشتر برای کش‌های از پیش تخصیص‌یافته احتمال وقوع دارد. این می‌تواند زمانی اتفاق بیفتد که سیستم متوجه شود فضایی که تخصیص داده شده کافی نخواهد بود.

  • اگر ExactReallocateOnly به مقدار پیش‌فرض، False، تنظیم شود، فضا به همان رسانه دوباره تخصیص داده می‌شود.
  • وقتی در وضعیت True تنظیم شده باشد، مجدداً تخصیص نمی‌تواند از حداکثر فضای مشخص‌شده فراتر رود. در این مورد، کش موجود در حافظه (که نیاز به مجدداً تخصیص دارد) آزاد شده و فضای جدیدی روی دیسک تخصیص داده می‌شود.

صادرات لایه خاص نقشه‌های DXF به PDF

این روش به صورت زیر عمل می‌کند:

  1. باز کردن فایل نقشه DXF با استفاده از متد کارخانه Image.Load.
  2. ایجاد یک نمونه از CadRasterizationOptions و مشخص کردن خواص PageWidth و PageHeight.
  3. افزودن لایه‌ها به شی CadRasterizationOptions.
  4. ایجاد یک نمونه از PdfOptions و تنظیم خواص VectorRasterizationOptions.
  5. فراخوانی متد 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

این روش به صورت زیر عمل می‌کند:

  1. بارگذاری فایل نقشه DXF با استفاده از متد Image.Load.
  2. ایجاد یک شی از کلاس CadRasterizationOptions و بارگذاری فایل‌های PDF.
  3. تنظیم خواص PageHeight و PageWidth.
  4. فراخوانی 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 امکان بارگذاری فایل‌های 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 این امکان را فراهم می‌آورد که فایل‌های 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

این روش به صورت زیر عمل می‌کند:

  1. بارگذاری فایل نقشه DXF با استفاده از متد Image.Load.
  2. ایجاد یک شی از کلاس CadRasterizationOptions و بارگذاری فایل‌های PDF.
  3. تنظیم خواص PageHeight و PageWidth.
  4. فراخوانی 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

این روش به صورت زیر عمل می‌کند:

  1. باز کردن یک فایل نقشه DXF با استفاده از متد Image.Load.
  2. ایجاد یک نمونه از CadRasterizationOptions و مشخص کردن خواص PageWidth و PageHeight.
  3. مشخص کردن نام لایه‌های مورد نظر با استفاده از خواص CadRasterizationOptions.Layouts.
  4. ایجاد یک نمونه از PdfOptions و تنظیم خواص VectorRasterizationOptions.
  5. صادرات نقشه به 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 امکان استفاده از قطعه‌برداری بلوک را فراهم می‌کند. روش قطعه‌برداری بلوک به صورت زیر عمل می‌کند:

  1. بارگذاری فایل نقشه DXF با استفاده از متد Image.Load.
  2. ایجاد یک شی از کلاس CadRasterizationOptions و بارگذاری فایل‌های PDF.
  3. تنظیم خواص مورد نظر CadRasterizationOptions.
  4. فراخوانی 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 صادر کنید. با استفاده از این روش، می‌توانید اقدامات زیر را انجام دهید:

  1. تنظیم فونت جدید
  2. پنهان کردن موجودیت‌ها
  3. به‌روزرسانی متن

نمونه کد زیر نشان می‌دهد که چگونه می‌توان اقدامات ذکر شده را انجام داد.

// 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 به تصویر

این روش به صورت زیر عمل می‌کند:

  1. باز کردن یک فایل نقشه DXF با استفاده از متد Image.Load.
  2. ایجاد یک نمونه از CadRasterizationOptions و مشخص کردن خواص PageWidth و PageHeight.
  3. افزودن لایه‌ها به شی CadRasterizationOptions.
  4. ایجاد یک نمونه از JpegOptions و تنظیم خواص VectorRasterizationOptions.
  5. صادرات نقشه به 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);
}
}