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

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

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

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

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

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

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

Добавление иконки приложения в интерфейс Компаса

Автор maminagadost, 21.10.21, 10:16:30

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

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

maminagadost

Всем привет!
Заранее прошу прощения если не туда вкинул тему.

Запилил свой exe фаил на панель компаса для удобства (фаил рабочий, свои функции выполняет) через конфигуратор - добавить утилиту.
Фаил должен подтягивать за собой ряд текстовых конфиг файлов. Видимо этого не происходит и программа выдаёт следующее сообщение "Failed to execute script ..." (см. скрин).
Предполагаю, что дело в том что компас перемещает мой ехе в временную папку и не абсолютные пути в скрипте слетают.
Вариант переделать все пути на абсолютные мне не нравится ибо при перемещении с кпу на кпу, с диска на диск проблема не исчезнет.
Возможно это фиксится добавлением соответствующего параметра строку "Параметры:" в конфигураторе (см. второй скрин).
Никакой справки по этой графе я в интернетах не нашёл. Только сухие пару строк в справке компаса.
Прошу Вас помочь коллеги. Может кто сталкивался с подобной проблемой.

 

Насколько я понял, туда пишется командная строка, которую после запуска приложения можно извлечь функцией GetCommandLine.

maminagadost

То есть эта строка только для консольных приложений? Типа передать аргументы командной строки. У меня десктопное. Или я что то не так понимаю.

Михаил88

Я так решил аналогичную проблему

# Полный путь расположения запускаемого приложения
path = os.path.split(os.path.realpath(sys.argv[0]))[0]
# Путь расположения конфиг файла
path_config = path + '\\' + 'config.txt'
+ Благодарностей: 1

Тоже самое, когда КОМПАС запускается с параметром, для примера - c:\Program Files\ASCON\KOMPAS-3D v20\Bin\KOMPAS.Exe -register.
+ Благодарностей: 1

maminagadost

Понял вас. Спасибо. То что предложил Михаил в целом подходит.

p3452

Вот объясните непонятливому - зачем запускать exe из под Компаса?
Зачем, вообще, писать exe, если собираетесь запускать из под Компаса?

pr0100

Цитата: p3452 от 21.10.21, 16:32:04Вот объясните непонятливому - зачем запускать exe из под Компаса?
Зачем, вообще, писать exe, если собираетесь запускать из под Компаса?
Автор собирает приложение на пайтоне, чтобы в нем сделать внедрение в компас очень все заморочено.

maminagadost

Цитата: p3452 от 21.10.21, 16:32:04Вот объясните непонятливому - зачем запускать exe из под Компаса?
Зачем, вообще, писать exe, если собираетесь запускать из под Компаса?

Программа выполняет ряд операций во время работы в компасе. Нужна не всегда. Удобнее запускать когда иконка добавлена. Exe сделан так как в программе есть много библиотек которые надо доустанавливать, если переносить на другую машину.
Мне чтобы коллеги воспользовались файлом .py надо будет им поставить request, pysimplegui и тп.


p3452

Цитата: maminagadost от 22.10.21, 11:36:16Мне чтобы коллеги воспользовались файлом .py надо будет им поставить request, pysimplegui и тп.
- Исчерпывающе!

Такой замороченной ситуации даже представить не мог!
По мне так - если писать на Python то не exe, а если писать exe, то не на Python...

Vi2

JFYI, есть стандартная простая процедура. Если есть строка какого-то файла, то относительные пути можно просто прибавлять к этой строке. Например, str="c:\a\b\c.exe". Тогда str+="\..\c.cfg" даст доступ к файлу, расположенному рядом с c.exe. Т.е. "c:\a\b\c.exe\..\c.cfg" даёт "c:\a\b\c.cfg"

Конечно, если нужна "красивая" строка, то нужно сплитить папку и добавлять имя файла.
+ Благодарностей: 1

pr0100

Вообще я понял, что лучше не собирать питоновский exe единым файлом. Это удобно только для передачи и хранения приложения.
Если использовать ключ onefile, то при первом запуске все библиотеки которые необходимы питону, он распакует и свалит куда-то в "темп".