Xuất CAD
Xuất hình ảnh 3D AutoCAD sang PDF
Aspose.CAD cho phép bạn xuất hình ảnh 3D AutoCAD sang PDF. Vui lòng sử dụng TypeOfEntities.Entities3D trong ImageOptions.CadRasterizationOptions để chỉ định rằng bạn muốn xuất các thực thể 3D. Đoạn mã mẫu dưới đây tải một tệp AutoCAD 3D và xuất nó sang PDF. Khi tệp được chuyển đổi sang PDF, bạn có thể mở nó bằng trình xem PDF yêu thích của mình.
Đoạn mã mẫu dưới đây cho thấy cách xuất hình ảnh 3D AutoCAD sang 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); |
Xuất Layout CAD sang PDF
Aspose.CAD cho Java cho phép bạn xuất layout CAD sang PDF. Phương thức save của lớp CadImage có thể được sử dụng để xuất layout ra định dạng PDF. Đoạn mã mẫu dưới đây tải một tệp CAD và xuất layout “Model” của nó sang PDF. Khi tệp được chuyển đổi sang PDF, bạn có thể mở nó bằng trình xem PDF yêu thích của mình.
Dưới đây là mã mẫu.
// 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); |
Hỗ trợ thiết lập bút trong xuất
Aspose.CAD cho Java cho phép bạn thêm tùy chọn bút trong thuộc tính xuất của CAD. Sử dụng rasterizationOptions, chúng tôi có thể thiết lập các tùy chọn thuộc tính bút.
Dưới đây là mã mẫu để đạt được các yêu cầu đã chỉ định.
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); | |
Phân tách đối tượng chèn CAD
Aspose.CAD cho Java cho phép bạn phân tách các đối tượng CAD và xử lý các thực thể riêng biệt bên trong phần chèn. Dưới đây là mã mẫu để đạt được các yêu cầu đã chỉ định.
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(); | |
} |
Hỗ trợ thực thể ACAD Proxy
Aspose.CAD cho Java cho phép bạn đọc và xuất các thực thể ACAD_PROXY_ENTITY. Dưới đây là mã mẫu để đạt được các yêu cầu đã chỉ định.
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); | |
Tích hợp định dạng IGES
Aspose.CAD cho Java cho phép bạn đọc và xuất định dạng IGES. Dưới đây là mã mẫu để đạt được các yêu cầu đã chỉ định.
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); | |
Hỗ trợ mô hình lưới
Aspose.CAD cho Java cho phép bạn triển khai và đếm các mô hình lưới như cạnh, đỉnh và mặt sử dụng biểu diễn polygon. Dưới đây là mã mẫu để đạt được các yêu cầu đã chỉ định.
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(); | |
} |
Đặt góc nhìn tùy chỉnh
Aspose.CAD cho Java cho phép bạn đặt góc nhìn tùy chỉnh cho layout Model. Sử dụng vectorRasterizationOptions bạn có thể đặt góc nhìn tùy chỉnh. Đoạn mã mẫu dưới đây cho thấy cách đặt góc nhìn tùy chỉnh.
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); |