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

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

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

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

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

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

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

Ошибка -2147221164, 'Класс не зарегистрирован'

Автор Teywl Wind, 28.10.23, 20:58:34

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

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

Teywl Wind

Доброго времени суток.
Воспользовавшись кодом уважаемого Вячеслава Никонова и созданной им темы, я, немного подправив, сделал свой макрос, но
вылезла ошибка:
doc_API7 = KompasAPI7.IKompasDocument3D(kompas_document)
pywintypes.com_error: (-2147221164, 'Класс не зарегистрирован', None, None)

Я полез искать на форум и набрел на тему с похожей проблемой.
Заменив способ подключения KompasAPI7 как там было указано - проблему это не решило.
Висящего в процессах второго окна компаса нет.
По идее программа должна работать с невидимым окном компаса.
Каламбур в том, что буквально вчера на работе все прекрасно работало и дело было только за графической оболочкой самого макроса.
Может кто проверит у себя и подскажет в чем может быть проблема?
ConvertToSTEP.7z

Михаил88

#1
У вас ошибки в коде программы. Немного подправил, чтобы работало.
+ Благодарностей: 1


Teywl Wind

Цитата: Михаил88 от 28.10.23, 21:19:49У вас ошибки в коде программы. Немного подправил, чтобы работало.


Подскажите, после ваших правок, макрос заработал у вас?
Потому что у меня все та же ошибка.

Михаил88

Заработал, но там есть еще косяки. Сейчас смотрю.

Teywl Wind

Цитата: Михаил88 от 28.10.23, 21:53:50Заработал, но там есть еще косяки. Сейчас смотрю.
Может быть проблема у меня на компьютере конкретно? Раз он на doc_API7 = KompasAPI7.IKompasDocument3D(kompas_document) жалуется.

feron

Иногда приведение к типу динамического объекта - ошибочно, поэтому проверка нужна каждый раз на наличие соответствующих методов/свойств и тд -> print(dir(dynamicObj))

Михаил88

+ Благодарностей: 1

Михаил88

Цитата: Teywl Wind от 28.10.23, 22:24:15Может быть проблема у меня на компьютере конкретно? Раз он на doc_API7 = KompasAPI7.IKompasDocument3D(kompas_document) жалуется.

проблема у вас в коде
+ Благодарностей: 1

Teywl Wind

Цитата: Михаил88 от 28.10.23, 22:52:46проблема у вас в коде

Михаил, большое спасибо! Все заработало.
Буду изучать.

feron

Цитата: Nipal от 28.10.23, 21:21:37https://forum.ascon.ru/index.php?topic=36194.msg290742#msg290742

увы но не чего подобного и работать не будет..

У меня например установлено 4 версии одной программы и самая первая из них что устанавливалась - незарегистрирована в системе однако работает из под Python без подобных ошибок.

Работаю с 15 САПРами с АПИ и не одного из них нет такой ошибки кроме К.

Компас в системе установлен один и эта ошибка выскакивает..

вот код что вызывает ошибку эту хз почему


Doc2D = api5_.ActiveDocument2D()

iDoc2D = api7_.ActiveDocument
iDoc2D = KAPI7.IKompasDocument2D(iDoc2D)

iViews = iDoc2D.ViewsAndLayersManager.Views

# for view in views:
for i in range (iViews.Count):
   
    if 'Системный вид' in iViews.View(i).Name:
        iView1 = KAPI7.IView1(iViews.View(i))

        lsk_ = iView1.LocalCoordinateSystems2D
        # lsk_ = KAPI7.LocalCoordinateSystems2D(lsk_) => 'Класс не зарегистрирован'
       
        # print(lsk_.Count) - всегда равно 1
        for lsk in lsk_:
            # lsk = KAPI7.LocalCoordinateSystem2D(lsk) => 'Класс не зарегистрирован'
            print(lsk.Name)



Nipal

Цитата: feron от 04.11.23, 14:23:23увы но не чего подобного и работать не будет..

У меня например установлено 4 версии одной программы и самая первая из них что устанавливалась - незарегистрирована в системе однако работает из под Python без подобных ошибок.

Работаю с 15 САПРами с АПИ и не одного из них нет такой ошибки кроме К.

Компас в системе установлен один и эта ошибка выскакивает..

вот код что вызывает ошибку эту хз почему

...


Уже показывал.
Работа на КОМПАС-3D V16.
ILocalCoordinateSystem2D_V16.rar

Teywl Wind

#12
Доброго времени суток, уважаемые.
В прошлый раз Михаил88 очень помог в исправлении кода, после чего ошибка ушла.
После этого я решил сделать макрос с возможностью перетаскивать нужные файлы в область.
Может кто-то подскажет, куда копать, если выдает ошибку:
"kompas_document = Documents.Open(path, False, False)   
NameError: name 'Documents' is not defined"
В отладчике показывает, что программа доходит до цикла и берет путь первого элемента списка, но дальше выдает ошибку.
Файл прилагаю.
П.С. Извините, я не сказал, что для запуска программы нужны 2 библиотеки:
TkDND и TkinterDnD
Куда устанавливать, написано здесь

Михаил88

А где подключение к компасу и получение Интерфейс IDocuments?
+ Благодарностей: 1

Teywl Wind

Цитата: Михаил88 от 11.11.23, 20:32:01А где подключение к компасу и получение Интерфейс IDocuments?

Вот растяпа. Большое спасибо, Михаил! Вот работающий макрос.

DnD_Convert_to_STEP_1.1.py.7z
+ Благодарностей: 1

Михаил88

Screenshot_1.bmp

Можно просто через pip сделать установку библиотеки.

только импорт нужно заменить на
from tkinterdnd2 import DND_FILES, TkinterDnD

Я так установил, проверил работает.
+ Благодарностей: 1