Добрый день. Подскажите, пожалуйста, то я себе уже голову сломал) пишу скрипт и моя задача заключается в том, чтобы получать все параметры элементов на 2D фрагменте. Сейчас меня конкретно интересует макроэлемент отверстия и его параметры диаметр, глубина, фаска и т.д. Данные получаю в виде безопасного массива safearray, а как его расшифровать втолковать не могу. Кто может подсказать или указать где посмотреть информацию или пример?
Что с этим делать?
[4, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 0, 0, 46, 64, 0, 0, 0, 0, 0, 0, 36, 64, 0, 0, 0, 0, 0, 0, 50, 64, 1, 0, 0, 0, 0, 0, 240, 63, 0, 0, 0, 0, 0, 0, 20, 64, 0, 0, 0, 0, 0, 0, 94, 64, 0, 0, 0, 0, 0, 0, 46, 64, 0, 0, 0, 0, 0, 128, 86, 64, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 52, 64, 249, 251, 4, 209, 12, 82, 225, 63, 4, 0, 0, 0, 46, 0, 120, 0, 109, 0, 108, 0, 3, 0, 0, 0, 29, 4, 53, 4, 66, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Вроде, всё понятно.
(http:///attach%5D)
Safearray имеет свои ПЛЮСЫ и МИНУСЫ:
"+" - всегда возвращает то что ДОЛЖЕН вернуть (что бы получить ОЖИДАЕМЫЙ "тип" достаточно сделать "привидение типа"),
"-" - может вернуть ЛЮБОЕ количество элементов (нужен анализ возвращаемого количества).
user_params = macro_object.UserParams
user_params.obj.decode('ansi')
Цитата: Михаил88 от 09.03.25, 21:51:04user_params = macro_object.UserParams
user_params.obj.decode('ansi')
Это у вас библиотеки отверстий? Потому что у меня в 18 версии такого нет.
Попробовал декодировать, вот результат:
Цитировать♦☺ ☺ ☺ @ .@ $@ 2@☺ р? ¶@ ^@ .@ ЂV@ @☺ 4@щы♦С♀Rб?♦ . x m l ♥ ↔♦5♦B♦
Библиотека отверстий находится в справочнике стандартных изделий. У меня компас 18.1.55. Пришлите файл для примера, чтобы посмотреть. Я думал Вы тоже использовали эту библиотеку.
Нет, отображается как макро, было встроено в панели инструментов.
(https://i.ibb.co/MDrSPFfM/test.jpg) (https://ibb.co/LzmR9Vrn)