首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从VisualC++导出U3D/PDF3D

从VisualC++导出U3D/PDF3D
EN

Stack Overflow用户
提问于 2011-01-13 02:45:21
回答 2查看 2.8K关注 0票数 2

有人要求我解决在VisualC++上编写的一个在将绘图导出到PDF3D时发生的CAD应用程序的内存使用问题。

导出特性对于简单模型或仅用于复杂模型的部分具有良好的性能,但对于整个复杂模型则不适用。

我们正在使用U3D sourceforge项目来创建U3D对象;在我们将它插入到PDF之后。有问题的是创建部分的对象。

U3D sourceforge项目是一个构建在C++中供C++使用的库,它自2007年就死了,文档很差,而且它的样本收集还远远不够!在TODO的项目列表中也说明了它有内存问题!

因此,双方要求我解决这一问题:

  1. 对U3D代码进行维护。
  2. 改变了应用程序与U3D库的交互方式。

他们还说,一方更可取,因为它在我们的控制之下。

当我试图解决这个问题时,我得出了两个结论:

  1. I强烈怀疑U3D方法EncodeX是内存误用的罪魁祸首。
  2. ,我尝试了很多小事情的改变,比如它与库的交互方式(改变压缩参数、标志等),每次结果都是内存

所以问题是:继续使用这个库值得吗?它的密码不是joy读的。或者也许为了同样的目的去看其他的笔友也是个好主意?我没有探索它们,但我正在认真地考虑切换到VCGlib或libharu.如果你知道这是件好事的话,请提出别的建议。

其他的选择是:使用Visual PDF3D出口商,它有不可接受的成本,或者开发我自己的U3D导出程序,它会有一个非常有限的U3D功能集的缺点,而且它也无法为预期的截止日期做好准备。所以把这些选择当作是禁止的。

我真的需要帮助来决定什么是最好的。

预先谢谢你,塞尔吉奥

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-26 17:46:31

在经历了一些绝望和睡眠不好的夜晚,试图发现内存泄漏或其他一些记忆问题之后,我们得出了最实际的解决方案:

只提取加载文件所需的代码部分,并将其作为U3D导出到一个小程序中,并使主要的CAD应用程序调用它。尽管它不是最优雅的解决方案,但它确实工作得很好--没有一个进程达到内存使用量,甚至接近2GB的屏障。

我希望我能早点被授权以这样的方式解决问题。我还提出了其他一些建议,比如:

  • 迁移到64位
  • 使用了一个选项,现代的

版本支持将每个进程的内存限制扩展到2GB以上的

这两种解决方案都是不可接受的,因为它需要迫使一些客户重新安装已经在运行的硬件或软件。

票数 1
EN

Stack Overflow用户

发布于 2011-02-16 16:39:37

一些注释: VCGlib -不相关,MeshLab依赖VCGlib作为核心函数,但是对于U3D导出命令行工具来说,从文本格式转换为U3D是使用的,该工具来自sf U3D库。libharu -可以将3D模型嵌入到它的PDF输出中,而不是创建模型(U3D或中华人民共和国文件)。

另一种选择是淘汰其他Adobe3D PDF格式。Acrobat具有伪码形式的格式描述。在此基础上,用渐近工具实现了中华人民共和国的输出。在sourceforge上找到它,如果您有兴趣的话,可以在Asymptote论坛上提问。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4676303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档