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

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一区| 国产精品成人在线观看| 国产精品久久久久国产a级| 国产精品多人| 黑人操亚洲美女惩罚| 亚洲激情国产| 亚洲一区中文| 久久久久久久性| 国产一区二区主播在线| 亚洲欧美综合精品久久成人| 午夜精品视频网站| 久久香蕉国产线看观看av| 美女日韩欧美| 国产精品久久久免费| 国内精品久久久久久久影视蜜臀 | 欧美激情中文字幕在线| 欧美三级网址| 亚洲成色www8888| 亚洲一区二区日本| 久久深夜福利免费观看| 亚洲精品久久久久中文字幕欢迎你 | 亚洲精品国产欧美| 亚洲欧美日韩国产综合精品二区| 久久久精品网| 国产模特精品视频久久久久| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲免费成人av| 久久久无码精品亚洲日韩按摩| 亚洲激情视频网| 久久精品人人做人人爽| 欧美四级在线| 亚洲美女免费精品视频在线观看| 欧美中日韩免费视频| 亚洲三级色网| 欧美国产激情二区三区| 伊人男人综合视频网| 小处雏高清一区二区三区| 亚洲激情网站| 欧美不卡视频| 亚洲第一区色| 美女视频黄 久久| 欧美一区二区在线免费播放| 欧美日韩亚洲综合在线| 最新日韩中文字幕| 欧美承认网站| 美脚丝袜一区二区三区在线观看| 国产一区91精品张津瑜| 欧美一区二区高清| 亚洲图片在线观看| 欧美性jizz18性欧美| 99亚洲精品| 亚洲日本免费| 欧美三级视频在线| 亚洲女优在线| 午夜在线电影亚洲一区| 国产日韩欧美在线视频观看| 午夜视黄欧洲亚洲| 亚洲欧美日韩国产综合在线| 国产精品美女主播| 亚洲欧美一区二区原创| 亚洲一区二区高清| 久久久久久夜| 久久影院午夜论| 亚洲国产va精品久久久不卡综合| 久久在线免费观看视频| 久久久www成人免费精品| 国内精品视频在线观看| 美女日韩在线中文字幕| 美女黄网久久| 一区二区三区色| 亚洲专区免费| 伊人久久亚洲热| 亚洲日韩欧美视频一区| 欧美久久电影| 性欧美videos另类喷潮| 欧美一区二区国产| 亚洲大胆人体视频| 日韩视频中文| 国产亚洲观看| 亚洲大胆视频| 国产精品久久久爽爽爽麻豆色哟哟| 欧美一区二区三区四区在线观看地址| 香蕉成人伊视频在线观看| 韩国av一区二区三区四区| 欧美国产日韩精品免费观看| 欧美色欧美亚洲高清在线视频| 午夜精品久久久久久久蜜桃app | 亚洲宅男天堂在线观看无病毒| 国产亚洲欧美日韩美女| 欧美激情精品久久久久久蜜臀 | 在线观看欧美视频| 亚洲美女啪啪| 国产一区清纯| 99精品国产99久久久久久福利| 国产欧美一区二区三区沐欲| 两个人的视频www国产精品| 欧美精品手机在线| 久久久久国产一区二区| 欧美激情精品久久久久久变态| 亚洲欧美日韩一区二区在线| 久久乐国产精品| 亚洲欧美日韩一区| 欧美 日韩 国产在线| 久久国产综合精品| 欧美午夜视频在线| 亚洲国产精品成人综合色在线婷婷| 国产精品美女久久久久久久| 亚洲福利视频一区二区| 国产视频丨精品|在线观看| 日韩视频一区二区三区在线播放免费观看| 国产在线精品自拍| 亚洲嫩草精品久久| 亚洲欧美电影院| 欧美日韩视频免费播放| 欧美 日韩 国产 一区| 国产美女精品视频| 亚洲一区精品电影| 亚洲天堂男人| 欧美日韩久久不卡| 欧美在线黄色| 欧美国产激情二区三区| 国产精品久久午夜| 日韩天堂在线视频| 亚洲啪啪91| 欧美成人黄色小视频| 老司机67194精品线观看| 国产欧美在线| 午夜在线播放视频欧美| 欧美一区二区三区另类 | 久久激情综合网| 久久国产成人| 国产在线精品自拍| 久久精品久久99精品久久| 欧美与欧洲交xxxx免费观看| 国产精品大片wwwwww| 亚洲色图在线视频| 午夜精品福利视频| 国产欧美69| 久久国产精品高清| 麻豆成人精品| 亚洲国产天堂久久综合网| 免费观看日韩av| 亚洲人成人一区二区三区| 99精品欧美一区| 欧美丝袜第一区| 亚洲免费在线观看| 久久久视频精品| 亚洲国产你懂的| 欧美日韩日本视频| 亚洲欧美日韩在线观看a三区| 久久精品国产亚洲一区二区| 一区二区在线不卡| 欧美金8天国| 亚洲欧美日韩一区| 欧美va天堂在线| 在线综合+亚洲+欧美中文字幕| 国产精品美女一区二区| 久久av资源网站| 亚洲全部视频| 欧美伊久线香蕉线新在线| 国内精品免费在线观看| 欧美凹凸一区二区三区视频| 一个色综合av| 女人色偷偷aa久久天堂| 亚洲天堂av综合网| 在线免费观看日本一区| 欧美日韩性生活视频| 久久成人人人人精品欧| 亚洲国产欧美一区二区三区久久| 亚洲一区在线免费| 亚洲国产美女| 国产一区二区av| 欧美日韩一区二区国产| 久久精品国产一区二区三区| 亚洲精品一区中文| 免费永久网站黄欧美| 亚洲欧美韩国| 日韩视频在线一区| 一区视频在线| 国产美女精品免费电影| 欧美激情视频一区二区三区在线播放 | 国产精品视频专区| 欧美成人国产va精品日本一级| 麻豆精品精华液| 欧美亚日韩国产aⅴ精品中极品| 久久国产精品久久国产精品| 日韩视频在线免费观看| 你懂的网址国产 欧美| 欧美一区午夜精品| 亚洲自拍啪啪| 亚洲先锋成人| 日韩一级大片| 亚洲国产你懂的| 亚洲国产精品www| 狠狠久久婷婷| 国内精品久久久久伊人av| 国产精品美女999|