Для уменьшения количества действий давно хотел написать макрос, который сохранял бы чертёж по пути "path\pdf DD.MM.YYYY\file_name.pdf", где
path - путь до оригинального файла
pdf DD.MM.YYYY - папка (если отсутствует, то создать) с текущей датой, например "pdf 05.09.2019"
file_name - имя оригинального файла. Если чертёж АБВГ.123456.789.cdw, то сгенеренная pdf АБВГ.123456.789.pdf (если присутствует - перезаписать)
С ЯП поверхностно знаком, даже немного писал под свои нужды, но вникнуть в API компаса тяжеловато. Ну и для полноты картины привязать бы выполнение этого макроса к клавише (F2/3/4 например).
Заранее спасибо за ответы!
upd. +те же самые действия со спецификацией, макрос при этом желательно чтобы был один.
ЦитироватьЕсли чертёж АБВГ.123456.789.cdw, то сгенеренная pdf АБВГ.123456.789.pdf
Добрый день.
А если есть три файла: АБВГ.123456.789.cdw, АБВГ.123456.789.spw и АБВГ.123456.789.a3d, то для каждого из них имя pdf файла будет АБВГ.123456.789.pdf.
Может лучше расширение исходного файла не убирать АБВГ.123456.789.cdw.pdf ?
Цитата: Slaviation от 05.09.19, 11:41:05
для каждого из них имя pdf файла будет АБВГ.123456.789.pdf
Добрый день, каждый файл имеет разное имя (после ДН следует код документа), поэтому повторения исключены :)
Начальный набор файлов для примера и они же после преобразования
АБВГ.123456.789.spw => АБВГ.123456.789.pdf
АБВГ.123456.789ВП.spw => АБВГ.123456.789ВП.pdf
АБВГ.123456.789СБ.cdw => АБВГ.123456.789СБ.pdf
Во вложении.
А что поменять в коде, что бы в ту же папку сохраняло?
Цитата: ТрындецЪ от 05.09.19, 12:49:30
Во вложении.
Благодарю, работает прямо, как хотел. Большое спасибо за Ваш труд, возьму в пользование на долгое время!
Цитата: FR347 от 05.09.19, 13:14:56
А что поменять в коде, что бы в ту же папку сохраняло?
Строка 22:
directory = iDocument.Path
Спасибо! Там и пытался менять) Но думал вот это (в изменённом виде) должно остаться: '%s\pdf %s'.
а дату убрать)
Цитата: ТрындецЪ от 05.09.19, 12:49:30
Во вложении.
Спасибо большое за нужный макрос.
Хороший макрос, подскажите а можно сделать так чтобы спецификация сохранялась с тем же именем но добавлялось к имени СП
всегда интерисовал вопрос по быстрому запуску макросов, как запустить его через горячие клавиши?
Цитата: plscomeback от 10.12.19, 15:27:50всегда интерисовал вопрос по быстрому запуску макросов, как запустить его через горячие клавиши?
Изменить расширение на .cdm, добавить в утилиты, перейти в настройки горячих клавиш, выбрать категорию - все команды, найти свою утилиту по имени.
Можно создать ярлык с быстрым вызовом.
Всем доброго времени! Подскажите пожалуйста чайнику, как сделать тоже самое(Сохранение текущего чертежа или СП в pdf), только сохранять в dxf. Недавно начал знакомство с макросами, терминами программирования не владею. Для пробы-тупо поменял строки с pdf на dxf- сохраняет с расширением, но нужно как то конвертировать, как я понимаю. Помогите! v16
dxfversion = 2010 # Какую версию dxf использовать: 2000, 2004, 2007, 2010, 2013
AutoCAD = {2000:4, 2004:5, 2007:6, 2010:7, 2013:8, 2018:9} # Поддерживаемые версии DXF/DWG
iConverter = iApplication.Converter(KompasObject.ksSystemPath(1) + '\\ImpExp\\dwgdxfExp.rtw') # Конвертер файлов КОМПАС
iConverterParameters = iConverter.ConverterParameters(1) # Получить интерфейс параметров конвертирования (для dxf: command = 1)
currentAcadFileVersion = iConverterParameters.AcadFileVersion # Сохранить текущую версию формата dxf
iConverterParameters.AcadFileVersion = AutoCAD[dxfversion] # Версия AutoCAD, в которую осуществляем запись
iConverter.Convert('', 'c:\\1.dxf', 1, False) # Процесс конвертации (файл или текущий документ, новый файл, номер команды, диалог)
iConverterParameters.AcadFileVersion = currentAcadFileVersion # Вернуть текущую версию формата dxf
Вообще, мне нужно все гораздо проще. Просто макрос для нового(еще не сохраненного чертежа из модели): сохранить как...-формат dxf-в любую папку(напр С:\) со свойствами модели Наименование_Обозначение. Т.е вместо того, чтоб тыкать каждый раз сохраняя чертеж: Файл-- сохр как...--dxf. Можно макрос сварганить?
Сварганить можно. Для начала можете попробовать записать макрос с помощью стандартной библиотеки или через PyKompasMacro (ищите на форуме). Записанное подредактировать. Или с нуля написать. Второй вариант лучше.
Помню, когда в армию проходил медосмотр, сказал терапевту , что болит спина после нагрузок, он сказал: Так вам к хирургу!. Зашел к хирургу с тем же...Знаете что он ответил?
Цитата: ТрындецЪ от 05.09.19, 12:49:30Во вложении.
Подскажите пожалуйста, а как сохранить в pdf с параметрами? У меня стоит Компас 14.
Как я понял нужно использовать методы в Pdf2d.dll (на картинке). А как до них достучаться из Python
Цитата: Вират Лакх от 20.05.20, 08:37:31...Для начала можете попробовать записать макрос с помощью стандартной библиотеки...
Попробовал я записать макрос "Сохранить как jpg"...
Запустил запись
Указал куда сохранить
Выполнил действия "Сохранить как..."->"Настройки сохранения"->"Ок"
Остановил запись
Открываю код и вижу: константы, интерфейсы, активный объект и ... больше ничего? а где сами действия?
Сейчас попробую для пдф
...
Результат тот же
Что я делаю не так?
Цитата: Петрович-47 от 16.03.21, 19:25:37Попробовал я записать макрос "Сохранить как jpg"...
Что я делаю не так?
Действительно. Это библиотека делает не так, точнее никак. Тогда второй вариант или вручную.
Цитата: Алексей_С от 21.06.20, 14:49:36Как я понял нужно использовать методы в Pdf2d.dll (на картинке). А как до них достучаться из Python
iConverter = iApplication.Converter(KompasObject.ksSystemPath(5) + '\\Pdf2d.dll')
iPdf2dParam = iConverter.ConverterParameters(0)
print(iPdf2dParam.HorizontOrientation)
Цитата: ТрындецЪ от 05.09.19, 12:49:30Во вложении.
Добрый день.
Подскажите, а как сделать так, чтобы перед сохранением появлялось окно, куда можно вписать адрес папки в которую нужно сохранить?
ЮDjiNN, можно так сделать
# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.withdraw()
filename = filedialog.askdirectory(title="Выбор каталога")
print(filename)
Кто может подсказать, возможно ли сделать так, чтобы программа сохраняла два листа в один. То есть, на чертеже: первый лист формата А3 (допустим), второй лист формата А4, необходимо сохранить как один документ формата А3+А4 (420+210). Это возможно?
ЦитироватьКто может подсказать, возможно ли сделать так, чтобы программа сохраняла два листа в один. То есть, на чертеже: первый лист формата А3 (допустим), второй лист формата А4, необходимо сохранить как один документ формата А3+А4 (420+210). Это возможно?
Добрый день.
Возможно у первого листа назначить пользовательский формат 630x297, а второй лист удалить.
Пример во вложении. Тест запускать на активном чертеже ЧертежA3A4.cdw.
Цитата: Slaviation от 17.08.21, 09:13:28Добрый день.
Возможно у первого листа назначить пользовательский формат 630x297, а второй лист удалить.
Пример во вложении. Тест запускать на активном чертеже ЧертежA3A4.cdw.
Не могли бы вы пересохранить в компас версии 17.1.
Так если я задам размеры в ручную на первом листе, то у меня рамка поплывет. Важное примечания, и первый и второй лист с рамкой.
С постановкой задачи неясности :)
У вас есть
один файл двух - листового чертежа, первый лист которого А3 а второй А4 ?
или
два разных файла чертежей, первый из которых А3 а второй А4 ?
Цитата: Slaviation от 17.08.21, 13:24:36С постановкой задачи неясности :)
У вас есть
один файл двух - листового чертежа, первый лист которого А3 а второй А4 ?
или
два разных файла чертежей, первый из которых А3 а второй А4 ?
Файл один, в файле первый лист может быть А1-А4, второй А4, но меняется по высоте в зависимости от первого листа, следом может идти любой другой формат.
Задача: первый и второй лист сохраняется в PDF как отдельные листы в одном документе, а необходимо сделать так, чтобы первый и второй лист были как один единый лист, а следующие за ним уже отдельными от них листами.
Я приложил файлы для более точного описания
Добрый день.
Интересная задачка.
Может попробовать так?
Сначала сохранить чертеж в виде «Стандартное сохранение.pdf».
А потом почитать про возможность объединения страниц в pdf, как
тут:
https://question-it.com/questions/1616922/python-kak-obedinit-dve-stranitsy-pdf-v-odnu-stranitsu
и тут:
https://www.blog.pythonlibrary.org/2018/06/06/creating-and-manipulating-pdfs-with-pdfrw/
После этого объединить 1 и 2 страницы.
Стало интересно. Сделал по предложенному алгоритму. Получилось. Нужно будет установить pdfrw (pip install pdfrw).
Запускать на активном чертеже.
Большое спасибо всем за помощь! Все работает, огромная благодарность вам! Скомпилировал в .exe, все работает.
Цитата: ТрындецЪ от 05.09.19, 12:49:30Во вложении.
Добрый день! По работе нужно конвертировать frw в dxf. Подскажите - что нужно изменить в строках программы.
для этих целей в компасе есть библиотеки импорта экспорта
путь расположения C:\Program Files\ASCON\KOMPAS-3D v18\Libs\ImpExp
нужно подключить нужную библиотеку через конфигуратор следующим образом
Приложения-Конфигуратор-Состав-Добавить приложения...
выбираете по выше указанному пути нужную библиотеку dwgdxfExp.rtw
после этого она появится в приложениях
изображение_2023-01-26_201505521.png
далее запускаете ее и выбираете расположение где хранятся frw далее выделяете все нужные файлы для пере сохранения
указываете куда будут сохраняться dxf и жмете сохранить
изображение_2023-01-26_201811681.png
результат
изображение_2023-01-26_201944942.png
Цитата: Slaviation от 18.08.21, 09:37:36Может попробовать так?
А можете сделать используя уже сделанное с ТС, WCX плагин, при выборе например разного формата конвертации.
На подобии конвертации графических и медиа файлов (https://wincmd.ru/plugring/graphicconverter.html).
Может напишите такую программку для юзанья через ТС, и конвертации выбранных файлов?
Цитата: jeanevesse от 17.08.21, 13:34:37Задача: первый и второй лист сохраняется в PDF как отдельные листы в одном документе, а необходимо сделать так, чтобы первый и второй лист были как один единый лист, а следующие за ним уже отдельными от них листами.
Интересно зачем??
Добрый день!
Необходим макрос, который будет менять несколько строк в технических требованиях на чертеже, материал изделия и номер ОСТа, по которому сделан чертеж. Потом сохранять чертеж в jpg в определенную папку.
Кто может такой макрос создать, пожалуйста, напишите denvas197616@gmail.com
jpg предпочтительней, но можно и в pdf
Цитата: denvas197616 от 22.02.23, 11:59:58jpg предпочтительней,
jpg растовый формат и тонкие линии будут кубиками или размазаные.
А пдф вектор и будет черное и четкое изображение!
Цитата: Toptotal от 22.02.23, 15:03:57jpg растовый формат и тонкие линии будут кубиками или размазаные.
А пдф вектор и будет черное и четкое изображение!
На производстве используем jpg (требование директора). Просто сохраняю с количеством точек на дюйм не меньше 300. При печати все хорошо видно.
Вы можете помочь с макросом?
2023-02-22_15-20-49.png
Цитата: denvas197616 от 22.02.23, 15:27:40На производстве используем jpg (требование директора).
старый дурак , как обычно.. ПдФ смотрят везде и все почти платформы. Если только он не передает кому то и там чтоб черетежи не перевели обратно. Но у ПДФ есть пароль!
Цитата: denvas197616 от 22.02.23, 15:27:40При печати все хорошо видно.
неправды, я на А3 спокойно вывожу А2 и даже А1 на лазернике, мне удобно. в настройках толщину линий в два раза тоньше делаю все прекрасно видно на хорошем лазернике типа нр 5200 с новым драмом за 150р :) прекрасно читаю и смотрю проверяю.. так делал часто. потом уже после проверке посылаю на плоттер, он долго и нудно печатает. .
Добрый день.
Чтобы в пачке чертежей поменять один тест на другой (на поле чертежа, в размерах, в основной надписи, в тт и тп) попробуйте воспользоваться KompasTextReplacer (https://slaviationsoft.blogspot.com/)
Цитата: Toptotal от 23.02.23, 12:19:59...старый дурак , как обычно...
За такое неуважение к неизвестным Вам людям БАН полагается...
Будьте вежливы и уважительны...
Цитата: Slaviation от 23.02.23, 20:15:09Добрый день.
Чтобы в пачке чертежей поменять один тест на другой (на поле чертежа, в размерах, в основной надписи, в тт и тп) попробуйте воспользоваться KompasTextReplacer (https://slaviationsoft.blogspot.com/)
Добрый день!
Благодарю за помощь.
Пробую программу, по функционалу должно быть как раз то, что я искал.
Но программа не отрабатывает. Фото словаря и его настроек в приложении. Компас показывает, что идет обработка файлов, но в чертежах ничего не меняется.
Dictionary.png Dictionary1.png Dictionary2.png
Добрый день.
Вышлите в личку хотя бы один чертеж с указанием что на что заменить.
Цитата: Петрович-47 от 27.02.23, 09:15:48такое неуважение к неизвестным Вам людям БАН полагается.
обьясните почему нужно делать в jpg ?
Цитата: Toptotal от 28.02.23, 15:33:25обьясните почему нужно делать в jpg ?
Для этого случая я Вам причин объяснить не смогу, так как ни Вы ни я их не знаем.
Но наше с Вами незнание, не есть повод для оскорбления незнакомого нам человека.
Подскажите пожалуйста, я установил Пайтон, переименовал файл pdf макрос *.py, всплывает окошко невидно что там. И ничего не происходит. Подскажите куда копать
Мало установить нужно еще и настроить. А так из вашего сообщения мало чего понятно. Нужно больше информации.
Цитата: Михаил88 от 26.03.23, 08:13:51Мало установить нужно еще и настроить. А так из вашего сообщения мало чего понятно. Нужно больше информации.
Добавил в переменные среды, проверил. А что еще настраивать?
https://forum.ascon.ru/index.php?topic=30856.0
сообщение #9
или можете посмотреть видео https://www.youtube.com/watch?v=UVCH_wDlFNU&list=PLb7fMw7ZZbFgp9E7Lj84Y1FP3tEvknYLX&index=7
КОМПАС-3D. Python. Установка питона на чистую ОС для работы с компасом.
Проверьте все ли пункты вы сделали.
Вы можете запустить макрос через IDLE и и увидите какую ошибку выдаст и на какой строчке.
Цитата: ТрындецЪ от 05.09.19, 12:49:30Во вложении.
Добрый день. Можно ли сделать так, чтобы файл сохранялся в виде "Обозначение" _ "Наименование".pdf? Видел, тут уже задавали похожий вопрос, но так и не нашёл ответа на него(
Просто есть шаблон cdw, который при изменении модели также меняет своё наименование, но при этом, если сохранять через текущий макрос, файл просто каждый раз перезаписывается
Цитата: Боярышник форте от 12.10.23, 08:27:22Можно ли сделать так, чтобы файл сохранялся в виде "Обозначение" _ "Наименование".pdf?
DE_FileNameOption.png
Drawing-Export - Настройки - Имя файла
Имя файла можете "собрать" из любых Свойств в Списке, Разделители между Свойствами указываются в
Суффиксах и
Префиксах, в Таблице
После сохранения, при последубщей конвертации, Drawing-Export будет задавать имена файлам, согласно настройкам.
Ссылка для скачивания (https://cloud.mail.ru/public/DZCd/JwsbnfkTV)
Демонстрация:
Цитата: fedorLytkin от 12.10.23, 13:09:05Drawing-Export
Спасибо за полезную программу, но в моём случае изменение кода макроса будет более уместно) Суть в том, что я меняю размеры одной и той же модели, и при перестраивании чертежа у меня меняется обозначение и наименование. И было бы куда удобнее прожимать сочетание клавиш после перестраивания чертежа, нежели открывать окошко программы каждый раз.
Я думаю, что есть какая-то переменная, отвечающая за ячейку в таблице. Пробовал записать макрос с изменением обозначения (opa) и наименования (hoba), получил вот такую историю
(https://i.imgur.com/36WwGH8.png)
Полагаю, что переменная с текстом - это iTextItemParam.s, она зависит от номера столбца - iStamp.ksColumnNumber(х). Но как это привязать к имеющемуся макросу вопрос остаётся, потому что сколько я ни пытался, получал файл "_.pdf"
изображение_2023-10-14_205643605.png
Цитата: Михаил88 от 14.10.23, 18:51:27изображение_2023-10-14_205643605.png
Благодарю. А можно ещё посмотреть полный код программы вместе с импортами и подключениями описаний интерфейсов? Просто выводит ошибку, что переменная kompas6_constants не определена
изображение_2023-10-16_181954531.png
Записала макрос сохранения в pdf.
Вывела кнопку.
При нажатии вылазит окошко PryScripter, в пдф не сохраняет.
Добавила туда строки из первого сообщения на 2й стр.
Все равно вылазит окошко, ничего не сохраняет.
Подскажите, куда рыть? Нужно, чтоб пдф сохранился в папке с чертежом
Компас 21
Добрый день.
Попробуйте из под админа зарегистрировать командой regsvr32 файл pdf2d.dll. Он лежит в папке Bin КОМПАС'а.
Цитата: la_Mypka от 09.08.24, 18:19:08При нажатии вылазит окошко PryScripter, в пдф не сохраняет.
а если запускать программу в самом PyScripter, в ПДФ сохраняет?
Цитата: Slaviation от 11.08.24, 19:58:37Добрый день.
Попробуйте из под админа зарегистрировать командой regsvr32 файл pdf2d.dll. Он лежит в папке Bin КОМПАС'а.
запустила от админа regsvr32 "C:\Program Files\ASCON\KOMPAS-3D v21\Bin\Pdf2d.dll"
вылезло следующее окно:
2024-08-15_07-25-54.png
Цитата: Teywl Wind от 12.08.24, 08:15:08а если запускать программу в самом PyScripter, в ПДФ сохраняет?
Не знаю, как это сделать. Я далека от программирования, максимум могу сделать по инструкции.
...
Разобралась, как запустить. При запуске макроса, записанного мной (сохраняла чертеж как pdf), ошибок не выдает, но и файл не сохраняет. Или мне неизвестно место сохранения; чертеж я сохраняла как pdf в той же папке, уже имеющийся файл pdf не обновляется.
...
Макрос выглядит следующим образом:
2024-08-15_07-58-32.png
Добрый день.
Не вижу на скрине кода создания pdf. Может он дальше есть?
Попробуйте прилагаемый макрос. При необходимости замените имя pdf файла в строке 51 на требуемое.
Цитата: Slaviation от 15.08.24, 08:11:44...Не вижу на скрине кода создания pdf...
Это нормальное явление для макрорекордера, я много раз пытался "сохранить как", но всегда получал только инициализацию а самого действа ни разу не было...
Отстой...
Цитата: Slaviation от 15.08.24, 08:11:44Добрый день.
Не вижу на скрине кода создания pdf. Может он дальше есть?
Попробуйте прилагаемый макрос. При необходимости замените имя pdf файла в строке 51 на требуемое.
На скрине весь код, то, что Компас написал.
С помощью Вашего test получается следующая штука:
2024-08-15_17-51-44.png
Появился еще вопрос: если/когда макрос заработает, так и придется каждый раз вручную указывать имя файла. Это занимает столько времени, что вся затея оказывается нерентабельной. Хотела по кнопке сохранять текущий чертеж в то же место как pdf.
Во второй строке выше от красной поменяйте компас с 23 на ваш.
Последнюю строку поменяйте на
converter.Convert(kompas_document.PathName + ".pdf", 0, False)
Цитата: Slaviation от 15.08.24, 19:08:07Во второй строке выше от красной поменяйте компас с 23 на ваш.
Последнюю строку поменяйте на
converter.Convert(kompas_document.PathName + ".pdf", 0, False)
поменяла:
2024-08-16_06-46-21.png
после нажатия на ОК:
2024-08-16_06-47-14.png
PathName - Полное имя документа.
Свойство доступно только для чтения. Возвращает полное имя файла документа, состоящее из пути, имени и расширения файла.
Может нужно сначала убрать старое расширение файла, а затем новое подпихивать?
Цитата: UU от 16.08.24, 06:01:55Может нужно сначала убрать старое расширение файла, а затем новое подпихивать?
В вашей фразе улавливаю мысль "ну тупая"))
Ответ на ваш вопрос - может, кто его знает... Повторюсь, я далека от программирования, сделала по "инструкции" уважаемого Slaviation
Попробовала в разных комбинациях - и cdw вписывала, и всяко-разно - не работает
Цитата: Slaviation от 15.08.24, 19:08:07Во второй строке выше от красной поменяйте компас с 23 на ваш.
Последнюю строку поменяйте на
converter.Convert(kompas_document.PathName + ".pdf", 0, False)
Тут должно быть четыре параметра, а не три.
Цитата: la_Mypka от 16.08.24, 06:31:09В вашей фразе улавливаю мысль "ну тупая"))
Ответ на ваш вопрос - может, кто его знает... Повторюсь, я далека от программирования, сделала по "инструкции" уважаемого Slaviation
Попробовала в разных комбинациях - и cdw вписывала, и всяко-разно - не работает
Смотрите внимательно справку.
https://help.ascon.ru/KOMPAS_SDK/23/ru-RU/iconverter_convert.html
Цитата: la_Mypka от 16.08.24, 06:31:09В вашей фразе улавливаю мысль "ну тупая"))
Ответ на ваш вопрос - может, кто его знает... Повторюсь, я далека от программирования, сделала по "инструкции" уважаемого Slaviation
Попробовала в разных комбинациях - и cdw вписывала, и всяко-разно - не работает
Замените на эту строчку
converter.Convert('', kompas_document.PathName[:-4] + ".pdf", 0, False)
можете еще самой последней строчкой добавить
application.MessageBoxEx(kompas_document.PathName[:-4] + ".pdf" + "\n Документ сохранен успешно", '', 64)
Screenshot_2.png
Цитата: Михаил88 от 16.08.24, 06:51:48application.MessageBoxEx(kompas_document.PathName[:-4] + ".pdf" + "\n Документ сохранен успешно", '', 64)
application.MessageBoxEx(kompas_document.PathName[:-4] + ".pdf" + "\n Документ сохранен успешно", '', 64)
Где здесь используется возвращаемое значение этой - converter.Convert('', kompas_document.PathName[:-4] + ".pdf", 0, False) строки?
Она может и неуспешно выполнится.
name_file = kompas_document.PathName[:-4] + ".pdf"
rez = converter.Convert('', name_file, 0, False)
if rez == 1:
application.MessageBoxEx(name_file + "\n Документ сохранен успешно.", '', 64)
else:
application.MessageBoxEx(name_file + "\n Не удалось сохранить документ.", '', 64)
Цитата: undefinedPathName - Полное имя документа.
Свойство доступно только для чтения. Возвращает полное имя файла документа, состоящее из пути, имени и расширения файла.
Может нужно сначала убрать старое расширение файла, а затем новое подпихивать?
Да, возможно старое расширение нужно убрать, но если есть несколько файлов, отличающихся только расширением, к примеру "Узел.cdw" и "Узел.spw", то при сохранении их в pdf они перезапишутся и в итоге останется один "Узел.pdf".
Если же старое расширение не убирать, то при сохранении в pdf файлов "Узел.cdw" и "Узел.spw" получим два файла "Узел.cdw.pdf" и "Узел.spw.pdf", которым старые расширения вроде и не мешают.
Да в последней строке пропущен первый параметр. Нужно
converter.Convert(
"", kompas_document.PathName + ".pdf", 0, False)
Коллеги, прошу извинить за эту неточность.
Цитата: Slaviation от 16.08.24, 07:30:23Да в последней строке пропущен первый параметр. Нужно
converter.Convert("", kompas_document.PathName + ".pdf", 0, False)
не сработало
2024-08-17_05-41-36.png
Цитата: Михаил88 от 16.08.24, 06:51:48Замените на эту строчку
converter.Convert('', kompas_document.PathName[:-4] + ".pdf", 0, False)
Сработало! Файл успешно сохранился!
А теперь объясните мне, пожалуйста, как сделать так, чтоб окно PyScripter не появлялось, чтобы файл сохранялся просто по нажатию кнопки, к которой привязан макрос?
Изначальная цель была - уменьшить количество кликов мыши при сохранении файла в pdf.
2024-08-17_05-50-17.png
Цитата: la_Mypka от 17.08.24, 04:50:59А теперь объясните мне, пожалуйста, как сделать так, чтоб окно PyScripter не появлялось, чтобы файл сохранялся просто по нажатию кнопки, к которой привязан макрос?
Сделать библиотеку dll(rtw).
Цитата: UU от 17.08.24, 05:26:29Сделать библиотеку dll(rtw).
Погуглила - работа в Visual Studio. :shu:
Может когда-нибудь и займусь.
Всем огромное спасибо за участие и терпение, насыпала благодарностей :afro: :beer:
На всякий случай прикрепляю работающий у меня макрос для 21-го компаса
test.zip
Цитата: la_Mypka от 17.08.24, 04:50:59А теперь объясните мне, пожалуйста, как сделать так, чтоб окно PyScripter не появлялось, чтобы файл сохранялся просто по нажатию кнопки, к которой привязан макрос?
Изначальная цель была - уменьшить количество кликов мыши при сохранении файла в pdf.
Вам нужно изменить расширение файла с .cdm на .pyw.
Далее нужно через
Открыть с помощью указать, чтобы открывало через pythonw.exe. Его расположение такое C:\ProgramData\ASCON\KOMPAS-3D\21\Python 3\App
Цитата: la_Mypka от 17.08.24, 04:50:59не сработало
Будет работать если вы уберете лишние знаки.
converter.Convert("", kompas_document.PathName + ".pdf", 0, False)
Цитата: Михаил88 от 17.08.24, 07:05:53Вам нужно изменить расширение файла с .cdm на .pyw.
Далее нужно через Открыть с помощью указать, чтобы открывало через pythonw.exe. Его расположение такое C:\ProgramData\ASCON\KOMPAS-3D\21\Python 3\App
Да, все получилось!
Спасибо огромное, все, как я и хотела! Это приятно ускорит мою работу в Компасе!
Цитата: Михаил88 от 17.08.24, 07:12:40Будет работать если вы уберете лишние знаки.
Извиняюсь, вносила изменения в файл через Ctrl+С и Ctrl+V, не понимаю, откуда эти знаки взялись