DXF Çizimleri

DXF Çizimlerini PDF’ye Aktarma

Aspose.CAD, AutoCAD DXF çizim varlıklarını yükleme ve bunları PDF formatında tam bir çizim olarak render etme özelliği sunar. DXF’den PDF’ye dönüşüm yaklaşımı şu şekilde çalışır:

  1. Image.Load fabrika metodunu kullanarak DXF çizim dosyasını yükleyin.
  2. CadRasterizationOptions sınıfının bir nesnesini oluşturun ve PageHeight ve PageWidth özelliklerini ayarlayın.
  3. PdfOptions sınıfının bir nesnesini oluşturun ve VectorRasterizationOptions özelliğini ayarlayın.
  4. Image.Save metodunu çağırarak, PdfOptions nesnesini ikinci parametre olarak geçin.

Aşağıdaki kod örneği varsayılan ayarlarla bir dosyanın nasıl dönüştürüleceğini gösterir.

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

Desteklenen Formatlar

Şu anda AutoCAD DXF 2010 dosya formatlarını tamamen destekliyoruz. Önceki DXF sürümlerinin %100 geçerli olduğu garanti edilmez. Gelecekte daha fazla format ve özellik eklemeyi planlıyoruz.

Desteklenen Varlıklar

Şu anda, tüm yaygın 2D varlıkları ve bunların temel varsayılan parametrelerini destekliyoruz:

  1. Hizalanmış Boyut
  2. Açısal Boyut
  3. Yay
  4. Nitelik
  5. Blok Referansı
  6. Çember
  7. Çap Boyutu
  8. Elips
  9. Tarama
  10. Hat
  11. Çok Satırlı Metin
  12. Ordinat Boyutu
  13. Nokta
  14. Poligon
  15. Radyal Boyut
  16. Işın
  17. Döndürülmüş Boyut
  18. Tablo
  19. Metin
  20. Xhat

Hafıza Yönetimi

Cache sınıfının ExactReallocateOnly özelliği, hafıza yeniden tahsisini kontrol etmek için kullanılabilir. Yeniden tahsis süreci, önceden tahsis edilmiş önbellekler için en olası durumdur. Tahsis edilen alanın yetersiz olduğu tespit edildiğinde bu durum meydana gelebilir.

  • ExactReallocateOnly varsayılan değer olan False olarak ayarlandığında, alan aynı ortamda yeniden tahsis edilir.
  • True olarak ayarlandığında, yeniden tahsis maksimum belirtilen alanı aşamaz. Bu durumda mevcut bellek içinde tahsis edilmiş önbellek (yeniden tahsis gerektiren) serbest bırakılır ve genişletilmiş alan diske tahsis edilir.

DXF Çizimlerinin Belirli Katmanlarını PDF’ye Aktarma

Bu yaklaşım şu şekilde çalışır:

  1. Image.Load fabrika metodunu kullanarak bir DXF çizim dosyası açın.
  2. CadRasterizationOptions örneğini oluşturun ve PageWidth ve PageHeight özelliklerini belirtin.
  3. CadRasterizationOptions nesnesine katmanlar ekleyin.
  4. PdfOptions örneğini oluşturun ve VectorRasterizationOptions özelliğini ayarlayın.
  5. Image.Save metodunu çağırarak, PdfOptions nesnesini ikinci parametre olarak geçin.

Aşağıdaki kod örneği, DXF’nin belirli bir katmanını PDF’ye nasıl dönüştüreceğinizi göstermektedir.

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

DXF Çizimlerinin Bir Parçası Olarak PDF Dosyalarını Render Etme

Bu yaklaşım şu şekilde çalışır:

  1. Image.Load fabrika metodunu kullanarak DXF çizim dosyasını yükleyin.
  2. CadRasterizationOptions sınıfının bir nesnesini oluşturun ve PDF dosyalarını yükleyin.
  3. PageHeight ve PageWidth özelliklerini ayarlayın.
  4. Image.Save metodunu çağırın ve dosyayı kaydedin.

Aşağıdaki kod örneği, PDF dosyalarını DXF çizimlerinin bir parçası olarak nasıl render edeceğinizi göstermektedir.

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

DXF Formatında Gömülü DGN Alt Katmanını Aktarma

Aspose.CAD, AutoCAD DXF dosyalarını yükleme ve DXF formatı için gömülü DGN alt katmanını dışa aktarma özelliği sunar.

Aşağıdaki kod örneği, belirtilen gereksinimlerin nasıl karşılanacağını göstermektedir.

// 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 Dosyalarını Kaydetme Desteği

Aspose.CAD, AutoCAD DXF dosyalarını yükleyip üzerinde değişiklik yapma ve ardından DXF dosyası olarak tekrar kaydetme özelliği sunar.

Aşağıdaki kod örneği, belirtilen gereksinimlerin nasıl karşılanacağını göstermektedir.

// 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’yi WMF’ye Aktarma

Bu yaklaşım şu şekilde çalışır:

  1. Image.Load fabrika metodunu kullanarak DXF çizim dosyasını yükleyin.
  2. CadRasterizationOptions sınıfının bir nesnesini oluşturun ve PDF dosyalarını yükleyin.
  3. PageHeight ve PageWidth özelliklerini ayarlayın.
  4. Image.Save metodunu çağırın ve dosyayı kaydedin.
// 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);
}

Belirli Bir DXF Düzenini PDF’ye Aktarma

Bu yaklaşım şu şekilde çalışır:

  1. Image.Load fabrika metodunu kullanarak bir DXF çizim dosyası açın.
  2. CadRasterizationOptions örneğini oluşturun ve PageWidth ve PageHeight özelliklerini ayarlayın.
  3. İstenilen düzen adı(larını) CadRasterizationOptions.Layouts özelliğini kullanarak belirtin.
  4. PdfOptions örneğini oluşturun ve VectorRasterizationOptions özelliğini ayarlayın.
  5. Çizimi PDF formatında dışa aktarın, Image.Save metodunu çağırarak ve PdfOptions nesnesini ikinci parametre olarak geçirerek.

Aşağıdaki kod örneği, DXF’nin belirli bir düzenini PDF’ye nasıl dönüştüreceğinizi göstermektedir.

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

Blok Kesme Desteği

Aspose.CAD, Blok Kesme özelliği sunar. Blok Kesme yaklaşımı şu şekilde çalışır:

  1. Image.Load fabrika metodunu kullanarak DXF çizim dosyasını yükleyin.
  2. CadRasterizationOptions sınıfının bir nesnesini oluşturun ve PDF dosyalarını yükleyin.
  3. CadRasterizationOptions özelliklerini ayarlayın.
  4. Image.Save metodunu çağırarak PdfOptions nesnesini ikinci parametre olarak geçirerek dosyayı kaydedin.

Aşağıdaki kod örneği, Blok Kesme özelliğinin nasıl çalıştığını göstermektedir.

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

Görüntüleri DXF’ye Aktarma

Aspose.CAD kullanarak, görüntüleri DXF formatına aktarabilirsiniz. Bu yaklaşımı kullanarak aşağıdaki işlemleri gerçekleştirebilirsiniz:

  1. Yeni font ayarlama
  2. Varlıkları gizleme
  3. Metin güncelleme

Aşağıdaki kod örneği, yukarıda belirtilen işlemleri nasıl gerçekleştireceğinizi göstermektedir.

// 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 Çizimlerinin Belirli Katmanlarını Görüntüye Aktarma

Bu yaklaşım şu şekilde çalışır:

  1. Image.Load fabrika metodunu kullanarak bir DXF çizim dosyası açın.
  2. CadRasterizationOptions örneğini oluşturun ve PageWidth ve PageHeight özelliklerini belirtin.
  3. CadRasterizationOptions nesnesine katmanlar ekleyin.
  4. JpegOptions örneğini oluşturun ve VectorRasterizationOptions özelliğini ayarlayın.
  5. Image.Save metodunu kullanarak çizimi PDF formatında dışa aktarın.

Aşağıdaki kod örneği, DXF’nin belirli bir katmanını Görüntüye nasıl dönüştüreceğinizi göstermektedir.

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