青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

PipeCAD - Plant Piping Design Software.
PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.
posts - 606, comments - 590, trackbacks - 0, articles - 0

OpenCASCADE Data Exchange - 3D PDF

Posted on 2016-03-24 23:16 eryar 閱讀(3957) 評論(3)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

OpenCASCADE Data Exchange - 3D PDF

eryar@163.com

Abstract. Today most 3D engineering model data are save to 3D PDF files. Universal 3D(U3D) along side Product Representation Compact(PRC), U3D is the historical foundation used to embed 3D interactive data and models into a PDF file. But PRC is now the preferred and most feature-rich method to embed 3D data into a PDF file. So the paper is focus on to translate OpenCASCADE geometry data to 3D PDF by embedding PRC file.

Key Words. PDF 3D, OpenCASCADE, U3D, PRC, libharu


1.Introduction

如今很多工程模型會轉換成3D PDF格式,這樣用戶可以使用免費的Adobe Reader去查看模型,減輕用戶軟件授權費用。3D PDF可用于工程設計、制造、數值造型、醫學、空間、地理及石油氣的探索,建筑工程和環境調查,也可作為CAM、CAE、PLM的數據交換文件。還可用于培訓、市場、存檔及工程匯報等。

那么問題來了,如何將三維模型導入PDF文件呢?Adobe提供了嵌入兩種文件格式U3D(Universal 3D)和PRC(Product Representation Compact)的方式來將三維模型導入PDF中。

U3D出現的時間較早,在sourceforge上有個u3d的庫:

https://sourceforge.net/projects/u3d/

可用于將三維模型轉換成U3D格式。其中MeshLab就是使用了這個工具,先將三維網格模型轉換成IDTF格式,再調用IDTFConverter程序將其轉換成U3D格式。下載了u3d的源碼看了下,使用還比較復雜,而且軟件授權方式是GPL的。

PRC是出現的比U3D要晚,所以PRC支持的幾何形狀比U3D要多,包括支持NURBS曲線曲面,還支持復雜的組合體。在網上找了下實現PRC文件讀寫的源碼存在于一款數學軟件Asymptote中,https://sourceforge.net/projects/asymptote

發現這個庫使用起來相對U3D的要簡單,且支持NURBS曲線曲面。

三維模型準備好了,需要將這些模型文件嵌入到PDF中。在網上找了下有個開源庫libharu還是很不錯的。

綜上所述,準備考慮使用PRC->3D PDF的套路來實現將OpenCASCADE中的幾何模型轉換成3D PDF文件。

wps_clip_image-22938

2.Code Example

結合上述思路,下載相應的庫并編譯通過,只需要如下簡單的代碼就可以將模型嵌入PDF中了,代碼如下:

 

/*
*    Copyright (c) 2016 Shing Liu All Rights Reserved.
*
*           File : main.cpp
*         Author : Shing Liu(eryar@163.com)
*           Date : 2016-03-24 21:00
*        Version : OpenCASCADE6.9.0
*
*    Description : test embed 3d model into 3d pdf.
*/

#include
"oPrcFile.h"

#include
"hpdf.h"

#pragma comment(lib,
"libprc.lib")
#pragma comment(lib,
"libhpdfd.lib")

void testPrc(void)
{
    prc::oPRCFile aPrcFile(
"test.prc");

    prc::PRCmaterial materialGreen(
        prc::RGBAColour(
0.0,0.18,0.0),
        prc::RGBAColour(
0.0,0.878431,0.0),
        prc::RGBAColour(
0.0,0.32,0.0),
        prc::RGBAColour(
0.0,0.072,0.0),
       
1.0,0.1);

   
// Sphere
    aPrcFile.begingroup("Sphere");
    aPrcFile.addSphere(
1.0, materialGreen);
    aPrcFile.endgroup();

    aPrcFile.addCylinder(
0.8, 6.0, materialGreen);

    aPrcFile.finish();

   
// embed prc file to pdf.
    HPDF_Doc aPdfDoc = HPDF_New (NULL, NULL);
   
if (!aPdfDoc)
    {
        printf(
"error: cannot create PdfDoc object");
       
return;
    }

    HPDF_Rect aRect
= {0, 0, 800, 800};
    HPDF_Page aPage
= HPDF_AddPage(aPdfDoc);
    HPDF_Page_SetWidth(aPage, aRect.right);
    HPDF_Page_SetHeight(aPage,aRect.top);

    HPDF_U3D aU3D
= HPDF_LoadU3DFromFile(aPdfDoc, "test.prc");
    HPDF_Annotation aAnnot
= HPDF_Page_Create3DAnnot(aPage, aRect, HPDF_TRUE, HPDF_FALSE, aU3D, NULL);

    HPDF_SaveToFile(aPdfDoc,
"test.pdf");

    HPDF_Free(aPdfDoc);
}

int main(int argc, char* argv[])
{
    testPrc();

   
return 0;
}

生成的test.pdf如下圖所示:

wps_clip_image-20731 

Download 3D PDF test.pdf


3.Conclusion

通過將三維模型轉換成U3D或PRC格式,就可以嵌入PDF中生成3D PDF。因為Adobe Reader的免費使用,所以可以減輕用戶軟件授權費用。若三維軟件系統可以生成3D PDF也是一個功能亮點。

本文詳細說明了如何將幾何模型嵌入3D PDF中,并給出了代碼示例。OpenCASCADE中的NURBS曲線曲面也可以直接轉換成PRC格式。雖然PRC中也有BREP體,但是正確轉換的前提是需要開發人員對兩者的BREP有清晰的認識,難度較大。一種簡單的處理方法是將模型全部轉換成網格數據,再轉換成PRC。

4.References

1. http://www.pdf3d.com/understanding-how-pdfe-u3d-and-prc-are-related-to-3d-pdf/

2. http://www.pdf3d.com/about-prc/

3. http://www.pdf3d.com/u3d/

Feedback

# re: OpenCASCADE Data Exchange - 3D PDF  回復  更多評論   

2016-04-11 21:17 by zhaiht
高手:Opencascade有大量的內存泄露怎么處理

# re: OpenCASCADE Data Exchange - 3D PDF  回復  更多評論   

2016-04-11 21:18 by eryar
@zhaiht
這要自己debug處理了

# re: OpenCASCADE Data Exchange - 3D PDF  回復  更多評論   

2016-04-12 08:51 by zhaiht
高手好,發現下面這兩句造成很多泄露,但是好像沒辦法消除,如何處理
IMPLEMENT_STANDARD_HANDLE
IMPLEMENT_STANDARD_RTTIEXT
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品久久久久久久久久久久| 亚洲国产精品专区久久| 亚洲伦伦在线| 一区二区三区在线免费播放| 亚洲欧美精品中文字幕在线| 久久国产精品色婷婷| 国内精品久久久久久久果冻传媒| 午夜免费电影一区在线观看 | 国产精品第一页第二页第三页| 亚洲美女av网站| 亚洲欧美日韩综合一区| 国产日韩一区二区| 老司机成人网| 亚洲精品日韩欧美| 欧美中文字幕在线| 亚洲欧洲在线播放| 欧美日韩一区免费| 午夜精品在线| 亚洲国产高清一区| 一区二区三区国产盗摄| 国产欧美高清| 欧美成人精品不卡视频在线观看| 欧美.com| 亚洲在线第一页| 韩国v欧美v日本v亚洲v| 欧美高清成人| 亚洲综合精品一区二区| 欧美成人久久| 亚洲图片自拍偷拍| 国产在线一区二区三区四区| 欧美高清在线观看| 午夜亚洲视频| 亚洲日本一区二区三区| 欧美一区亚洲一区| 日韩午夜激情电影| 国产欧美日韩一区二区三区| 欧美高清视频www夜色资源网| 亚洲一区亚洲二区| 亚洲人成亚洲人成在线观看 | 欧美一级在线视频| 亚洲国产精品一区二区www在线| 欧美日韩免费观看一区二区三区| 欧美在线看片| 一区二区久久久久| 欧美激情影院| 久久久久亚洲综合| 亚洲一区二区综合| 亚洲成色777777女色窝| 国产女主播一区| 欧美激情亚洲视频| 亚洲无限av看| 亚洲精品国产精品久久清纯直播| 久热这里只精品99re8久| 亚洲影视九九影院在线观看| 亚洲日本理论电影| 亚洲第一精品夜夜躁人人躁| 国产乱肥老妇国产一区二| 国产精品日韩在线| 欧美精品大片| 美日韩精品视频| 久久国产一区二区三区| 亚洲欧美日韩中文播放| 中文在线一区| 亚洲精品国产品国语在线app | 亚洲国产精品www| 久久美女艺术照精彩视频福利播放| 制服丝袜激情欧洲亚洲| 亚洲激情视频网| 影音先锋成人资源站| 狠狠干成人综合网| 国产在线欧美日韩| 国产专区欧美专区| 国产一区二区三区四区| 国产欧美韩日| 国产日本欧洲亚洲| 国产午夜精品全部视频在线播放 | 亚洲毛片视频| 国产在线精品一区二区中文| 国产日韩精品一区观看 | 国产午夜精品久久久久久免费视| 国产精品性做久久久久久| 欧美日本三区| 欧美日韩国产首页在线观看| 欧美福利一区二区三区| 欧美美女福利视频| 欧美日韩亚洲视频| 国产精品久久一卡二卡| 国产精品亚洲美女av网站| 国产精品毛片a∨一区二区三区|国 | 亚洲高清免费| 亚洲激情在线观看视频免费| 亚洲人成人一区二区三区| 日韩图片一区| 亚洲一区二区欧美| 欧美在线视频一区二区三区| 久久人体大胆视频| 欧美激情在线播放| 日韩亚洲在线| 亚洲综合成人婷婷小说| 欧美在线免费一级片| 久久亚洲综合色一区二区三区| 免费视频亚洲| 欧美美女喷水视频| 国产日产精品一区二区三区四区的观看方式 | 亚洲欧美制服另类日韩| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲最新视频在线播放| 亚洲午夜av电影| 香蕉视频成人在线观看| 免费国产一区二区| 国产精品嫩草99a| 原创国产精品91| 中文日韩在线| 久久亚洲私人国产精品va| 亚洲人久久久| 在线日韩中文字幕| 欧美视频一区在线观看| 国产私拍一区| 99在线|亚洲一区二区| 久久精品在线观看| 亚洲精品少妇30p| 欧美一区二区成人| 欧美日韩国产区一| 在线成人av网站| 亚洲视频在线播放| 久久视频一区| 亚洲视频精选| 久久福利电影| 欧美午夜精品一区二区三区| 在线观看福利一区| 亚洲午夜性刺激影院| 欧美国产在线电影| 欧美影院一区| 欧美日韩hd| 亚洲丰满少妇videoshd| 欧美在线亚洲综合一区| 亚洲国产三级在线| 久久精品国产精品亚洲综合| 国产精品夫妻自拍| 日韩视频亚洲视频| 欧美大片一区二区| 欧美一级视频精品观看| 国产精品久久久爽爽爽麻豆色哟哟 | 久久爱www久久做| 夜夜嗨av一区二区三区网站四季av| 久久精品国产欧美激情| 国产女人水真多18毛片18精品视频| 一本久久综合| 嫩草成人www欧美| 欧美在线视频免费播放| 亚洲裸体视频| 欧美电影免费观看高清完整版| 亚洲男女自偷自拍| 欧美视频一区在线观看| 亚洲黄一区二区三区| 久久亚洲欧美国产精品乐播| 欧美中文在线字幕| 国产午夜精品一区理论片飘花| 午夜精品久久久久久久99樱桃| 日韩天天综合| 欧美日韩免费一区| 一区二区激情视频| 亚洲精品影视在线观看| 欧美va亚洲va日韩∨a综合色| 亚洲高清视频在线观看| 欧美~级网站不卡| 久久高清免费观看| 悠悠资源网亚洲青| 久久精品九九| 亚洲欧美卡通另类91av| 国产欧美在线| 久久久999| 久久久天天操| 亚洲国产精品久久久久婷婷老年| 久久日韩精品| 欧美在线亚洲一区| 国产一区日韩欧美| 每日更新成人在线视频| 久久久www成人免费毛片麻豆| 狠狠色狠狠色综合系列| 久热精品视频在线观看| 久久精品观看| 伊人成人在线视频| 欧美成人首页| 欧美大片第1页| 中文一区在线| 亚洲欧美www| 在线播放日韩专区| 亚洲激情欧美| 欧美—级a级欧美特级ar全黄| 91久久精品美女高潮| 欧美国产日产韩国视频| 性伦欧美刺激片在线观看| 亚洲午夜一二三区视频| 羞羞漫画18久久大片| 亚洲电影av在线| 亚洲毛片av在线| 国产精品久久久久久久一区探花| 欧美一区二区三区久久精品| 久久久久久久尹人综合网亚洲 |