PDF輸出控件制作
返回1.引言
使用三維CAD軟件的工程師都知道,要將三維模型保存成3D PDF格式,需要通過另存為,選擇PDF格式才可以。如果一個裝配中有多個零件需要存成3D PDF格式,操作就比較繁瑣。在這種情況下,可利用中望3D的API函數,根據客戶的特殊用途進行軟件的個性化定制和二次開發(fā),從而大大提高工作的效率,深度滿足企業(yè)的要求。
2.二次開發(fā)準備
2.1系統需求:
1)Windows7 或以上系統;
2)Visual Studio 2012(或者任意能夠創(chuàng)建C/C++的IDE工具);
3)中望3D 2012或以上版本軟件(本文使用中望3D 2017);
3.創(chuàng)建二次開發(fā)程序
3.1 打開Visual Studio 2012,選擇新建項目,選擇Win32控制臺應用程序,然后在名稱中輸入FileExport,選擇程序生成位置,完成后選擇確定。
圖3-1
3.2選擇下一步。
圖3-2
3.3 選擇應用程序類型為DLL,選擇附加選項為空項目,然后點擊完成。
圖3-3
3.4 右鍵FileExport項目,選擇添加,選擇新建項,或者使用快捷鍵Ctrl+Shift+A,分別創(chuàng)建FileExport.cpp源文件和FileExport.def文件。
圖3-4
圖3-5
圖3-6
3.5 右鍵FileExport項目,選擇屬性,進入FileExport屬性頁。(注意:如果是64位系統,平臺必須選擇X64?。┻x擇C++,選擇常規(guī),選擇附件包含目錄,在該目錄中輸入安裝目錄下API文件夾的地址,如圖3-7所示。
圖3-7
3.6在FileExport屬性頁中,選擇鏈接器,選擇常規(guī),在附加庫目錄中輸入中望3D安裝目錄地址,(注意:如果是64位系統,平臺必須選擇X64?。┤鐖D3-8所示。
圖3-8
3.7 在FileExport屬性頁中,選擇鏈接器,選擇輸入,在附加依賴項中輸入zw3d.lib,(注意:如果是64位系統,平臺必須選擇X64?。┤鐖D3-9所示。
圖3-9
3.8輸入以下代碼,定義項目中的FileExport.cpp文件。
#include<stdio.h>
#include<string.h>
#include"VxApi.h"
intFileExportPdf(void);
intFileExportInit(intformat, void *data)
{
cvxCmdFunc("FileExportPdf", (void*)FileExportPdf, VX_CODE_GENERAL);
return 0;
}
intFileExportExit(void)
{
cvxCmdFuncUnload("FileExportImg");
cvxCmdFuncUnload("FileExportPdf");
return 0;
}
intFileExportPdf(void)
{
intiRet = 0;
vxNameExportName;
vxPathFilePath;
svxPdfDataPdfData;
cvxFileDirectory(FilePath);
iRet = strcpy_s(ExportName, "test.pdf");
if (FilePath[0])
iRet = cvxPathCompose(FilePath, ExportName);
else
iRet = strcpy_s(FilePath, "test.pdf");
if (iRet)
{
cvxMsgDisp("Fail to find the export path.");
returniRet;
}
cvxMemZero((void*)&PdfData, sizeof(PdfData));
PdfData.PaperHeight = 300;
PdfData.PaperWidth = 220;
PdfData.RangeMode = VX_EXPORT_PDF_RANGE_MODE_NORMAL;
PdfData.Type = VX_EXPORT_PDF_TYPE_OBJECT;
iRet = cvxFileExport(VX_EXPORT_TYPE_PDF, FilePath, (void*)&PdfData);
if (iRet)
cvxMsgDisp("Fail to save as pdf format.");
else
cvxMsgDisp("File is saved successfully.");
returniRet;
};
圖3-10
3.9 輸入以下代碼,定義項目中的FileExport.def文件。
LIBRARYFileExport.dll
EXPORTS
FileExportInit
FileExportExit
FileExportImg
FileExportPdf
圖3-11
3.11 右鍵FileExport項目選擇生成,在該項目目錄中Debug文件夾下會產生FileExport.dll應用程序文件。
圖3-12
3.12 在中望3D安裝目錄下,新建文件夾apilibs文件夾,將FileExport.dll文件復制到該文件夾中,即在中望3D中加載該應用程序。
圖3-13
3.13 打開中望3D,選擇應用程序管理器,選擇插件應用程序。我們可以看到,FileExport程序已經加載到了中望3D。
圖3-14
3.14 下面我們來使用一下這個程序,在中望3D中新建一個塊零件并保存到桌面,然后在命令框中輸入~符號,然后通過方向鍵選中FileExportPdf應用程序,然后回車輸入該程序,在桌面我們得到了這個零件的3D PDF文件。
圖3-15
4.定制二次開發(fā)工具欄
每次要在輸入框中手動輸入~FileExportPdf命令太麻煩,下面,我們來介紹一下如何將二次開發(fā)程序添加到工具欄或指定位置。
4.1 在中望3D零件環(huán)境下,選擇工具,選擇自定義,進入自定義界面。
圖4-1
4.2 在自定義命令界面中,點擊添加命令按鈕,按圖4-2依次輸入按鈕名稱、PNG圖標等屬性。
圖4-2
4.3 在自定義轉換界面中,先找到4.2中創(chuàng)建的FileExport命令。然后,用鼠標將該命令拖動到圖4-3所示位置,或者拖動到您所指定的位置,選擇應用。
圖4-3
5.命令使用測試
這樣我們就在中望3D實用工具欄中添加了FileExport這個命令按鈕,接下來,我們就可以直接在造型選項欄中使用該命令了,在測試零件所在位置就可以得到一個3D PDF,如圖5-1所示。
圖5-1
總結:
本教程給大家簡單介紹了中望3D二次開發(fā)的流程,思路是在Visual Studio中創(chuàng)建dll程序,再將該程序加載到中望3D中。通過二次開發(fā),我們將原本需要點四步的操作,簡化到只需要一步,大大提高了工作效率,當然,在此教程的基礎上,我們還可以進一步開發(fā),將輸出PDF的操作批量化,附件是本教程的所有程序,大家一起動手,開啟您的中望3D私人定制之旅吧!
馬上下載中望3D2017版,體驗智能設計,讓創(chuàng)意無極限:http://www.itopa.cn/product/zw3d
Z3是什么格式文件:http://www.itopa.cn/support/zw3d