Dessins DXF
Exportation des Dessins DXF vers PDF
Aspose.CAD offre la fonctionnalité de charger des entités de dessin DXF d’AutoCAD et de les rendre en tant qu’ensemble de dessin au format PDF. L’approche de conversion DXF en PDF fonctionne comme suit :
- Chargez le fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
- Créez un objet de la classe CadRasterizationOptions et définissez les propriétés PageHeight et PageWidth.
- Créez un objet de la classe PdfOptions et définissez la propriété VectorRasterizationOptions.
- Appelez Image.Save en passant un objet de PdfOptions en tant que deuxième paramètre.
L’exemple de code ci-dessous montre comment convertir un fichier en utilisant les paramètres par défaut.
// 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); | |
} |
Formats Supportés
Pour le moment, nous supportons entièrement les formats de fichiers AutoCAD DXF 2010. Les versions antérieures de DXF ne garantissent pas d’être 100% valides. Nous prévoyons d’inclure plus de formats et de fonctionnalités dans les futures versions d’Aspose.CAD.
Entités Supportées
Pour le moment, nous prenons en charge toutes les entités 2D répandues et leurs paramètres par défaut de base comme suit :
- Dimension Alignée
- Dimension Angulaire
- Arc
- Attribut
- Référence de Bloc
- Cercle
- Dimension de Diamètre
- Ellipse
- Hachure
- Ligne
- Texte Multiligne
- Dimension Ordonnée
- Point
- Polyligne
- Dimension Radiale
- Rayon
- Dimension Rotatée
- Table
- Texte
- Xline
Gestion de Mémoire
La propriété ExactReallocateOnly de la classe Cache peut être utilisée pour contrôler la réallocation de la mémoire. La réallocation est plus susceptible de se produire pour les caches pré-alloués. Cela peut se produire lorsque le système détermine que l’espace alloué ne sera pas suffisant.
- Si ExactReallocateOnly est défini à la valeur par défaut, False, l’espace est réalloué au même support.
- Lorsqu’il est défini à True, la réallocation ne peut pas dépasser l’espace maximum spécifié. Dans ce cas, le cache en mémoire existant (qui nécessite une réallocation) est libéré et un espace étendu est alloué sur le disque.
Exportation d’une Couche Spécifique des Dessins DXF vers PDF
Cette approche fonctionne comme suit :
- Ouvrez un fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
- Créez une instance de CadRasterizationOptions et spécifiez les propriétés PageWidth et PageHeight.
- Ajoutez des couches à l’objet de CadRasterizationOptions.
- Créez une instance de PdfOptions et définissez sa propriété VectorRasterizationOptions.
- Appelez la méthode Image.Save et passez l’objet de PdfOptions comme deuxième paramètre.
L’exemple de code ci-dessous montre comment convertir une couche spécifique de DXF en 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); | |
} |
Rendre des fichiers PDF comme partie des dessins DXF
Cette approche fonctionne comme suit :
- Chargez le fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
- Créez un objet de la classe CadRasterizationOptions et chargez des fichiers PDF.
- Définissez les propriétés PageHeight et PageWidth.
- Appelez Image.Save et sauvegardez le fichier.
L’exemple de code ci-dessous montre comment rendre des fichiers PDF comme partie des dessins 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); | |
} |
Exporter la sous-couche DGN intégrée pour le format DXF
Aspose.CAD offre la fonctionnalité de charger des fichiers DXF d’AutoCAD et d’exporter la sous-couche DGN intégrée pour le format DXF.
L’exemple de code ci-dessous montre comment atteindre les exigences spécifiées.
// 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); | |
} |
Support pour la Sauvegarde des Fichiers DXF
Aspose.CAD offre la fonctionnalité de charger des fichiers DXF d’AutoCAD, d’apporter des modifications et de les sauvegarder à nouveau sous forme de fichier DXF.
L’exemple de code ci-dessous montre comment atteindre les exigences spécifiées.
// 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"); | |
} | |
Exportation DXF vers WMF
Cette approche fonctionne comme suit :
- Chargez le fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
- Créez un objet de la classe CadRasterizationOptions et chargez des fichiers PDF.
- Définissez les propriétés PageHeight et PageWidth.
- Appelez Image.Save et sauvegardez le fichier.
// 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); | |
} |
Exportation d’une Mise en Page DXF Spécifique vers PDF
Cette approche fonctionne comme suit :
- Ouvrez un fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
- Créez une instance de CadRasterizationOptions et spécifiez les propriétés PageWidth et PageHeight.
- Spécifiez le(s) nom(s) de mise en page souhaité(s) en utilisant la propriété CadRasterizationOptions.Layouts.
- Créez une instance de PdfOptions et définissez sa propriété VectorRasterizationOptions.
- Exportez le dessin en PDF en appelant la méthode Image.Save et en passant l’objet de PdfOptions comme deuxième paramètre.
L’exemple de code ci-dessous montre comment convertir une mise en page spécifique de DXF en 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); | |
} |
Support du Clipping de Bloc
Aspose.CAD offre la fonctionnalité de Clipping de Bloc. L’approche de Clipping de Bloc fonctionne comme suit :
- Chargez le fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
- Créez un objet de la classe CadRasterizationOptions et chargez des fichiers PDF.
- Définissez les propriétés souhaitées de CadRasterizationOptions.
- Appelez Image.Save en passant un objet de PdfOptions comme deuxième paramètre et sauvegardez le fichier.
L’exemple de code ci-dessous montre comment fonctionne le Clipping de Bloc.
// 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); |
Exporter des Images vers DXF
Avec Aspose.CAD, vous pouvez exporter des images au format DXF. Grâce à cette approche, vous pouvez effectuer les actions suivantes :
- Définir une nouvelle police
- Cacher des entités
- Mettre à jour le texte
L’exemple de code ci-dessous vous montre comment effectuer les actions listées ci-dessus.
// 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"); | |
} | |
} | |
Exportation d’une Couche Spécifique des Dessins DXF vers une Image
Cette approche fonctionne comme suit :
- Ouvrez un fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
- Créez une instance de CadRasterizationOptions et spécifiez les propriétés PageWidth et PageHeight.
- Ajoutez des couches à l’objet de CadRasterizationOptions.
- Créez une instance de JpegOptions et définissez sa propriété VectorRasterizationOptions.
- Exportez le dessin en PDF en utilisant la méthode Image.Save.
L’exemple de code ci-dessous montre comment convertir une couche spécifique de DXF en Image.
// 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); | |
} | |
} |