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 :

  1. Chargez le fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
  2. Créez un objet de la classe CadRasterizationOptions et définissez les propriétés PageHeight et PageWidth.
  3. Créez un objet de la classe PdfOptions et définissez la propriété VectorRasterizationOptions.
  4. 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 :

  1. Dimension Alignée
  2. Dimension Angulaire
  3. Arc
  4. Attribut
  5. Référence de Bloc
  6. Cercle
  7. Dimension de Diamètre
  8. Ellipse
  9. Hachure
  10. Ligne
  11. Texte Multiligne
  12. Dimension Ordonnée
  13. Point
  14. Polyligne
  15. Dimension Radiale
  16. Rayon
  17. Dimension Rotatée
  18. Table
  19. Texte
  20. 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 :

  1. Ouvrez un fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
  2. Créez une instance de CadRasterizationOptions et spécifiez les propriétés PageWidth et PageHeight.
  3. Ajoutez des couches à l’objet de CadRasterizationOptions.
  4. Créez une instance de PdfOptions et définissez sa propriété VectorRasterizationOptions.
  5. 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 :

  1. Chargez le fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
  2. Créez un objet de la classe CadRasterizationOptions et chargez des fichiers PDF.
  3. Définissez les propriétés PageHeight et PageWidth.
  4. 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 :

  1. Chargez le fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
  2. Créez un objet de la classe CadRasterizationOptions et chargez des fichiers PDF.
  3. Définissez les propriétés PageHeight et PageWidth.
  4. 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 :

  1. Ouvrez un fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
  2. Créez une instance de CadRasterizationOptions et spécifiez les propriétés PageWidth et PageHeight.
  3. Spécifiez le(s) nom(s) de mise en page souhaité(s) en utilisant la propriété CadRasterizationOptions.Layouts.
  4. Créez une instance de PdfOptions et définissez sa propriété VectorRasterizationOptions.
  5. 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 :

  1. Chargez le fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
  2. Créez un objet de la classe CadRasterizationOptions et chargez des fichiers PDF.
  3. Définissez les propriétés souhaitées de CadRasterizationOptions.
  4. 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 :

  1. Définir une nouvelle police
  2. Cacher des entités
  3. 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 :

  1. Ouvrez un fichier de dessin DXF en utilisant la méthode de fabrique Image.Load.
  2. Créez une instance de CadRasterizationOptions et spécifiez les propriétés PageWidth et PageHeight.
  3. Ajoutez des couches à l’objet de CadRasterizationOptions.
  4. Créez une instance de JpegOptions et définissez sa propriété VectorRasterizationOptions.
  5. 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);
}
}