Форум пользователей ПО АСКОН

Профессиональные вопросы => Программирование приложений => Python и КОМПАС-Макро => Тема начата: Ханиган от 28.12.14, 16:40:23

Название: Создание детали с помощью Pythonwin
Отправлено: Ханиган от 28.12.14, 16:40:23
Здравствуйте!
Записал макрос, создание детали. Через компас-макро запускается нормально, но через pythonwin не хочет!
Как запустить скрипт python(создание детали) через pythonwin? Компас активен!
Модули имеются:
Kompas6API5.py
Kompas10API5.py
Kompas10API7.py
ksConstants.py
ksConstants3D.py
LDefin2D.py
LDefin3D.py
MiscellaneousHelpers.py
piksupport.py
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Ханиган от 29.12.14, 02:36:45
При запуске скрипта выдает такую ошибку(PythonWin 2.6):
"Traceback (most recent call last):
  File "C:\Python27\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 326, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\Python26\Lib\site-packages\pythonwin\El_muft.m3m", line 9, in <module>
    Kompas,doc3d=start3d()
NameError: name 'start3d' is not defined"

Подскажите пожалуйста, что не так!?
Пол-интернета перерыл и ничего конкретного!
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Slaviation от 30.12.14, 08:39:09
Цитироватьно через pythonwin не хочет
Указанные модули лежат в каталоге <Буква диска>:\Python2(x)\Lib\site-packages\pythonwin\ ? Должны лежать там.
Кроме того в прицепе вариант, не использующий эти модули.
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Ханиган от 31.12.14, 13:54:35
ЦитироватьУказанные модули лежат в каталоге <Буква диска>:\Python2(x)\Lib\site-packages\pythonwin\ ?
Да, модули лежат именно там! Ваш вариант опробую вечером! СПАСИБО.
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Ханиган от 31.12.14, 14:10:54
ЦитироватьУказанные модули лежат в каталоге <Буква диска>:\Python2(x)\Lib\site-packages\pythonwin\ ? Должны лежать там.
Кроме того в прицепе вариант, не использующий эти модули.
А у вас, этот скрипт запускается, без ошибок??
У меня, выдает ошибку:
Traceback (most recent call last):
  File "C:\Python27\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 326, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\MFNew.m3m", line 29, in <module>
    iPart = iDocument3D.GetPart(LDefin3D.pTop_Part)
AttributeError: 'NoneType' object has no attribute 'GetPart'

Компас запущен(создание детали)!

Название: Re: Создание детали с помощью Pythonwin
Отправлено: Sabahs от 31.12.14, 14:20:42
Здесь получение указателя уже открытого документа. Создайте новую деталь и запустите макрос.
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Ханиган от 02.01.15, 11:08:54
Я так и делаю, создаю новую деталь и запускаю макрос и... НИЧЕГО!
Пробовал на двух ПК. На одном вышеописанная ошибка возникает, а на другом вот такая:
Traceback (most recent call last):
  File "C:\Python27\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 326, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\MFNeew.m3m", line 23, in <module>
    module_5, iKompasObject, LDefin3D =  get_kompas_api5()
  File "C:\MFNeew.m3m", line 18, in get_kompas_api5
    api = module.KompasObject(Dispatch("Kompas.Application.5")._oleobj_.QueryInterface(module.KompasObject.CLSID, pythoncom.IID_IDispatch))
AttributeError: 'NoneType' object has no attribute 'KompasObject'
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Slaviation от 12.01.15, 07:46:23
ЦитироватьAttributeError: 'NoneType' object has no attribute 'KompasObject'
Предварительно нужно зарегистрировать КОМПАС, запустив его с ключом register
kompas.exe -register
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Ханиган от 17.01.15, 01:16:42
ЦитироватьПредварительно нужно зарегистрировать КОМПАС, запустив его с ключом register
kompas.exe -register
А как это?
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Sabahs от 17.01.15, 09:14:49
Можно из TC или командной строки, см. рис.
Название: Re: Создание детали с помощью Pythonwin
Отправлено: lyxey от 25.06.15, 10:51:03
(https://forum.ascon.ru/proxy.php?request=http%3A%2F%2Fi11.pixs.ru%2Fstorage%2F3%2F8%2F7%2FBezimyanni_4948906_17793387.png&hash=c4e2e5d53a25cd45c2a785a0039b9b3453ceff41)

Прав (паролей) админа не имею.
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Sabahs от 25.06.15, 11:10:53
Их имеет, Ваш администратор.
Если Вы хотите попробовать Библиотеку пакетного сохранения (http://forum.ascon.ru/index.php/topic,16941.msg210877.html#msg210877), то не теряйте время, библиотека работает с Компас-3D V14.2  и выше.
Название: Re: Создание детали с помощью Pythonwin
Отправлено: lyxey от 25.06.15, 11:31:43

Цитата: Sabahs от 25.06.15, 11:10:53
Их имеет, Ваш администратор.
Если Вы хотите попробовать Библиотеку пакетного сохранения (http://forum.ascon.ru/index.php/topic,16941.msg210877.html#msg210877), то не теряйте время, библиотека работает с Компас-3D V14.2  и выше.

Аналогично

(https://forum.ascon.ru/proxy.php?request=http%3A%2F%2Fi11.pixs.ru%2Fstorage%2F9%2F0%2F6%2FBezimyanni_6052534_17792906.png&hash=17263948f7a69a4ea6d05d8493fddff241d93061)

Похоже замкнутый круг :(
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Sabahs от 25.06.15, 11:39:02
На Вашей картинки видно, что у Вас Компас-3D V13, библиотека работать не будет, даже, если класс будет зарегистрирован.
Название: Re: Создание детали с помощью Pythonwin
Отправлено: lyxey от 25.06.15, 11:54:41
Вот печаль то печаль, что ж делать? Так и сохранять Bullzip - ом :(
Название: Re: Создание детали с помощью Pythonwin
Отправлено: Sabahs от 25.06.15, 12:00:39
Компас обновлять.