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

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>
            国产精品性做久久久久久| 欧美mv日韩mv亚洲| 伊人狠狠色丁香综合尤物| 国产麻豆精品视频| 国产精品区免费视频| 日韩小视频在线观看| 欧美日韩国产色综合一二三四| 久久精品夜色噜噜亚洲a∨| 久久蜜臀精品av| 欧美啪啪一区| 国产麻豆91精品| 在线精品国产成人综合| 亚洲毛片一区| 欧美在线综合| 欧美激情一区在线观看| 亚洲美女在线视频| 午夜精品剧场| 欧美成人亚洲成人| 国产精品美女主播| 亚洲第一黄色| 午夜在线精品| 母乳一区在线观看| 一区二区三区回区在观看免费视频| 亚洲男人第一av网站| 久久综合久久综合这里只有精品| 欧美日韩一区二区视频在线观看| 国产性猛交xxxx免费看久久| 亚洲精品日产精品乱码不卡| 欧美在线观看一区| 亚洲欧洲一区二区三区在线观看| 亚洲精品之草原avav久久| 久久se精品一区精品二区| 欧美日韩精品一区| 亚洲韩国日本中文字幕| 久久国产精品久久久| 亚洲精品日韩在线| 久久精品动漫| 国产精品美女久久久久av超清 | 久久av红桃一区二区小说| 一区二区三区四区五区在线| 性做久久久久久久久| 欧美精品aa| 在线观看91精品国产入口| 午夜精品免费在线| 亚洲精品影视| 欧美激情精品久久久久久黑人| 国产亚洲va综合人人澡精品| 亚洲一区二区三区高清| 亚洲国产99精品国自产| 久久久精品国产一区二区三区| 国产精品久久久久久久app| 亚洲精品一区二区三区99| 久久一本综合频道| 香蕉成人久久| 国产区在线观看成人精品| 午夜精品福利电影| 亚洲桃色在线一区| 国产精品久久久久久久久搜平片 | 亚洲欧美另类国产| 欧美伦理影院| 亚洲视频网站在线观看| 久久国产免费| 亚洲国产美国国产综合一区二区| 亚洲欧美日韩国产一区二区| 久久亚洲国产成人| 午夜精品久久久久久久99樱桃| 亚洲欧美成人综合| 国产欧美一区二区三区在线看蜜臀 | 免费欧美日韩| 亚洲一区二区免费视频| 99热在线精品观看| 免费观看30秒视频久久| 黄色成人片子| 每日更新成人在线视频| 久久一日本道色综合久久| 狠狠久久婷婷| 亚洲国产女人aaa毛片在线| 欧美极品在线播放| 亚洲校园激情| 欧美一区二区在线免费播放| 在线观看亚洲a| 亚洲黄色高清| 欧美日韩国产精品一区| 久久狠狠一本精品综合网| 久久久www成人免费毛片麻豆| 亚洲国产一区二区在线| 亚洲图片欧洲图片av| 国语自产偷拍精品视频偷| 欧美国产日韩精品| 国产精品一区二区三区乱码| 狂野欧美一区| 欧美日韩另类综合| 久久―日本道色综合久久| 欧美激情精品久久久六区热门| 亚洲无限av看| 久久久久久久久蜜桃| 一本一本久久| 欧美在线视频一区| 日韩五码在线| 亚洲一区精品在线| 最新国产の精品合集bt伙计| 亚洲一级免费视频| 欧美日韩成人在线观看| 亚洲欧美一区二区精品久久久| 午夜日韩福利| 亚洲精品久久久久久久久久久| 亚洲精品久久久蜜桃| 国产亚洲综合精品| 9i看片成人免费高清| 中文日韩在线| 在线日韩精品视频| 亚洲一区视频在线观看视频| 亚洲精品婷婷| 久久高清福利视频| 亚洲制服丝袜在线| 欧美韩日一区| 久久久久九九九| 国产精品色婷婷| 亚洲狼人综合| 亚洲日本黄色| 久久人人爽爽爽人久久久| 欧美一区二区三区喷汁尤物| 免费亚洲婷婷| 欧美高清视频在线| 精品福利av| 久久国产精品毛片| 久久精品国产亚洲aⅴ| 国产精品高精视频免费| 99精品视频免费观看| 亚洲毛片在线观看.| 免费看亚洲片| 亚洲成色精品| 亚洲国产日韩在线| 麻豆国产va免费精品高清在线| 久久综合久久美利坚合众国| 国产精品色一区二区三区| 欧美专区日韩专区| 亚洲国产小视频| 欧美gay视频激情| 亚洲国产精品999| 亚洲三级影片| 欧美精品一区二区三区很污很色的| 亚洲国产另类精品专区 | 国产精品青草综合久久久久99 | 欧美91大片| 亚洲电影av| 亚洲乱码国产乱码精品精天堂| 六月丁香综合| 亚洲黄页一区| 亚洲桃色在线一区| 国产精品久久久久久模特| 亚洲视频一二| 久久久av毛片精品| 亚洲国产成人久久| 欧美国产高潮xxxx1819| 日韩视频一区二区三区| 亚洲欧美资源在线| 好看的日韩av电影| 免费在线观看精品| 一本久久a久久免费精品不卡| 午夜精品久久久久99热蜜桃导演| 国产一区二区三区网站| 蜜桃av噜噜一区| 一区二区三区四区五区视频| 欧美中文在线视频| 91久久久久久久久| 欧美午夜在线视频| 欧美在线精品免播放器视频| 欧美成人免费播放| 中文av字幕一区| 国产精品igao视频网网址不卡日韩| 亚洲麻豆av| 久久久av毛片精品| 日韩午夜视频在线观看| 国产麻豆精品视频| 欧美人与性动交cc0o| 久久久久国产精品人| 欧美成人自拍| 午夜视频在线观看一区| 红桃视频欧美| 欧美顶级少妇做爰| 欧美一区二区三区喷汁尤物| 亚洲国产老妈| 久久精品国产清自在天天线| 亚洲级视频在线观看免费1级| 国产精品久久久久久五月尺| 免费在线亚洲欧美| 在线一区二区视频| 最新国产成人在线观看| 性高湖久久久久久久久| 亚洲动漫精品| 国产在线欧美| 欧美电影在线观看| 欧美在线高清| 亚洲欧美日韩精品一区二区| 亚洲人成在线观看| 午夜在线精品偷拍| 亚洲视频axxx| 一区二区激情视频| 亚洲精品国产系列|