Aspose.CAD for .NET是一个独立的AutoCAD处理API。它提供将DWG,DWF和DXF文件转换为高质量PDF和光栅图像的功能。开发人员可以从AutoCAD文件中选择和转换特定的布局和图层,并轻松跟踪整个文件转换过程。
近期Aspose.CAD for .Net(点击下载)更新至最新版v19.7,新增支持DWG R11,R12格式,增强加载大型CAD文件,支持设置自定义视图以进行渲染,接下来,我们通过示例来了解新增功能!
加载大型DWG文件
Aspose.CAD for .NET提供了使用CadImage类打开非常大的DWG文件的功能。现在,您可以使用下面给出的示例示例轻松打开大文件。
//文档目录的路径. string MyDir = RunExamples.GetDataDir_DWGDrawings(); string filePathDWG = MyDir + "TestBigFile.dwg"; string filePathFinish = MyDir+ "TestBigFile.dwg.pdf"; Stopwatch stopWatch = new Stopwatch(); try { stopWatch.Start(); using (CadImage cadImage = (CadImage)Image.Load(filePathDWG)) { stopWatch.Stop(); // 将经过的时间作为TimeSpan值获取. TimeSpan ts = stopWatch.Elapsed; //格式化并显示TimeSpan值. string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); Console.WriteLine("RunTime for loading " + elapsedTime); CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); rasterizationOptions.PageWidth = 1600; rasterizationOptions.PageHeight = 1600; PdfOptions pdfOptions = new PdfOptions(); pdfOptions.VectorRasterizationOptions = rasterizationOptions; stopWatch = new Stopwatch(); stopWatch.Start(); cadImage.Save(filePathFinish, pdfOptions); stopWatch.Stop(); //将经过的时间作为TimeSpan值获取. ts = stopWatch.Elapsed; //格式化并显示TimeSpan值. elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); Console.WriteLine("RunTime for converting " + elapsedTime); } } catch (Exception ex) { Console.WriteLine(ex.Message); }
设置自定义视图以进行渲染
Aspose.CAD允许您为模型布局设置自定义视点。使用VectorRasterizationOptions可以设置自定义视点。以下示例显示如何设置自定义视点。
//文档目录的路径. string MyDir = RunExamples.GetDataDir_ConvertingCAD(); string sourceFilePath = MyDir + "conic_pyramid.dxf"; var outPath = Path.Combine(MyDir, "FreePointOfView_out.jpg"); using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath)) { JpegOptions options = new JpegOptions { VectorRasterizationOptions = new CadRasterizationOptions { PageWidth = 1500, PageHeight = 1500 } }; float xAngle = 10; //沿X轴的旋转角度 float yAngle = 30; //沿Y轴的旋转角度 float zAngle = 40; //沿Z轴的旋转角度 ((CadRasterizationOptions)(options.VectorRasterizationOptions)).ObserverPoint = new ObserverPoint(xAngle, yAngle, zAngle); cadImage.Save(outPath, options); }