Использование Sketchup 2013 C API для сохранения в формате SketchUp 8

У меня есть код, использующий SketchUp C++ API, который работает с файлами SketchUp 8. Trimble заменил его на C API, а SketchUp 2013 экспортирует файлы, которые может открыть только более новый C API.

Решение состоит в переносе кода на новый C API. Тем не менее, у меня немного времени по другим причинам, поэтому мне было любопытно узнать, было ли уже доступно одно из этих временных решений, то есть если кто-то уже реализовал одно из них:

а) функция в C API, которая сохраняет в формате SketchUp 8. Это позволило бы мне создать небольшой двоичный файл, открывающий файл SKP 2013, сохранить его как SKP 8 и продолжать использовать код C++ без изменений в течение некоторого времени, потому что он читает только файлы SKP 8. Ruby API не поддерживает этот вызов «сохранить как SKP 8».

б) код, который анализирует структуру SKP с помощью более нового C API, а затем воссоздает ее с помощью устаревшего C++ API, возможно, затем сохраняя в формате SketchUp 8. Кто-нибудь реализовал это? Это послужило бы адекватным внешним интерфейсом к существующему коду C++ до тех пор, пока его нельзя будет правильно портировать. Я понимаю, что работа, необходимая для написания этого, в основном связана с работой, необходимой для простого переноса на более новый API, но если кто-то уже реализовал это, это было бы полезно.

Спасибо за любую помощь.


person Jake    schedule 29.05.2013    source источник
comment
Я отправил запрос разработчикам SketchUp. Я отчитаюсь.   -  person thomthom    schedule 31.05.2013


Ответы (1)


Чтобы ответить на часть A: нет, новый API SketchUp не позволит вам выбрать версию SketchUp при сохранении. В настоящее время нет возможности сделать это через API.

Что касается части B, я не знаю никого, кто сделал бы это, хотя это интересная идея. Работа была бы значительной, потому что вам нужно было бы сопоставить все, от API C до API C++, но тогда вы могли бы эффективно преобразовать SU2013 в SU8.

Обязательно ознакомьтесь с документом руководства по миграции в SketchUp 2013 SDK, в котором объясняется, как портировать любые модули импорта и экспорта SU8 без необходимости переноса на C API.

Кроме того, вы должны знать, что недавно мы обновили SDK версией SkpReader, которая действительно будет читать файлы SU2013 SKP. Это может решить вашу проблему для вас.

Удачи,

Павел

person Paul    schedule 30.05.2013
comment
Просто чтобы уточнить, Пол входит в команду SketchUp. ;) Не случайный человек, несмотря на его скрытный никнейм... - person thomthom; 31.05.2013
comment
Большое спасибо! Руководство по миграции очень полезно, и я не знал, что оно там есть. Мы собираемся попробовать эти решения. - person Jake; 04.06.2013