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

Профессиональные вопросы => Программирование приложений => Python и КОМПАС-Макро => Тема начата: Andreych от 27.02.24, 10:34:09

Название: Автодополнение кода в PyCharm или PyScripter
Отправлено: Andreych от 27.02.24, 10:34:09
А можно ли в PyCharm или PyScripter сделать автодополнение кода для объектов Компас API, Как это делается в Delphi?
Там не нужно искать в документации нужные свойства и методы и как они пишутся, все доступное сразу в списке выпадает.
Пример автодополнения кода в Delphi.png

В PyCharm или PyScripter можно смотреть объекты и значения их свойств, но это во время выполнения программы. А пока пишешь то такой помощи нет. Может быть есть какие-то расширения?
Название: Re: Автодополнение кода в PyCharm или PyScripter
Отправлено: ja49619 от 27.02.24, 21:20:58
Цитата: Andreych от 27.02.24, 10:34:09А можно ли в PyCharm или PyScripter сделать автодополнение кода для объектов Компас API, Как это делается в Delphi?
Там не нужно искать в документации нужные свойства и методы и как они пишутся, все доступное сразу в списке выпадает.
Пример автодополнения кода в Delphi.png

В PyCharm или PyScripter можно смотреть объекты и значения их свойств, но это во время выполнения программы. А пока пишешь то такой помощи нет. Может быть есть какие-то расширения?

Тебе нужно не расширение, а просто скопировать файлы .py API из папки компаса, например, C:\ProgramData\ASCON\KOMPAS-3D\22\Python 3\App\Lib\site-packages\pythonwin в папку с питоном, например, C:\Python311\Lib\site-packages\pythonwin, и в коде уже сам API импортировать. У меня в VSCode правда кодировка русская чето слетела, ну можно разобраться при желании, PyCharm не тестил

tt.png
Название: Re: Автодополнение кода в PyCharm или PyScripter
Отправлено: Andreych от 28.02.24, 10:43:16
Файлы .py API Компаса скопированы. Но все равно не очень получается.
Если идти от самого верха (от Kompas6API5), то автодополнение работает как надо.
p1.png

Но если брать уже полученный объект (например iDocument2D), то отображаются только те методы, которые были ранее в коде использованы.
p2.png
А не все возможные.