Aspose.CAD是用於.Net和Java平台的獨立軟件庫,可讀取CAD文件(例如DWG,DXF,DNG,IFC,STL文件)並將其內容導出為PDF文件和光柵圖像。 它不需要其他軟件即可工作-不需要AutoCAD或ReadDWG,它本身即可工作。
它還允許部分導出文件,僅導出DWG和DXF文件中的特定實體或圖層,在導出過程中替換CAD文件中指定的顏色或字體,以及導出3D實體。
雖然Aspose.CAD是一個商業庫,但它允許免費評估,該評估提供了所有功能,可以方便地用於實驗,但僅加載復雜性有限的文件並為輸出的圖像加水印。 除了預先付款外,還可以使用按使用量計費的許可證。
我將撰寫一系列文章,涵蓋使用Aspose.CAD for .NET使用Aspose.CAD的關鍵點,從最基本的事情開始,例如加載CAD文件並將圖像導出到更具體的方面。
因此,讓我們從最簡單的情況開始:
加載CAD文件並導出圖像
該過程將包括三個主要步驟:
1)加載CAD文件。
2)設置導出設置。
3)保存圖像。
加載CAD文件
第一步非常簡單。 只需調用Image類的靜態Load方法,並將文件路徑傳遞給它即可:
string dwgPathToFile = "files/cad.dwg" ; Image cadImage1 = Image . Load ( dwgPathToFile );
Load方法將根據文件擴展名確定文件格式,並創建Image子類的相應對象。 那里沒有麻煩!
現在,由於同樣簡單,我將跳至第三步,然后返回第二步。
保存圖像
在加載的Image上調用Save方法,將文件路徑傳遞到save和ImageOptionsBase對象,此操作已完成。
cadImage1 . Save ( "cad.pdf" , pdfOptions );
輸出圖像格式將根據ImageOptionsBase的特定子類確定,其中pdfOptions是實例。 所有輸出格式都有單獨的類。 讓我們深入第二步。
設置導出選項
從庫用戶的角度來看,這是主要工作所在。 您可以通過創建ImageOptionsBase的相應子類的對象來選擇輸出格式。
有以下ImageOptionsBase子類:
PdfOptions , BmpOptions , GifOptions , JpegOptions , PngOptions , PsdOptions , TiffOptions和一些更 。 每個都提供相應輸出文件格式的設置。 然后通過設置其屬性進行設置,然后將其傳遞到第三步。
最重要的屬性是VectorRasterizationOptions屬性,我們應該使用CadRasterizationOptions類的實例進行設置 。 此類指定應如何渲染CAD圖像-寬度,高度(以像素為單位),CAD內容應居中,對象的背景顏色和替代顏色等。以最簡單的形式,此步驟可以通過以下方式完成:
PdfOptions pdfOptions = new PdfOptions (); CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions (); pdfOptions . VectorRasterizationOptions = rasterizationOptions ; rasterizationOptions . PageHeight = 1600 ; rasterizationOptions . PageWidth = 1600 ; rasterizationOptions . DrawType = CadDrawTypeMode . UseObjectColor ;
-
因此,我們創建了一個PdfOptions實例,該實例顯然將輸出設置為PDF文件格式,創建了新的CadRasterizationOptions來設置應如何渲染CAD圖像,並為其設置PdfOptions的VectorRasterizationOptions屬性,然后指定輸出圖像的高度和寬度(
默認情況下,您的CAD圖像將被拉伸/縮小以適合指定的輸出頁面尺寸,並保持寬高比),並使柵格化使用CAD文件中指定的顏色。
設置完成后,我們就可以進行第三步了。
現在,您知道如何使用Aspose.CAD for .NET將CAD文件導出到光柵圖像或PDF文件。 Java版本的Aspose.CAD也基本上相同。
這是完整的示例:
using System ; using System.Collections.Generic ; using Aspose.CAD ; using Aspose.CAD.ImageOptions ; namespace ConsoleExampleAsposeCAD { class Program { static void Main () { string dwgPathToFile = "files/cad.dwg" ; Image cadImage1 = Image . Load ( dwgPathToFile ); PdfOptions pdfOptions = new PdfOptions (); CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions (); pdfOptions . VectorRasterizationOptions = rasterizationOptions ; rasterizationOptions . PageHeight = 1600 ; rasterizationOptions . PageWidth = 1600 ; rasterizationOptions . DrawType = CadDrawTypeMode . UseObjectColor ; cadImage1 . Save ( "cad.pdf" , pdfOptions ); } } }
只需創建一個新的控制台應用程序,將示例內容復制到Program.cs中,從NuGet安裝Aspose.CAD for .NET,即可親自體驗。
旋轉和翻轉圖像
使用Aspose.CAD,不僅可以按原樣導出CAD圖像,而且還可以旋轉或鏡像形式導出CAD圖像。 只需回到第一部分的第二步,並對其進行一些調整:
PdfOptions pdfOptions = new PdfOptions (); //Here it is, the rotation and flip! pdfOptions . Rotation = RotateFlipType . Rotate270FlipY ; //^^^^ CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions (); pdfOptions . VectorRasterizationOptions = rasterizationOptions ; rasterizationOptions . PageHeight = 1600 ; rasterizationOptions . PageWidth = 1600 ; rasterizationOptions . DrawType = CadDrawTypeMode . UseObjectColor ;
-
如圖所示, Rotation屬性接受RotateFlipType枚舉中的值。 它列出了以90度為步長旋轉並沿X軸和Y軸鏡像的所有組合-之一或同時顯示。 Rotation屬性可用於ImageOptionsBase的所有子類,這意味着所有輸出格式均支持該屬性。