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

eryar

PipeCAD - Plant Piping Design Software.
RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
posts - 603, comments - 590, trackbacks - 0, articles - 0

OpenCASCADE Data Exchange - 3D PDF

Posted on 2016-03-24 23:16 eryar 閱讀(3917) 評論(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在线| 久久男女视频| 欧美午夜激情视频| 韩国一区二区三区美女美女秀| 亚洲国产精品99久久久久久久久| 一区二区三区四区国产| 久久免费偷拍视频| 中日韩美女免费视频网址在线观看| 欧美一进一出视频| 欧美日韩在线一二三| 欧美在线日韩| 欧美制服丝袜第一页| 久久一日本道色综合久久| 欧美三级欧美一级| 在线观看视频一区二区| 亚洲专区一区二区三区| 欧美大片一区二区三区| 亚洲嫩草精品久久| 欧美调教vk| 亚洲精品中文字幕在线| 久久久久国产精品一区| 这里只有精品电影| 欧美极品影院| 在线电影院国产精品| 亚洲欧美日本视频在线观看| 亚洲国产影院| 久久亚洲国产成人| 国产亚洲一区在线播放| 午夜在线精品偷拍| 一区二区三区产品免费精品久久75 | 午夜精品视频在线| 欧美午夜电影在线| 一区二区三区国产精品| 欧美激情精品| 美女免费视频一区| 亚洲国产精品免费| 欧美aaa级| 久久青草久久| 亚洲国产精品国自产拍av秋霞| 久久av二区| 欧美一区二区三区男人的天堂| 国产精品久久婷婷六月丁香| 亚洲图片欧洲图片日韩av| 亚洲欧洲一区二区天堂久久| 免费成人av| avtt综合网| 一本到12不卡视频在线dvd| 欧美精选一区| 一区二区三区国产在线| 一区二区三区久久网| 欧美视频网址| 香蕉免费一区二区三区在线观看| 一区二区三区.www| 国产精品视频免费| 久久久久久久久一区二区| 久久欧美中文字幕| 日韩一区二区电影网| 正在播放欧美视频| 国产日韩在线一区二区三区| 久久综合五月| 欧美日韩精品免费看| 亚洲欧美在线观看| 久久精品一区二区三区中文字幕| 尤物精品在线| 亚洲人成在线播放| 国产女主播一区二区| 久久嫩草精品久久久久| 欧美激情第10页| 香蕉视频成人在线观看| 欧美激情一区二区三级高清视频| 欧美日韩亚洲一区三区| 欧美一级片一区| 久久久久国产精品麻豆ai换脸| 亚洲精品1区2区| 亚洲色在线视频| 韩国一区电影| 日韩一区二区高清| 国产日韩欧美中文| 亚洲国产精品一区制服丝袜| 国产精品成人播放| 免费高清在线视频一区·| 欧美日本韩国| 欧美mv日韩mv国产网站| 欧美性色aⅴ视频一区日韩精品| 久久久久久黄| 欧美日韩中文字幕日韩欧美| 久热综合在线亚洲精品| 国产精品久久久久天堂| 亚洲国产精品成人va在线观看| 国产精品一区在线观看| 欧美激情综合色| 国内成人自拍视频| 一区二区不卡在线视频 午夜欧美不卡在| 国产一区导航| 在线视频一区观看| 99re66热这里只有精品4| 久久精品欧美日韩精品| 欧美一区二区三区在| 欧美日韩另类视频| 亚洲黄色毛片| 91久久黄色| 久久一区欧美| 麻豆乱码国产一区二区三区| 欧美日韩综合另类| 亚洲国产另类久久精品| 在线观看一区视频| 久久久久成人精品免费播放动漫| 亚洲欧美日韩区| 欧美三区在线| 亚洲剧情一区二区| 亚洲伦伦在线| 麻豆精品精华液| 牛人盗摄一区二区三区视频| 国产网站欧美日韩免费精品在线观看 | 亚洲天堂免费观看| 欧美高清免费| 另类酷文…触手系列精品集v1小说| 久久久噜噜噜| 在线国产精品一区| 欧美日韩精品一区| 国产精品视频yy9299一区| 美国十次了思思久久精品导航| 国产美女精品视频| 亚洲免费高清视频| 亚洲自拍偷拍视频| 国产伦精品一区二区三区免费 | 在线观看视频一区二区欧美日韩| 亚洲欧美国产77777| 欧美一区二区久久久| 国产精品一卡二卡| 久久爱91午夜羞羞| 免费观看一级特黄欧美大片| 亚洲高清电影| 欧美精品久久99| 正在播放欧美视频| 久久久久国产一区二区三区| 黑丝一区二区| 欧美精品久久久久久久免费观看| 日韩性生活视频| 欧美影院一区| 亚洲电影免费观看高清| 欧美精品一区二区三区一线天视频| 亚洲欧洲精品一区二区三区不卡| 一本色道久久88综合亚洲精品ⅰ| 国产精品九九| 久久免费精品视频| 亚洲美女视频在线观看| 久久福利资源站| 亚洲精品久久久久| 国产精品一区二区三区久久久 | 美女啪啪无遮挡免费久久网站| 亚洲国产日韩在线| 国产精品高潮久久| 久久综合给合久久狠狠狠97色69| 欧美国产日韩在线| 亚洲欧美日本精品| 亚洲激情偷拍| 国产精品一级在线| 欧美日本在线播放| 午夜精品一区二区三区电影天堂 | 亚洲一区日本| 久久影院午夜论| 亚洲天堂av图片| 狠狠色狠狠色综合| 欧美日韩国产va另类| 久久成人在线| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 国内精品久久久久久| 欧美精品1区2区| 欧美在线亚洲在线| 亚洲婷婷综合色高清在线| 美女脱光内衣内裤视频久久网站| 亚洲午夜精品久久| 亚洲精品看片| 在线欧美日韩国产| 国产亚洲午夜| 国产精品伦一区| 欧美精品三级| 免费久久99精品国产| 久久精品九九| 久久国产直播| 久久国产黑丝| 欧美在线观看一区二区三区| 午夜精品福利在线|