Aspose.CAD for .NET v19.7是一个独立的AutoCAD处理API。它提供将DWG,DWF和DXF文件转换为高质量PDF和光栅图像的功能。开发人员可以从AutoCAD文件中选择和转换特定的布局和图层,并轻松跟踪整个文件转换过程。
Aspose.CAD for .Net更新至最新版v19.7,实现“Free point view”导出选项,新增支持DWG R11,R12格式,增强加载大型CAD文件时释放的内存,我们一起来看一看新功能详解吧!
新增与改善
| key | 概述 | 类别 |
|---|---|---|
| CADNET-804 | 实施“自由点视图”导出选项 | 新功能 |
| CADNET-17 | 在将DWG渲染为PDF格式时支持3D对象 | 新功能 |
| CADNET-21 | 支持DWG R11,R12格式 | 新功能 |
| CADNET-18 | 在将DWG渲染为PDF格式时支持3D对象 | 新功能 |
| CADNET-760 | 加载大型CAD文件时未释放内存 | 增强 |
| CADNET-689 | 为当前不支持它的所有实体实现3D渲染 | 增强 |
| CADNET-789 | 将水印和版权文本更新至2019年 | 增强 |
| CADNET-515 | 导出大型的CAD文件 | 增强 |
| CADNET-791 | 在Image的Dispose()中释放内存 | 增强 |
| CADNET-812 | 支持从DWG文件中提取元数据 | Bug修复 |
| CADNET-792 | 将DXF文件转换为PDF时发生异常 | Bug修复 |
| CADNET-798 | NRE将DWG保存到SVG | Bug修复 |
· · · · · ·
完整更新细则请参考:【Aspose.CAD for .NET v19.8更新说明】
用法示例
▲CADNET-65 DWG到PDF:加工过程需要太多时间才能将大型DWG加载并转换为PDF
string filePathDWG = @"D:\projects\forDXF\cadnet-65\TestBigFile.dwg";
string filePathFinish = @"D:\projects\forDXF\cadnet-65\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);
Assert.Fail();
}