Esportazione CAD

Esporta immagini 3D AutoCAD in PDF

Aspose.CAD ti consente di esportare immagini 3D AutoCAD in PDF. Si prega di utilizzare TypeOfEntities.Entities3D in ImageOptions.CadRasterizationOptions per specificare che si desidera esportare entità 3D. Il seguente codice di esempio carica un file AutoCAD 3D e lo esporta in PDF. Una volta che il file è stato convertito in PDF, puoi aprirlo utilizzando il tuo visualizzatore PDF preferito.

Il codice di esempio qui sotto mostra come esportare immagini 3D AutoCAD in PDF.

// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-Java
// The path to the resource directory.
String dataDir = Utils.getDataDir(Export3DAutoCADImagesToPDF.class) + "ExportingCAD/";
String srcFile = dataDir + "conic_pyramid.dxf";
Image cadImage = Image.load(srcFile);
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(500);
rasterizationOptions.setPageHeight(500);
rasterizationOptions.setTypeOfEntities(TypeOfEntities.Entities3D);
rasterizationOptions.setLayouts(new String[] {"Model"});
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
cadImage.save(dataDir + "Export3DImagestoPDF_out_.pdf", pdfOptions);

Esportazione di Layout CAD in PDF

Aspose.CAD per Java ti consente di esportare layout CAD in PDF. Il metodo save della classe CadImage può essere utilizzato per esportare layout in formato PDF. Il seguente codice di esempio carica un file CAD e esporta il suo layout “Modello” in PDF. Una volta che il file è stato convertito in PDF, puoi aprirlo utilizzando il tuo visualizzatore PDF preferito.

Ecco il codice di esempio.

// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-Java
// The path to the resource directory.
String dataDir = Utils.getDataDir(ExportCADLayoutsToPDF.class) + "ExportingCAD/";
String srcFile = dataDir + "conic_pyramid.dxf";
// Create an instance of CadImage class and load the file.
Image cadImage = Image.load(srcFile);
// Create an instance of CadRasterizationOptions class
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(1600);
rasterizationOptions.setPageHeight(1600);
// Set the Entities type property to Entities3D.
rasterizationOptions.setTypeOfEntities(TypeOfEntities.Entities3D);
rasterizationOptions.setScaleMethod(ScaleType.GrowToFit);
rasterizationOptions.setContentAsBitmap(true);
// Set Layouts
rasterizationOptions.setLayouts(new String[] {"Model"});
// Create an instance of PDF options class
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
// Set Graphics options
rasterizationOptions.getGraphicsOptions().setSmoothingMode(SmoothingMode.HighQuality);
rasterizationOptions.getGraphicsOptions().setTextRenderingHint(TextRenderingHint.AntiAliasGridFit);
rasterizationOptions.getGraphicsOptions().setInterpolationMode(InterpolationMode.HighQualityBicubic);
// Export to PDF by calling the Save method
cadImage.save(dataDir + "CADLayoutsToPDF_out_.pdf", pdfOptions);

Supporto per la configurazione della penna nell’esportazione

Aspose.CAD per Java ti consente di aggiungere opzioni di penna nelle proprietà di esportazione del CAD. Utilizzando rasterizationOptions possiamo impostare le opzioni delle proprietà della penna.

Qui sotto è riportato un codice di esempio per soddisfare i requisiti specificati.

String dataDir = Utils.getDataDir(PenSupportInExport.class) + "CADConversion/";
String srcFile = dataDir + "conic_pyramid.dxf";
CadImage cadImage = ((CadImage)(Image.load(srcFile)));
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(cadImage.getWidth() * 100);
rasterizationOptions.setPageHeight(cadImage.getHeight() * 100);
PdfOptions pdfOptions = new PdfOptions();
// Here user can change default start cap and end cap of pens when exporting CadImage object to
// image. It can be using for all image formats: pdf, png, bmp, gif, jpeg2000, jpeg, psd, tiff, wmf.
// If user doesn't use PenOptions, system will use its own default pens (different in defferent places).
PenOptions penOts = new PenOptions();
penOts.setStartCap(LineCap.Flat);
penOts.setEndCap(LineCap.Flat);
//rasterizationOptions.setPenOptions(penOts);
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
cadImage.save((dataDir+"9LHATT-A56_generated.pdf"),pdfOptions);

Decomporre oggetto di inserimento CAD

Aspose.CAD per Java ti consente di decomporre oggetti cad e processare entità separate all’interno dell’inserimento. Qui sotto è riportato un codice di esempio per soddisfare i requisiti specificati.

String srcFile = dataDir + "conic_pyramid.dxf";
CadImage cadImage =(CadImage) Image.load(srcFile);
try
{
for (int i=0; i<cadImage.getEntities().length;i++)
{
if (cadImage.getEntities()[i].getTypeName() == CadEntityTypeName.INSERT)
{
CadBlockEntity block =
(CadBlockEntity)cadImage.getBlockEntities().get_Item(((CadInsertObject)cadImage.getEntities()[i]).getName());
for (CadBaseEntity blockChild : block.getEntities())
{
// process entities
}
}
}
}
finally
{
cadImage.dispose();
}

Supporto per entità proxy ACAD

Aspose.CAD per Java ti consente di leggere ed esportare entità ACAD_PROXY_ENTITY. Qui sotto è riportato un codice di esempio per soddisfare i requisiti specificati.

String dataDir = Utils.getDataDir(PenSupportInExport.class) + "CADConversion/";
String srcFile = dataDir + "conic_pyramid.dxf";
CadImage cadImage = ((CadImage)(Image.load(srcFile)));
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(cadImage.getWidth() * 100);
rasterizationOptions.setPageHeight(cadImage.getHeight() * 100);
PdfOptions pdfOptions = new PdfOptions();
// Here user can change default start cap and end cap of pens when exporting CadImage object to
// image. It can be using for all image formats: pdf, png, bmp, gif, jpeg2000, jpeg, psd, tiff, wmf.
// If user doesn't use PenOptions, system will use its own default pens (different in defferent places).
PenOptions penOts = new PenOptions();
penOts.setStartCap(LineCap.Flat);
penOts.setEndCap(LineCap.Flat);
//rasterizationOptions.setPenOptions(penOts);
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
cadImage.save((dataDir+"9LHATT-A56_generated.pdf"),pdfOptions);

Integrare il formato IGES

Aspose.CAD per Java ti consente di leggere ed esportare il formato IGES. Qui sotto è riportato un codice di esempio per soddisfare i requisiti specificati.

String dataDir = Utils.getDataDir(ExportIGEStoPDF.class) + "IGESDrawings/";
String PLTPathToFile = dataDir + "figa2.igs";
Image image = Image.load(PLTPathToFile);
//Setting PDF Options
PdfOptions pdfOptions = new PdfOptions();
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor);
cadRasterizationOptions.setPageHeight(1000);
cadRasterizationOptions.setPageWidth(1000);
pdfOptions.setVectorRasterizationOptions(cadRasterizationOptions);
//Saving to PDF
image.save(dataDir+"figa2.pdf", pdfOptions);

Supporto per modelli Mesh

Aspose.CAD per Java ti consente di implementare e contare modelli mesh come bordi, vertici e facce che utilizzano una rappresentazione poligonale. Qui sotto è riportato un codice di esempio per soddisfare i requisiti specificati.

String srcFile = dataDir + "meshes.dwg";
// com.aspose.cad. objImage = com.aspose.cad.CImage.load(srcFile);
CadImage cadImage =(CadImage) com.aspose.cad.Image.load(srcFile);
try
{
for (CadBaseEntity entity : cadImage.getEntities())
{
if (entity instanceof CadPolyFaceMesh)
{
CadPolyFaceMesh asFaceMesh= (CadPolyFaceMesh)entity;
if (asFaceMesh != null)
{
System.out.println("Vetexes count: " + asFaceMesh.getMeshMVertexCount());
}
}
else if (entity instanceof CadPolygonMesh)
{
CadPolygonMesh asPolygonMesh= (CadPolygonMesh)entity;
if (asPolygonMesh != null)
{
System.out.println("Vetexes count: " + asPolygonMesh.getMeshMVertexCount());
}
}
}
}
finally
{
cadImage.dispose();
}

Imposta un punto di vista personalizzato

Aspose.CAD per Java ti consente di impostare un punto di vista personalizzato per il layout del modello. Utilizzando vectorRasterizationOptions puoi impostare un punto di vista personalizzato. Il codice di esempio qui sotto mostra come impostare un punto di vista personalizzato.

String dataDir = Utils.getDataDir(FreePointOfView.class) + "CADConversion/";
// Path to source file
String sourceFilePath = dataDir+"conic_pyramid.dxf";
// Load a CAD drawing in an instance of Image
com.aspose.cad.Image objImage = com.aspose.cad.Image.load(sourceFilePath);
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
cadRasterizationOptions.setPageHeight(1500);
cadRasterizationOptions.setPageWidth(1500);
// Create an instance of JpegOptions class
com.aspose.cad.imageoptions.JpegOptions options = new com.aspose.cad.imageoptions.JpegOptions();
options.setVectorRasterizationOptions(cadRasterizationOptions);
float xAngle = 10; //Angle of rotation along the X axis
float yAngle = 30; //Angle of rotation along the Y axis
float zAngle = 40; //Angle of rotation along the Z axis
ObserverPoint obvPoint = new ObserverPoint(xAngle,yAngle,zAngle);
cadRasterizationOptions.setObserverPoint(obvPoint);
options.setVectorRasterizationOptions(cadRasterizationOptions);
//Saving to Image
objImage.save(dataDir+"FreePointOfView_out.jpeg", options);