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

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 閱讀(3936) 評論(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>
            国产精品私拍pans大尺度在线| 蜜臀av一级做a爰片久久| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲综合三区| 欧美人交a欧美精品| 韩国av一区二区三区在线观看| 亚洲专区国产精品| 99精品视频免费观看视频| 欧美成人69av| 日韩午夜黄色| 91久久久国产精品| 老司机午夜精品视频| 蜜乳av另类精品一区二区| 狠狠色狠狠色综合日日小说 | 亚洲一区二区在线观看视频| 欧美理论电影在线播放| 日韩视频中文字幕| 亚洲伦理一区| 国产精品国产三级国产aⅴ9色| 亚洲性视频h| 在线中文字幕一区| 国产欧美短视频| 久久免费视频这里只有精品| 久久成人久久爱| 亚洲高清激情| 亚洲三级免费观看| 欧美婷婷六月丁香综合色| 亚洲欧美国产va在线影院| 亚洲制服少妇| 亚洲第一天堂av| 亚洲精品欧美日韩| 国产精品你懂的在线| 久久久精品国产免大香伊| 麻豆精品传媒视频| 亚洲一级网站| 亚洲在线中文字幕| 久久久噜噜噜久久人人看| 久久精品视频免费播放| 亚洲人成精品久久久久| 一本色道久久综合| 国内精品久久久久久久影视蜜臀| 欧美成人午夜免费视在线看片| 欧美精品激情blacked18| 亚洲午夜精品一区二区三区他趣| 亚洲欧美国产精品va在线观看| 国语自产偷拍精品视频偷 | 亚洲欧美日韩精品一区二区| 乱中年女人伦av一区二区| 亚洲激情在线观看| 欧美一区二区日韩一区二区| 亚洲韩国青草视频| 国产精品家教| 久久久久久久久岛国免费| 狼狼综合久久久久综合网| 欧美婷婷久久| 欧美一区二区三区精品电影| 亚洲日本精品国产第一区| 亚洲欧美日韩精品综合在线观看| 国产精品va在线播放| 男女av一区三区二区色多| 91久久精品美女| 午夜精品一区二区在线观看| 久久国内精品自在自线400部| 国产精品亚洲综合色区韩国| 午夜久久99| 久久成人免费网| 久久久噜噜噜久久人人看| 免费日韩av片| 久久成人免费日本黄色| 亚洲精选一区| 久久久一区二区| 亚洲一区二区三区四区在线观看| 久久久久久久欧美精品| 亚洲一区二区久久| 欧美不卡激情三级在线观看| 久久久久久高潮国产精品视| 国产精品久久久999| 亚洲日本无吗高清不卡| 精品51国产黑色丝袜高跟鞋| 亚洲欧美国产日韩天堂区| 欧美成人午夜免费视在线看片| 美女精品自拍一二三四| 亚洲国产婷婷综合在线精品| 国产精品久久久久影院色老大 | 亚洲精品国精品久久99热| 亚洲午夜极品| 亚洲激情成人网| 欧美一区二区三区四区在线| 亚洲视频一区二区免费在线观看| 久久久久久亚洲精品杨幂换脸 | 亚洲精品1区| 久久躁狠狠躁夜夜爽| 久久综合伊人77777| 国产一区二区三区在线免费观看 | 久久久久国产精品www| 国产精品久久久久永久免费观看| 99国产精品国产精品毛片| 一本综合精品| 欧美日本精品在线| 99一区二区| 校园激情久久| 国产欧美婷婷中文| 欧美伊久线香蕉线新在线| 久久乐国产精品| 狠狠88综合久久久久综合网| 久久精品欧美日韩精品| 男人的天堂亚洲| 亚洲精品在线免费| 欧美日韩国产精品成人| 亚洲视频在线一区| 久久9热精品视频| 激情久久婷婷| 欧美精品久久99久久在免费线| 欧美激情视频免费观看| 亚洲精品看片| 欧美va亚洲va国产综合| 欧美国产日韩二区| 在线观看精品视频| 蜜桃av一区| 亚洲天堂成人在线观看| 久久久久久9999| 亚洲三级免费观看| 国产精品免费一区豆花| 亚洲免费视频观看| 久久久噜久噜久久综合| 亚洲日本理论电影| 国产精品一区二区在线观看| 久久亚洲国产精品日日av夜夜| 美国十次了思思久久精品导航| 99re8这里有精品热视频免费 | 一区二区三区在线不卡| 欧美一区二区在线看| 美女日韩欧美| 亚洲欧美日本国产有色| 欧美日本免费| 9色精品在线| 美女精品一区| 久久久久国产精品厨房| 国产亚洲在线观看| 欧美一区91| 欧美一级成年大片在线观看| 中文一区二区| 久久综合婷婷| 中文成人激情娱乐网| 好吊色欧美一区二区三区四区| 欧美另类在线播放| 久久―日本道色综合久久| 中文精品一区二区三区| 欧美国产日韩一区二区| 久久国产乱子精品免费女| 亚洲综合99| 亚洲欧美日韩国产一区| 国产在线精品二区| 欧美日韩在线一区| 久久亚洲美女| 在线观看视频一区二区欧美日韩 | 久久久久亚洲综合| 宅男在线国产精品| 亚洲激情欧美| 欧美一区深夜视频| 亚洲视频网站在线观看| 亚洲国产精品高清久久久| 国产视频观看一区| 国产精品久久久久久久久搜平片| 欧美wwwwww| 久久久久久综合网天天| 午夜精品在线看| 午夜精品一区二区三区在线| 一区二区三区四区国产精品| 亚洲人午夜精品| 亚洲激情电影中文字幕| 欧美成人蜜桃| 免费观看成人鲁鲁鲁鲁鲁视频| 久久久久久亚洲综合影院红桃| 香蕉久久夜色精品国产| 亚洲一区二区三区成人在线视频精品 | 亚洲免费观看高清在线观看| 亚洲第一天堂无码专区| 久久久精品午夜少妇| 久久久999精品免费| 久久九九电影| 久久一二三四| 另类av一区二区| 香港久久久电影| 西西裸体人体做爰大胆久久久| 亚洲欧美另类在线观看| 香蕉成人伊视频在线观看| 欧美一级欧美一级在线播放| 欧美亚洲综合久久| 久久本道综合色狠狠五月| 亚洲欧美日韩成人| 乱人伦精品视频在线观看| 国产精品揄拍500视频| 欧美激情精品久久久久久免费印度 | 合欧美一区二区三区| 国产一区二区精品久久99| 国产主播一区二区三区| 亚洲高清视频的网址| 一本色道久久综合亚洲精品不| 在线午夜精品|