0

我有使用 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 所需的工作,但如果有人已经实现了这个,那将是有用的。

谢谢你的帮助。

4

1 回答 1

3

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

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

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

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

祝你好运,

保罗

于 2013-05-30T21:43:11.900 回答