Mengekspor CAD

Mengekspor Gambar AutoCAD 3D ke PDF

Aspose.CAD memungkinkan Anda untuk mengekspor gambar AutoCAD 3D ke PDF. Silakan gunakan TypeOfEntities.Entities3D dalam ImageOptions.CadRasterizationOptions untuk menentukan bahwa Anda ingin mengekspor entitas 3D. Kode contoh berikut memuat file AutoCAD 3D dan mengekspornya ke PDF. Setelah file dikonversi ke PDF, Anda dapat membukanya menggunakan penampil PDF favorit Anda.

Kode contoh di bawah ini menunjukkan cara mengekspor gambar AutoCAD 3D ke 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);

Mengekspor Tata Letak CAD ke PDF

Aspose.CAD untuk Java memungkinkan Anda untuk mengekspor tata letak CAD ke PDF. Metode save dari kelas CadImage dapat digunakan untuk mengekspor tata letak ke format PDF. Kode contoh berikut memuat file CAD dan mengekspor tata letak “Model”-nya ke PDF. Setelah file dikonversi ke PDF, Anda dapat membukanya menggunakan penampil PDF favorit Anda.

Berikut adalah kode contohnya.

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

Dukungan untuk pengaturan Pen dalam Ekspor

Aspose.CAD untuk Java memungkinkan Anda untuk menambahkan opsi pena dalam properti ekspor CAD. Menggunakan rasterizationOptions kita dapat mengatur opsi properti pena.

Di bawah ini adalah kode contoh untuk mencapai persyaratan yang ditentukan.

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

Mendekomposisi Objek Insert Cad

Aspose.CAD untuk Java memungkinkan Anda untuk mendekomposisi objek cad dan memproses entitas terpisah di dalam insert. Di bawah ini adalah kode contoh untuk mencapai persyaratan yang ditentukan.

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

Dukungan untuk Entitas ACAD Proxy

Aspose.CAD untuk Java memungkinkan Anda untuk membaca dan mengekspor entitas ACAD_PROXY_ENTITY. Di bawah ini adalah kode contoh untuk mencapai persyaratan yang ditentukan.

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

Integrasi Format IGES

Aspose.CAD untuk Java memungkinkan Anda untuk membaca dan mengekspor format IGES. Di bawah ini adalah kode contoh untuk mencapai persyaratan yang ditentukan.

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

Dukungan untuk Model Mesh

Aspose.CAD untuk Java memungkinkan Anda untuk menerapkan dan menghitung model mesh seperti tepi, verteks, dan permukaan yang menggunakan representasi poligonal. Di bawah ini adalah kode contoh untuk mencapai persyaratan yang ditentukan.

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

Tentukan Sudut Pandang Kustom

Aspose.CAD untuk Java memungkinkan Anda untuk menetapkan sudut pandang kustom untuk tata letak Model. Menggunakan vectorRasterizationOptions Anda dapat mengatur sudut pandang kustom. Kode contoh di bawah ini menunjukkan cara untuk mengatur sudut pandang kustom.

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