نقشههای DXF
صادرات نقشههای DXF به PDF
Aspose.CAD این امکان را فراهم میآورد که موجودیتهای نقشه 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); | |
} |
فرمتهای پشتیبانیشده
در حال حاضر ما به طور کامل از فرمتهای فایل DXF اتوکد 2010 پشتیبانی میکنیم. نسخههای قبلی DXF تضمین نمیشوند که 100% معتبر باشند. ما برنامهریزی میکنیم که در نسخههای آینده Aspose.CAD فرمتها و ویژگیهای بیشتری را شامل شویم.
موجودیتهای پشتیبانیشده
در حال حاضر ما از تمامی موجودیتهای 2D رایج و پارامترهای پیشفرض پایه آنها به شرح زیر پشتیبانی میکنیم:
- ابعاد همراستا
- ابعاد زاویهای
- قوس
- ویژگی
- مرجع بلوک
- دایره
- ابعاد قطر
- بیضی
- الگوی هاش
- خط
- متن چندخطی
- ابعاد مختصات
- نقطه
- چندخط
- ابعاد شعاعی
- پرتو
- ابعاد چرخشی
- جدول
- متن
- خط X
مدیریت حافظه
خواص 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 امکان بارگذاری فایلهای 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
این روش به صورت زیر عمل میکند:
- بارگذاری فایل نقشه 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); | |
} | |
} |