使用SketchUp 2013 C API以SketchUp 8格式保存

问题描述 投票:0回答:2

我有使用 SketchUp C++ API 的代码,它适用于 SketchUp 8 文件。 Trimble 已将其替换为 C API,并且 SketchUp 2013 导出的文件只有较新的 C API 才能打开。

解决方案是将代码移植到新的C API。 然而,由于其他原因,我的时间有点紧迫,所以我很好奇是否已经可以使用这些临时解决方案之一,即是否有人已经实施了其中之一:

a) C API 中以 SketchUp 8 格式保存的函数。 这将让我创建一个小的二进制文件,打开 SKP 2013 文件,将其保存为 SKP 8,并继续使用 C++ 代码一段时间,因为它只读取 SKP 8 文件。 ruby API 不支持此“另存为 SKP 8”调用。

b) 使用较新的 C API 解析 SKP 结构的代码,然后使用已弃用的 C++ API 重新创建它,然后可能以 SketchUp 8 格式保存。 有人实施过这个吗? 这将作为现有 C++ 代码的适当前端,直到可以正确移植为止。 我意识到编写此代码所需的工作主要是简单地移植到较新的 API 所需的工作,但如果有人已经实现了此代码,那将很有用。

感谢您的帮助。

api porting sketchup
2个回答
3
投票

回答 A 部分:不可以,新的 SketchUp API 不会让您在保存时选择 SketchUp 版本。目前无法通过 API 执行此操作。

对于 B 部分,我不知道有谁这样做过,尽管这是一个有趣的想法。这项工作非常重要,因为您必须将所有内容从 C API 映射到 C++ API,然后您可以有效地从 SU2013 转换到 SU8。

请务必阅读 SketchUp 2013 SDK 中的迁移指南文档,其中解释了如何移植任何 SU8 导入器和导出器,而无需移植到 C API。

此外,您应该知道的一件事是,我们最近使用 SkpReader 版本更新了 SDK,该版本实际上可以读取 SU2013 SKP 文件。这可能会为您解决您的问题。

祝你好运,

保罗


0
投票

一般信息,在上述初始帖子之后的第二年(2014 年),SketchUp C SDK 添加了一个

SUModelSaveToFileWithVersion()
功能,可以回存到旧版本。

© www.soinside.com 2019 - 2024. All rights reserved.