Перейти к публикации

Рекомендованные сообщения

В 02.06.2017 в 17:51, ILL сказал:

Тыкаю мышкой в любое место окна, а окно макроса мыргает, типа "я тут сверху, к солиду не лезь!!!"

Это что... у меня макросы вообще на 15м стали разрушаться с завидным постоянством. В один прекрасный момент бац, и больше не открыть редактор макросов. Перелез на сишарп, что и другим могу посоветовать.

Ссылка на сообщение
Поделиться на других сайтах


Добрый день, может у кого есть макрос? Что бы при сохранении чертежа, автоматически сохранялся файл PDF в той же папке и с таким же именем.

Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, mykolasolonynka сказал:

Добрый день, может у кого есть макрос? Что бы при сохранении чертежа, автоматически сохранялся файл PDF в той же папке и с таким же именем.

Я использую его более трех лет.

SaveAsPDF.swp

Ссылка на сообщение
Поделиться на других сайтах
45 минут назад, mme сказал:

Я использую его более трех лет.

SaveAsPDF.swp

Спасибо, все работает, только в имени файла PDF постоянно не хватает одной буквы, но это не критично.

Ссылка на сообщение
Поделиться на других сайтах

запуск из    Save_as_DWG_and_PDF. Сохраняет в PDF и DWG в папке по умолчанию (изменить в теле макроса). Если ее нет - открывает диалог поиска места сохранения. Проверяет наличие 

в указанной папке идентичных имен и предлагает либо перезаписать, либо сохранить с другим именем. Без разницы, что сохранять, сборку, деталь или чертеж. Обращаю внимание, "тяжелые" сборки

в ПДФ могу сохраняться не совсем адекватно, в DWG нормально. Код открытый, комментов достаточно.

Save_DWG_PDF.swp

Ссылка на сообщение
Поделиться на других сайтах
В 4.06.2017 г. в 19:50, mykolasolonynka сказал:

Спасибо, все работает, только в имени файла PDF постоянно не хватает одной буквы, но это не критично.

У меня такая ошибка не существует. Приведи пример нескольких файлов.

Ссылка на сообщение
Поделиться на других сайтах
12 часа назад, mme сказал:

У меня такая ошибка не существует. Приведи пример нескольких файлов.

Полагаю, что в алгоритме программы заложено затирать расширение и потом удалять один символ точки, если расширение не отображается, то ни чего не отбрасывается (т.к. нечему), но один символ удаляется (т.к. точки нет, то удаляется последний символ имени файла).

 

В 04.06.2017 в 19:50, mykolasolonynka сказал:

Спасибо, все работает, только в имени файла PDF постоянно не хватает одной буквы, но это не критично.

Включите в операционной системе Windows отображение расширений для всех типов файлов.

Обычно в свойствах папок поставить или убрать соответствующие галочки: Параметры папок... закладка ВИД.

Изменено пользователем Kelny
Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, Kelny сказал:

Полагаю, что в алгоритме программы заложено затирать расширение и потом удалять один символ точки, если расширение не отображается, то ни чего не отбрасывается (т.к. нечему), но один символ удаляется (т.к. точки нет, то удаляется последний символ имени файла).

 

Включите в операционной системе Windows отображение расширений для всех типов файлов.

Обычно в свойствах папок поставить или убрать соответствующие галочки: Параметры папок... закладка ВИД.

Да-а-а-а-а. Я забыл сказать вам об этом.

P11.jpg

Ссылка на сообщение
Поделиться на других сайтах

Кстати, вообще бесит прям, что в зависимости от настроек винды

.GetTitle()

возвращает имя то с расширением то без :wallbash:

Вот нет бы

.GetTitle(bool includeExtension)

сделать и всё - все счастливы

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, streamdown сказал:

возвращает имя то с расширением то без :wallbash:

Вот нет бы

Рискну предположить, что это связано ни сколько с разработчиком Solidworks, сколько с функциями взаимодействия с WinApi. Хотя может разработчики не совсем корректную функцию получения имён файлов используют.

Хотя моё личное мнение, что все расширения в ОС должны быть включены, тогда вам точно не подсунут какой-нибудь вирус с двойным расширением, например, файл-картинка.jpeg.exe, который без расширения виден как картинка файл-картинка.jpeg и многие не продвинутые пользователи попадаются на такой уловке, запуская вредоносную программу.

Ссылка на сообщение
Поделиться на других сайтах

@Kelny что там в этих WinAPI - бог с ними. Но это же солидовское API. И метод чуть ли не самый частоприменимый. Ведь наверняка у них есть для себя отдельный метод получения имени модели БЕЗ расширения, который основан на GetTitle() + вычленение имени. Не, ну можно, конечно, и самому всё сделать, но блин ...

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, streamdown сказал:

 


.GetTitle()

возвращает имя то с расширением то без :wallbash:

 

Я об этом узнал, ну как и полагается, когда у заказчика не заработала программа :)
Тоже меня шокировало... Нежданчик...

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, Kelny сказал:

тогда вам точно не подсунут

:smile: индусам из солида должно быть на это плевать.

 

Кстати, уже который год замечаю, что именно при использовании API SW получаю то - что реально есть. За всё время у меня код из-за API свалился от силы один-два раза. Да и то workaround был найден буквально за час. Т.е. качество выполнения уровня ядра - на высоте. Чего не скажешь об остальном навеске от SW CORP в виде Solidworks :biggrin:

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, streamdown сказал:

Кстати, уже который год замечаю, что именно при использовании API SW получаю то - что реально есть. За всё время у меня код из-за API свалился от силы один-два раза. Да и то workaround был найден буквально за час. Т.е. качество выполнения уровня ядра - на высоте. Чего не скажешь об остальном навеске от SW CORP в виде Solidworks :biggrin:

Не задумывался над этим, но ведь такая же ситуация, правда программы несложные, а проекты громоздкие, на тысячи деталей в одной сборке... С каждым годом солид валится все чаще, но с помощью апи - никогда. Раздражает правда, когда солид вылетает при ошибке в моем коде, когда трай/кэтч не поставил, но это лечиться :biggrin:

Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, streamdown сказал:

что там в этих WinAPI - бог с ними. Но это же солидовское API.

Solidworks API скорее всего использует заимствованные методы получения имён файлов, а не свои собственные для прямого обращения, поэтому WinAPI может иметь самое прямое значение.

27 минут назад, streamdown сказал:

Ведь наверняка у них есть для себя отдельный метод получения имени модели БЕЗ расширения

Есть сомнения в этом, потому как помнится какой-то инструмент рубил конец имени файла в Solidworks, когда расширение не отображалось в ОС.

Изменено пользователем Kelny
Ссылка на сообщение
Поделиться на других сайтах
34 минуты назад, Krokogen сказал:

солид вылетает при ошибке в моем коде

не всегда возможно учесть вот прям все ошибки.

 

33 минуты назад, Kelny сказал:

Solidworks API скорее всего использует заимствованные методы получения имён файлов

какая разница? SWAPI пишут сами индусы, а не из ядра тягают. Метод расширения написать и включить его в основной состав "как 2 пальца".

33 минуты назад, Kelny сказал:

рубил конец имени файла в Solidworks, когда расширение не отображалось в ОС

хосспади

Цитата

If(fullPath.Contains(".sld")) then ...

:drinks_drunk:

Или можно всякие EndsWith (чисто для примера)

Кароч, море возможностей и море всяких исключений словить и всё.

 

Изменено пользователем streamdown
Ссылка на сообщение
Поделиться на других сайтах
16 минут назад, streamdown сказал:

хосспади

Цитата

If(fullPath.Contains(".sld")) then ...

В своей программе это всё понятно, говорил о встроенном инструменте программы Solidworks, который рядовой пользователь поправить не может, а может лишь включить расширение в ОС для корректной работы Solidworks. Это к тому, что вы написали, что разработчиков Solidworks наверняка имеют инструмент получать полное имя файла с расширением - похоже у них такого инструмента нет (или они используют не корректные методы получения имени файлов в некоторых инструментах), т.к. даже их программа сбоит в отсутствии расширений у файлов (их сокрытие в ОС).

Ссылка на сообщение
Поделиться на других сайтах

@Kelny мне кажется, они просто ленивые))) или запросов на улучшение для данной темы у них было меньше чем необходимо.

Вот если совсем влом не будет))) напишу свою либу с расширением функционала SW. Чего стоит этот GetTitle() или там IsToolboxPart для всех версий SW

Изменено пользователем streamdown
Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, streamdown сказал:

или запросов на улучшение для данной темы у них было меньше чем необходимо.

Проблема не только в запросах, запросы то по текущей версии, а в это время параллельно ещё 1-2-3 новых версии подбивают, вот и выходит, что даже востребованные запросы могут уйти в небытие.

Ссылка на сообщение
Поделиться на других сайтах
В 2 июня 2017 г. в 21:06, Kelny сказал:

Бывало на разных версиях, после SW2007,


Мне первый раз встретилось.. Впрочем, мне на работе не все версии солида подряд ставили..

 

В 2 июня 2017 г. в 21:06, Kelny сказал:

mlHWnd = FindWindowA("XLMAIN", Application.Caption)


Вместо "XLMAIN" для солида что указывать??

 

В 3 июня 2017 г. в 21:16, Krokogen сказал:

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


 

Цитата


Ошибка при окрытии файла макроса.

Система может быть в нестабильном состоянии.


Не??

Ладно резервную копию сделал, а то 2-хлетний труд насмарку.. правда без последних изменений..

 

В 3 июня 2017 г. в 21:16, Krokogen сказал:

Перелез на сишарп, что и другим могу посоветовать.


Я сейчас пытаюсь солид с LabView подружить.. Примерно так:

http://forums.ni.com/t5/LabVIEW/How-do-I-get-the-OpenDoc-Solidworks-ActiveX-method-to-work-in/td-p/2185784

Перевод через гугл транслейт:


https://translate.google.ru/translate?sl=en&tl=ru&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Fforums.ni.com%2Ft5%2FLabVIEW%2FHow-do-I-get-the-OpenDoc-Solidworks-ActiveX-method-to-work-in%2Ftd-p%2F2185784&edit-text=

Но пока не выходит.. Может кто пособить??



 


 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...