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

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>
            欧美日韩午夜在线| 一区二区不卡在线视频 午夜欧美不卡在| 一本色道久久综合亚洲精品按摩 | 国产伦精品一区二区三区四区免费 | 在线免费观看视频一区| 久久婷婷色综合| 久久一二三四| 亚洲日本在线观看| 亚洲精品网站在线播放gif| 欧美日韩午夜精品| 久久成人这里只有精品| 久久精品视频免费| 亚洲精品在线二区| 亚洲一区二区在线看| 激情久久久久久| 亚洲第一级黄色片| 欧美午夜久久| 你懂的国产精品| 亚洲精品欧美精品| 欧美成人一区在线| 欧美视频免费在线| 久久久综合免费视频| 欧美sm极限捆绑bd| 亚洲一区二区动漫| 久久久久久穴| 亚洲一区中文字幕在线观看| 欧美在线观看视频一区二区三区| 亚洲国产一区二区三区高清| 一区二区三区福利| 亚洲第一狼人社区| 亚洲一区二区精品| 亚洲国产视频直播| 亚洲欧美日韩国产另类专区| 亚洲精品1区| 午夜在线成人av| 亚洲小说欧美另类社区| 久久精品视频亚洲| 欧美一区成人| 欧美连裤袜在线视频| 久久人人爽人人爽爽久久| 国产精品igao视频网网址不卡日韩| 欧美成人激情视频免费观看| 国产麻豆精品久久一二三| 亚洲第一主播视频| 黄色小说综合网站| 亚洲免费在线视频| 亚洲午夜久久久久久尤物| 久久综合狠狠综合久久综合88| 欧美在线精品免播放器视频| 欧美日韩美女| 亚洲国产aⅴ天堂久久| 精品1区2区3区4区| 欧美中文在线免费| 欧美专区亚洲专区| 国产精品日韩电影| 一区二区三区毛片| 亚洲砖区区免费| 欧美午夜精彩| 日韩一区二区电影网| 亚洲精品中文字幕在线| 免费精品99久久国产综合精品| 久久亚洲捆绑美女| 激情亚洲网站| 久久精品视频免费| 欧美福利在线| 亚洲精品日韩在线观看| 免费欧美视频| 亚洲欧洲在线播放| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲一区二区三区成人在线视频精品| 99国内精品久久久久久久软件| 欧美成人资源| 日韩午夜高潮| 亚洲欧洲99久久| 国产精品一区二区视频| 亚洲欧美日韩国产综合在线| 欧美在线视频免费| 国内一区二区在线视频观看| 久久久久久亚洲精品中文字幕| 欧美成人自拍| 国产亚洲毛片| 久久精品在线播放| 欧美成人有码| 在线亚洲高清视频| 国产精品午夜春色av| 性感少妇一区| 欧美国产日韩一区二区在线观看| 亚洲精品欧美日韩专区| 欧美日产一区二区三区在线观看| 一区二区三区四区五区精品| 久久国产88| 亚洲精品影视在线观看| 国产精品免费在线| 久久国产精品亚洲va麻豆| 欧美激情一区在线观看| 亚洲影视九九影院在线观看| 国产亚洲精品资源在线26u| 欧美r片在线| 亚洲欧美日韩一区二区在线 | 欧美日韩视频一区二区三区| 欧美一区二区黄色| 亚洲高清自拍| 久久精品国产精品亚洲| 最近看过的日韩成人| 国产精品羞羞答答| 欧美α欧美αv大片| 亚洲伊人一本大道中文字幕| 欧美高清在线观看| 欧美在线一二三四区| 日韩视频三区| 曰本成人黄色| 国产欧美精品xxxx另类| 欧美激情一区二区三区全黄 | 香蕉久久夜色精品国产使用方法| 亚洲国产成人午夜在线一区| 久久久久久久久一区二区| 中国成人黄色视屏| 亚洲精品色婷婷福利天堂| 国产一区二区三区日韩| 国产精品高潮粉嫩av| 欧美a级片网站| 久久精品成人一区二区三区蜜臀| 99精品视频免费在线观看| 欧美激情一区二区三区蜜桃视频| 久久人人爽人人爽| 欧美在线播放| 午夜精彩国产免费不卡不顿大片| 日韩一二在线观看| 亚洲精品国精品久久99热| 极品av少妇一区二区| 国产视频欧美视频| 国产精品人人爽人人做我的可爱| 欧美日韩国产综合网| 欧美国产日本| 欧美成人免费小视频| 久久综合狠狠| 免费日韩一区二区| 免费91麻豆精品国产自产在线观看 | 亚洲网站视频福利| 日韩亚洲欧美成人一区| 亚洲精品久久久久久下一站| 亚洲电影在线| 亚洲国产日韩在线| 亚洲国产日本| 亚洲精品综合久久中文字幕| 亚洲黄色片网站| 亚洲卡通欧美制服中文| 久久久久一区二区三区| 亚洲成人资源| 亚洲经典自拍| 亚洲精品无人区| 9久草视频在线视频精品| 一区二区日韩| 亚洲欧美精品suv| 久久国产精品99精品国产| 久久精品视频va| 美女主播视频一区| 欧美另类亚洲| 国产精品白丝av嫩草影院| 国产日韩欧美在线| 狠狠色狠色综合曰曰| 亚洲国产一区二区三区在线播 | 久久精品中文字幕一区| 久久视频国产精品免费视频在线 | 一区二区高清在线观看| 亚洲欧美美女| 久久一区二区三区国产精品 | 久久精品一区二区三区中文字幕 | 国产麻豆日韩欧美久久| 在线观看日韩| 国产精品99久久久久久宅男 | 男人的天堂成人在线| 亚洲人www| 欧美亚洲视频在线观看| 免费看黄裸体一级大秀欧美| 欧美日韩另类丝袜其他| 国产综合久久| 亚洲视频在线视频| 久久久久久亚洲精品杨幂换脸| 欧美风情在线| 亚洲欧美日韩国产综合精品二区| 久久亚洲免费| 国产精品日韩电影| 日韩特黄影片| 久久久久久综合| 一本大道久久精品懂色aⅴ| 久久精品国产一区二区电影| 欧美日本精品| 影音先锋欧美精品| 亚洲欧美色一区| 亚洲经典一区| 久久亚洲精品网站| 国产欧美日韩视频一区二区三区| 亚洲精品中文字幕在线观看| 久久成人免费| 一区二区三区高清在线观看| 麻豆成人综合网| 国产在线观看精品一区二区三区| 99在线精品免费视频九九视| 久久精品青青大伊人av|