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

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 閱讀(3915) 評(píng)論(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

如今很多工程模型會(huì)轉(zhuǎn)換成3D PDF格式,這樣用戶可以使用免費(fèi)的Adobe Reader去查看模型,減輕用戶軟件授權(quán)費(fèi)用。3D PDF可用于工程設(shè)計(jì)、制造、數(shù)值造型、醫(yī)學(xué)、空間、地理及石油氣的探索,建筑工程和環(huán)境調(diào)查,也可作為CAM、CAE、PLM的數(shù)據(jù)交換文件。還可用于培訓(xùn)、市場(chǎng)、存檔及工程匯報(bào)等。

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

U3D出現(xiàn)的時(shí)間較早,在sourceforge上有個(gè)u3d的庫(kù):

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

可用于將三維模型轉(zhuǎn)換成U3D格式。其中MeshLab就是使用了這個(gè)工具,先將三維網(wǎng)格模型轉(zhuǎn)換成IDTF格式,再調(diào)用IDTFConverter程序?qū)⑵滢D(zhuǎn)換成U3D格式。下載了u3d的源碼看了下,使用還比較復(fù)雜,而且軟件授權(quán)方式是GPL的。

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

發(fā)現(xiàn)這個(gè)庫(kù)使用起來(lái)相對(duì)U3D的要簡(jiǎn)單,且支持NURBS曲線曲面。

三維模型準(zhǔn)備好了,需要將這些模型文件嵌入到PDF中。在網(wǎng)上找了下有個(gè)開(kāi)源庫(kù)libharu還是很不錯(cuò)的。

綜上所述,準(zhǔn)備考慮使用PRC->3D PDF的套路來(lái)實(shí)現(xiàn)將OpenCASCADE中的幾何模型轉(zhuǎn)換成3D PDF文件。

wps_clip_image-22938

2.Code Example

結(jié)合上述思路,下載相應(yīng)的庫(kù)并編譯通過(guò),只需要如下簡(jiǎn)單的代碼就可以將模型嵌入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

通過(guò)將三維模型轉(zhuǎn)換成U3D或PRC格式,就可以嵌入PDF中生成3D PDF。因?yàn)锳dobe Reader的免費(fèi)使用,所以可以減輕用戶軟件授權(quán)費(fèi)用。若三維軟件系統(tǒng)可以生成3D PDF也是一個(gè)功能亮點(diǎn)。

本文詳細(xì)說(shuō)明了如何將幾何模型嵌入3D PDF中,并給出了代碼示例。OpenCASCADE中的NURBS曲線曲面也可以直接轉(zhuǎn)換成PRC格式。雖然PRC中也有BREP體,但是正確轉(zhuǎn)換的前提是需要開(kāi)發(fā)人員對(duì)兩者的BREP有清晰的認(rèn)識(shí),難度較大。一種簡(jiǎn)單的處理方法是將模型全部轉(zhuǎn)換成網(wǎng)格數(shù)據(jù),再轉(zhuǎn)換成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  回復(fù)  更多評(píng)論   

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

# re: OpenCASCADE Data Exchange - 3D PDF  回復(fù)  更多評(píng)論   

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

# re: OpenCASCADE Data Exchange - 3D PDF  回復(fù)  更多評(píng)論   

2016-04-12 08:51 by zhaiht
高手好,發(fā)現(xiàn)下面這兩句造成很多泄露,但是好像沒(méi)辦法消除,如何處理
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>
            国产午夜精品全部视频在线播放| 亚洲一区二区在线| 久久久在线视频| 欧美一级大片在线观看| 亚洲欧美在线aaa| 午夜精品久久久久久久久| 亚洲欧美在线播放| 麻豆av福利av久久av| 蜜臀99久久精品久久久久久软件 | 欧美国产视频日韩| 亚洲成人在线网站| 在线中文字幕日韩| 99精品国产在热久久下载| 一区二区三区四区蜜桃| 性伦欧美刺激片在线观看| 久久av红桃一区二区小说| 久久久久综合网| 欧美噜噜久久久xxx| 欧美久久久久中文字幕| 国产色综合天天综合网| 亚洲黄色影院| 午夜欧美不卡精品aaaaa| 久久久美女艺术照精彩视频福利播放 | 午夜在线精品| 欧美不卡高清| 亚洲制服少妇| 欧美大学生性色视频| 国产乱人伦精品一区二区| 亚洲国产精品专区久久| 性欧美大战久久久久久久久| 欧美护士18xxxxhd| 性做久久久久久久久| 欧美成在线视频| 国产亚洲精品久久飘花| 999亚洲国产精| 免费成人高清| 午夜宅男欧美| 国产精品免费看| 亚洲美女色禁图| 欧美ab在线视频| 欧美在线免费视屏| 国产精品嫩草99av在线| 一本一本久久a久久精品牛牛影视| 久久久久久色| 午夜在线播放视频欧美| 欧美日韩国产综合在线| 亚洲黄一区二区| 美国十次成人| 欧美一区视频| 国产精品网站一区| 亚洲午夜精品久久久久久浪潮| 亚洲国产精品久久久久秋霞不卡| 久久久久欧美| 黄色成人在线观看| 久久亚洲一区| 久久久久久夜| 黄色日韩网站| 老牛影视一区二区三区| 欧美在线啊v一区| 国产一区二区三区在线观看免费| 性18欧美另类| 午夜一区不卡| 一区二区三区在线视频播放| 久久手机免费观看| 久久免费一区| 亚洲精品女人| 99re视频这里只有精品| 欧美视频一区二区三区| 亚洲免费视频中文字幕| 亚洲一级特黄| 国产综合色精品一区二区三区| 久久精品视频播放| 久热精品视频| 99天天综合性| 亚洲午夜一区二区三区| 国产麻豆午夜三级精品| 久久激情婷婷| 免费亚洲电影| 国产精品99久久99久久久二8| 一区二区三区视频免费在线观看| 国产精品狠色婷| 久久久精品一区二区三区| 久久久久中文| 亚洲一区bb| 欧美在线视频a| 亚洲精品美女在线观看播放| 一区二区三区四区五区精品| 国产亚洲欧美日韩美女| 欧美激情第9页| 欧美日韩综合另类| 久久精品国产清高在天天线| 久久夜精品va视频免费观看| 鲁大师影院一区二区三区| 国产一区二区三区四区五区美女| 久久久综合精品| 欧美69wwwcom| 午夜视频在线观看一区二区| 久久欧美中文字幕| 这里只有精品丝袜| 欧美一区二区三区精品| 亚洲精品午夜| 欧美一区二区三区免费在线看| 亚洲欧洲精品一区二区三区| 国产精品久久福利| 欧美在线视频观看免费网站| 美女任你摸久久| 欧美影院成年免费版| 欧美激情国产日韩| 久久久久久成人| 欧美午夜三级| 亚洲国产综合91精品麻豆| 国产精品电影观看| 亚洲电影免费观看高清完整版| 国产精品视频第一区| 亚洲高清资源综合久久精品| 国产夜色精品一区二区av| 亚洲精品国精品久久99热| 国产自产高清不卡| 亚洲视频自拍偷拍| 一本色道久久综合亚洲二区三区 | 欧美a级理论片| 国产乱码精品一区二区三区av| 亚洲人久久久| 91久久精品美女高潮| 欧美在线免费看| 久久www成人_看片免费不卡 | 日韩视频国产视频| 久久久久高清| 久久婷婷国产综合国色天香| 国产精品区免费视频| 99精品福利视频| 亚洲伦理网站| 欧美大胆人体视频| 欧美激情一区二区三级高清视频 | 欧美一级免费视频| 国产精品视频午夜| 亚洲小说欧美另类婷婷| 亚洲欧美999| 国产精品亚洲成人| 在线亚洲一区二区| 午夜精品av| 国产欧美日韩另类视频免费观看| 亚洲一区二区免费| 亚洲欧美日韩在线一区| 国产精品日韩在线播放| 亚洲天堂成人在线视频| 午夜伦理片一区| 国产视频一区在线观看| 欧美一区1区三区3区公司| 久久精品盗摄| 欧美福利电影网| 亚洲国产欧美日韩| aa级大片欧美| 国产精品护士白丝一区av| 夜夜嗨av一区二区三区中文字幕| 亚洲精品久久久久久久久久久| 欧美精品九九99久久| 日韩视频永久免费| 午夜精品一区二区三区电影天堂 | 亚洲视频网站在线观看| 国产精品推荐精品| 久热精品视频在线观看| 亚洲精品乱码久久久久久蜜桃91| 99精品视频免费| 国产麻豆视频精品| 蜜桃伊人久久| 亚洲欧美精品suv| 欧美大片91| 亚洲欧美99| 亚洲国产婷婷香蕉久久久久久99| 欧美精品97| 欧美综合国产| 亚洲三级视频在线观看| 欧美一区二区免费| 最新国产の精品合集bt伙计| 国产精品久久久久av| 久久成人精品视频| 日韩写真视频在线观看| 久久亚洲私人国产精品va媚药 | 国产亚洲精品aa| 欧美a级片网站| 亚洲欧美视频一区| 亚洲国产日韩欧美一区二区三区| 午夜欧美不卡精品aaaaa| 亚洲激情在线播放| 国产一区二区精品久久| 欧美日韩不卡合集视频| 久久www成人_看片免费不卡| 日韩视频一区| 亚洲国产欧美在线| 久久艳片www.17c.com| 亚洲天堂成人在线观看| 亚洲第一天堂av| 国产资源精品在线观看| 一区二区三区四区国产| 国产片一区二区| 欧美午夜精品久久久久久人妖 | 韩国亚洲精品| 国产伦精品一区二区三区高清| 欧美日本韩国一区二区三区|