8

Макрос для сохранения чертежа в PDF

Друзья конструктора, доброго субботнего дня.

Полдня бился за то, чтобы найти работающий макрос для SOLIDWORKS, который сохранял чертеж в PDF. Но добился своего (Save Drawing as PDF, если интересно).

А теперь задачка. Как сохранять файл в подпапку, в которой лежит чертёж? Прошерстил всё, что можно (подборка макросов Sw_Plus не помогла), не нашёл готового варианта.

К примеру, чертеж лежит в папке "C://Пупа", а надо сохранить PDF в папку "С://Пупа/PDF". Ну или чтоб макрос сам создавал эту подпапку, тогда ваще идеальный вариант.

В написании макросов не силён, закидайте тапками.

Для информации, SOLIDWORKS 2020, базовые макросы использую активно.

Ссылка на макрос: https://drive.google.com/file/d/18kE_eWY2U4k_VqIsUC9E6YgdcSd...

Правила сообщества

Нельзя: обсуждать политику.

0
Автор поста оценил этот комментарий
А не проще сохранить как пдф
Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не проще. Т.к. нужно каждый раз протыкивать дирректорию (пдф-ки лежат в подпапке относительно модели). А если чертежей много, то это уже рутинное монотонное повторение одного и того же действия.

А в целом, на проблему уже забил. Не получилось оптимизировать процесс, ну и буй с ним. Как-нибудь потом)

0
Автор поста оценил этот комментарий

Извиняюсь, видимо нашел код макроса с таким же названием, но немного другой. В этом подшаманить придется иначе. После первой строчки Filename добавляем:

Title = swModel.GetTitle

Вторую строчку Filename меняем на:

FileName = Left(FileName, Len(FileName) - Len(Title)) & "PDF\" & Left(Title, Len(Title) - 6) & "pdf"

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Всё сделал, как вы написали, но макрос выдает ошибку на строчке Title = swModel.GetTitle

Я подумал, что нужно задать переменную перед стартом макроса и дописал в начале Dim Title As String (1 скриншот)

Ошибка перестала выскакивать, но при запуске макроса просто ничего не происходит.

После попробовал сразу задать переменную Dim Title As swModel.GetTitle, эффекта тоже ноль (2 скриншот)

Иллюстрация к комментарию
Иллюстрация к комментарию
1
Автор поста оценил этот комментарий

С телефона не могу проверить, но предлагаю заменить в коде макроса swDraw.SaveAs(Filepath + FileName + ".PDF") на swDraw.SaveAs(Filepath + "pdf\" + FileName + ".PDF")

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

не нашел этой строчки в коде, попытался вставить в разные места, ничего не вышло(

Иллюстрация к комментарию
показать ответы
1
Автор поста оценил этот комментарий

С телефона не могу проверить, но предлагаю заменить в коде макроса swDraw.SaveAs(Filepath + FileName + ".PDF") на swDraw.SaveAs(Filepath + "pdf\" + FileName + ".PDF")

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо. Если за выходные не доберусь, в понедельник на работе проверю)

0
Автор поста оценил этот комментарий

А исходный макрос?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Добавил в пост

показать ответы