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

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>
            国产一区二区三区免费不卡| 午夜国产精品影院在线观看 | 午夜精品视频一区| 99综合电影在线视频| 欧美精品入口| 亚洲欧美日韩一区二区三区在线| 一区二区三区视频在线| 国产精品自拍小视频| 久久久99国产精品免费| 美腿丝袜亚洲色图| 宅男精品视频| 欧美一区二区高清| 亚洲茄子视频| 亚洲一区黄色| 亚洲欧洲精品成人久久奇米网| 亚洲国产另类 国产精品国产免费| 欧美波霸影院| 欧美一区二区女人| 麻豆国产精品va在线观看不卡 | 国产欧美一区二区三区视频| 久久一区二区三区av| 欧美精品二区三区四区免费看视频| 亚洲视频福利| 久久夜色精品国产欧美乱| 亚洲丝袜av一区| 久久精品99久久香蕉国产色戒| 亚洲日韩欧美视频| 欧美亚洲在线观看| 一本色道久久| 久久夜色精品国产| 久久激情中文| 欧美三区在线观看| 欧美国产日韩亚洲一区| 国产精品免费电影| 91久久极品少妇xxxxⅹ软件| 国产美女精品一区二区三区| 最新日韩av| 亚洲第一久久影院| 欧美在线欧美在线| 午夜精品一区二区三区四区| 欧美成人一品| 老司机成人网| 国产视频在线观看一区| 一区二区三区国产| 亚洲美女精品久久| 久久综合中文色婷婷| 久久精品视频播放| 久久在线91| 你懂的亚洲视频| 国产精品亚发布| 99国产精品久久久久久久久久 | 亚洲免费精彩视频| 久热精品视频| 久久综合色天天久久综合图片| 国产精品亚洲片夜色在线| 日韩视频免费观看高清在线视频 | 欧美午夜精品电影| 亚洲国产精品一区在线观看不卡| 亚洲成人自拍视频| 久久久999精品视频| 久久精品国产亚洲5555| 国产欧美亚洲一区| 欧美在线免费视屏| 久久精品亚洲一区二区三区浴池| 国产免费成人| 香蕉成人啪国产精品视频综合网| 亚洲欧美国产不卡| 国产精品自拍在线| 欧美一区二区日韩| 麻豆精品精品国产自在97香蕉| 国产一区二区三区自拍| 久久久国产91| 亚洲电影有码| 99国产精品久久久久久久| 欧美人在线观看| 国产精品99久久久久久有的能看| 亚洲免费在线观看视频| 国产精品自拍视频| 久久久久九九九九| 亚洲国产日韩在线一区模特| 日韩一区二区精品| 国产精品日韩在线观看| 欧美一进一出视频| 欧美大胆a视频| 一本一本久久a久久精品牛牛影视| 欧美日韩国产高清视频| 99视频精品免费观看| 久久国产88| 亚洲精品美女久久久久| 欧美日韩中文字幕精品| 欧美亚洲三级| 亚洲激情婷婷| 性伦欧美刺激片在线观看| 国内久久精品| 欧美啪啪一区| 久久国产精品第一页| 亚洲国产视频直播| 欧美在线免费播放| 亚洲欧洲日产国产网站| 国产精品免费看| 浪潮色综合久久天堂| 99re66热这里只有精品3直播| 久久精品免费播放| 99国产精品久久久| 好男人免费精品视频| 欧美日韩国产精品自在自线| 亚洲欧美日韩第一区| 亚洲人成在线观看一区二区| 久久福利毛片| 亚洲一区二区成人| 亚洲二区视频| 国产日韩欧美精品在线| 亚洲精品一区二区三区av| 亚洲精选在线观看| 欧美在线影院在线视频| 亚洲黑丝在线| 国内精品久久久久影院 日本资源| 欧美国产亚洲视频| 久久精品一本久久99精品| 日韩一区二区精品| 亚洲国语精品自产拍在线观看| 久久精品中文字幕一区| 亚洲淫片在线视频| 一区二区三区视频免费在线观看| 加勒比av一区二区| 国产视频久久| 国产欧美一区二区精品性| 欧美日韩视频专区在线播放| 免费黄网站欧美| 久久免费视频观看| 久久久久www| 欧美亚洲综合久久| 亚洲欧美日韩电影| 亚洲性视频网址| 亚洲线精品一区二区三区八戒| 亚洲精品国产精品国自产观看 | 亚洲国产成人av| 韩国欧美一区| 国内成+人亚洲| 黄色av成人| 尤物九九久久国产精品的特点| 国产一区二区三区四区老人 | 欧美成年网站| 欧美激情精品久久久久久久变态 | 欧美国产日韩一区二区| 久久琪琪电影院| 免费91麻豆精品国产自产在线观看| 久久久久91| 男女激情视频一区| 欧美福利视频在线| 欧美日韩不卡在线| 欧美性做爰毛片| 国产伦精品一区二区三区免费迷| 国产精品久久毛片a| 国产日韩av高清| 伊人色综合久久天天| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲精品美女在线观看播放| 亚洲免费电影在线| 亚洲专区在线| 久久久久久伊人| 亚洲国产成人在线播放| 一区二区三区**美女毛片| 亚洲一区二区三区四区五区午夜 | 亚洲国产成人91精品| 亚洲精品日本| 亚洲欧美视频在线观看| 久久网站免费| 欧美四级在线观看| 国产在线精品二区| 日韩视频一区二区在线观看 | 欧美ab在线视频| 国产精品久久久久aaaa九色| 国产午夜一区二区三区| 亚洲黄色三级| 欧美在线综合视频| 欧美激情91| 欧美午夜免费电影| 欧美视频日韩视频在线观看| 国产精品一页| 日韩午夜三级在线| 久久精品国产久精国产思思| 欧美高清视频在线观看| 亚洲视频在线观看视频| 久久美女性网| 国产精品久久一区二区三区| 在线看日韩欧美| 欧美亚洲一区| 亚洲精品久久久蜜桃| 欧美在线观看视频一区二区三区| 欧美—级在线免费片| 国产一区二区三区在线观看视频 | 国产精品尤物| 99精品福利视频| 久热精品在线视频| 亚洲一区二区少妇| 欧美日韩国产欧| 亚洲国产日韩一区| 久久精品一区蜜桃臀影院| 中文欧美字幕免费|