• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Не сохраняются размеры при сохранении чертежа в формате STEP (AP214)

Автор Denis78, 06.12.22, 10:16:06

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Denis78

Компас умеет сохранять размеры в STEP формате (начиная с AP 214, погуглено, проверено).
В этом можно убедиться, если выбрать пункт меню "Сохранить как", тип файла установить "STEP AP214", нажать кнопку "Сохранить с параметрами", поставить галочку рядом с пунктом "Размеры". Полученный STEP-файл можно открыть в текстовом редакторе и пройдя поиском по слову "Dimension", убедиться, что размеры в файле сохранились.
То есть, компас сохранять размеры умеет (в версиях СТЕП 214 и позднее)

Как это сделать в коде?
Я написал такой:

bool res = _ksDoc->Open((LPCTSTR)file.c_str(), 0);
ksAdditionFormatParamPtr fp = _ksDoc->AdditionFormatParam();
fp->Init();
fp->SetObjectsOptions(ksD3CODimensions, VARIANT_TRUE);           // Размеры "включены"!!!
fp->format = format_STEP_AP214;
res = _ksDoc->SaveAsToAdditionFormat(outName.c_str(), fp);

То есть, открываем файл, формируем параметр формата выходного файла и сохраняем его как STEP_AP214
Однако, в этом случае, размеры не сохраняются, в отличие от сохранения вручную (о котором я написал выше).

Что не хватает в коде, чтобы он сохранял размеры?


P.S. Версия Компаса 18.1

dimak222

Не уверен как на C++ (писал только в Python), но в Python удалось создать размер и повторить Ваши "симптомы". Размеры создаёт только тогда, когда параметр чтения/записи идёт после указания расширение в которое сохраняешь.

Попробуйте:
bool res = _ksDoc->Open((LPCTSTR)file.c_str(), 0);
ksAdditionFormatParamPtr fp = _ksDoc->AdditionFormatParam();
fp->Init();
fp->format = format_STEP_AP214;
fp->SetObjectsOptions(ksD3CODimensions, VARIANT_TRUE);           // Размеры "включены"!!!
res = _ksDoc->SaveAsToAdditionFormat(outName.c_str(), fp);
+ Благодарностей: 1

Denis78