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:
- Image.Load fabrika metodunu kullanarak DXF çizim dosyasını yükleyin.
- CadRasterizationOptions sınıfının bir nesnesini oluşturun ve PageHeight ve PageWidth özelliklerini ayarlayın.
- PdfOptions sınıfının bir nesnesini oluşturun ve VectorRasterizationOptions özelliğini ayarlayın.
- 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:
- Hizalanmış Boyut
- Açısal Boyut
- Yay
- Nitelik
- Blok Referansı
- Çember
- Çap Boyutu
- Elips
- Tarama
- Hat
- Çok Satırlı Metin
- Ordinat Boyutu
- Nokta
- Poligon
- Radyal Boyut
- Işın
- Döndürülmüş Boyut
- Tablo
- Metin
- 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:
- Image.Load fabrika metodunu kullanarak bir DXF çizim dosyası açın.
- CadRasterizationOptions örneğini oluşturun ve PageWidth ve PageHeight özelliklerini belirtin.
- CadRasterizationOptions nesnesine katmanlar ekleyin.
- PdfOptions örneğini oluşturun ve VectorRasterizationOptions özelliğini ayarlayın.
- 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:
- Image.Load fabrika metodunu kullanarak DXF çizim dosyasını yükleyin.
- CadRasterizationOptions sınıfının bir nesnesini oluşturun ve PDF dosyalarını yükleyin.
- PageHeight ve PageWidth özelliklerini ayarlayın.
- 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:
- Image.Load fabrika metodunu kullanarak DXF çizim dosyasını yükleyin.
- CadRasterizationOptions sınıfının bir nesnesini oluşturun ve PDF dosyalarını yükleyin.
- PageHeight ve PageWidth özelliklerini ayarlayın.
- 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:
- Image.Load fabrika metodunu kullanarak bir DXF çizim dosyası açın.
- CadRasterizationOptions örneğini oluşturun ve PageWidth ve PageHeight özelliklerini ayarlayın.
- İstenilen düzen adı(larını) CadRasterizationOptions.Layouts özelliğini kullanarak belirtin.
- PdfOptions örneğini oluşturun ve VectorRasterizationOptions özelliğini ayarlayın.
- Ç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:
- Image.Load fabrika metodunu kullanarak DXF çizim dosyasını yükleyin.
- CadRasterizationOptions sınıfının bir nesnesini oluşturun ve PDF dosyalarını yükleyin.
- CadRasterizationOptions özelliklerini ayarlayın.
- 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:
- Yeni font ayarlama
- Varlıkları gizleme
- 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:
- Image.Load fabrika metodunu kullanarak bir DXF çizim dosyası açın.
- CadRasterizationOptions örneğini oluşturun ve PageWidth ve PageHeight özelliklerini belirtin.
- CadRasterizationOptions nesnesine katmanlar ekleyin.
- JpegOptions örneğini oluşturun ve VectorRasterizationOptions özelliğini ayarlayın.
- 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); | |
} | |
} |