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

Сделай свою работу в Solidworks эффективнее


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

5 часов назад, Rich сказал:

Спасибо, дружище, заработало. До момента установки 23 версии как второй и не знал о таком трабле, все старые вещи работали как часы, ну изредка менял библиотеку.

Рад помочь ) Сам "ехал на этом коне", вот и запомнил )

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


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

Ну и выдрал все (примерно 20 тысяч). SW2018

https://disk.yandex.ru/d/_uwf8Wr4ALl_1w

Скрытый текст

image.png

Размер архива 82Mb

ps. PrintScreen не комильфо

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

Добрый день ! Использую SW2017 SP5 и макросы SPlus 2017. Виндовс 10х64. Никак не получается запустить SpecEditor, выдает ошибку Run-time error '13'.

При нажатии Debug выдает вот такое:

While k = 1
    k = 0
    For i = 2 To nNumRow - 1
    If swTable.Text(i, nNumColumn - 1) < i - 1 Then
        ok = swTable.MoveRow(i, swTableItemInsertPosition_First, i - 1)
        k = 1
        Exit For
    End If
    Next i
Wend

В чем может быть проблема?

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

В чем может быть проблема?

Как вариант, в отстутствии таблицы.

Возможно не удалось получить объект swTable, а значит все последующие комманды на этот объект будут не доступны.

 

Попробовать переместить курсор в макросе на процедуру main() или запустить макрос пошагово клавишей F8 в редакторе макросов и прослеживать объекты и перменные наводя на них мышь (должна показаться подсказка с содержимым объекта, переменной) и т.п. манипуляции для отладки.

 

Возможно проблема вообще в начале кода, как например тут:

Цитата

 

...

не работает основная функция "Set Part = swApp.ActiveDoc" ничего в переменную не передает.

...

https://cccp3d.ru/topic/6071-сделай-свою-работу-в-solidworks-эффективнее/?do=findComment&comment=1704926

 

 

и ответ там следующим сообщением:

Цитата

Попробуйте заменить CreateObject("SldWorks.Application") на  Application.SldWorks

Так же замените Dim swApp As Object на Dim swApp As SldWorks.SldWorks

 

https://cccp3d.ru/topic/6071-сделай-свою-работу-в-solidworks-эффективнее/?do=findComment&comment=1704928

 

 

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

Так зачем для этого макрос? Если вы показали инструмент, который это делает без макроса.

1. Выбираете подсборку, которую нужно освободить, в дереве

2. Правой кнопкой мыши и ПЕРЕЗАГРУЗИТЬ

3. В правом верхнем углу появившегося окна нажать кнопку ОТОБРАЗИТЬ ССЫЛКИ

4. Поставить галочку в столбце ТОЛЬКО ДЛЯ ЧТЕНИЯ

5. Что бы не перезагружать подсборку снять галочку в соответствующем столбце ПЕРЕЗАГРУЗИТЬ.

5. Нажить ОК.

Всё, подсборка и все файлы подсборки имеют статус ТОЛЬКО ДЛЯ ЧТЕНИЯ.

Аналогично, для возврата контроля над файлами - только в этом случае наоборот снять галочку ТОЛЬКО ДЛЯ ЧТЕНИЯ.

SW2020 для верхней сборки пункта ПРЕЗАГРУЗИТЬ не нашел.

 

Есть сборка (без подсборок), в которой все компоненты "только для чтения". Как со всех компонентов снять условие "только для чтения"? И чтобы это осталось при сохранении и закрытии сборки.

 

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

SW2020 для верхней сборки пункта ПРЕЗАГРУЗИТЬ не нашел.

Нашел Перезагрузку в меню Файл. Но после повторного открытия сборки опять всё только для чтения. Как, всё-таки, отменить это для всех компонентов "навсегда"?

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

Есть сборка (без подсборок), в которой все компоненты "только для чтения". Как со всех компонентов снять условие "только для чтения"? И чтобы это осталось при сохранении и закрытии сборки.

Где установелно это условие? В атрибутах самих файлов? Тогда выберите эти файлы в менеджере файлов (explorer, total comander и т.п.), через контекстное меню выберите СВОЙСТВА и снимите соответствующую галочку ТОЛЬКО ДЛЯ ЧТЕНИЯ.

Если эти файлы с ограниченным доступом на сервере, то дайте прова на чтение и запись для этих файлов.

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

Где установелно это условие?

В Солиде. Это условие в Солиде. Причем, только в сборке. В сборке файлы в состоянии "только для чтения". Если открыть файл без сборки, его можно редактировать и сохранять. Если открыть файл из сборки, то при попытке сохранить сообщение "Файл только для чтения, если хотите...."

Причем никакого "другого пользователя" нет и быть не может. Я работаю на локальном компе. И никакой сети никогда на нем не было.

 

 

изображение.png

 

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

В Солиде. Это условие в Солиде. Причем, только в сборке. В сборке файлы в состоянии "только для чтения". Если открыть файл без сборки, его можно редактировать и сохранять.

Инструменты-Параметры...-Настройки пользователя-Внешние ссылки и в самом верху Открыть ассоциированные документы с доступом только для чтения

Галочку соответственно надо снять.

 

 

 

22 минуты назад, Ветерок сказал:

Причем никакого "другого пользователя" нет и быть не может. Я работаю на локальном компе. И никакой сети никогда на нем не было.

Такое бывает, когда сессия программы загружается в память, но не отображается для пользователя - но это похоже не ваш случай.

При ПРЕЗАГРУЗКЕ, надо повторить все пункты инструкции изложенной выше, раскрыть список всех файлов (кнопка отобразить ссылки), в противном случае вы не меняете статус для входящих компонентов.

 

Если добавить галочки Инструменты-Параметры...-Настройки пользователя-Взаимодействие, то можно получать доступ к файлу так же через Меню-Файл-Получить доступ на запись, если препятсвий к этому не будет, то открытый файл только для чтения этот статус поменяет, но это будет нужно делать для каждого файла, а не оптом как при использовании инструмента ПЕРЕЗАГРУЗИТЬ.

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

Галочку соответственно надо снять.

Спасибо. Сработало. После того, как закрыл сборку и открыл заново.

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

Спасибо. Сработало. После того, как закрыл сборку и открыл заново.

Тем неменее даже при наличии этой галочки, при ПЕРЕЗАГРУЗКЕ с правильными параметрами (Кнопкочка ОТОБРАЗИТЬ ССЫЛКИ и галочки ТОЛЬКО ЧТЕНИЕ должны быть сняты для интересующих вас файлах), статус файлов должен меняться и они не должны быть ТОЛЬКО ДЛЯ ЧТЕНИЯ.

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

Тем неменее даже при наличии этой галочки, при ПЕРЕЗАГРУЗКЕ с правильными параметрами (Кнопкочка ОТОБРАЗИТЬ ССЫЛКИ и галочки ТОЛЬКО ЧТЕНИЕ должны быть сняты для интересующих вас файлах), статус файлов должен меняться и они не должны быть ТОЛЬКО ДЛЯ ЧТЕНИЯ.

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

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

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

Это да, но в этом что-то есть в некоторых случаях, что бы не отредактировать лишнего.

 

Ну а если всё таки надо отредактировать, то:

4 часа назад, Kelny сказал:

Если добавить галочки Инструменты-Параметры...-Настройки пользователя-Взаимодействие, то можно получать доступ к файлу так же через Меню-Файл-Получить доступ на запись

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

Доброго дня!

Есть ли возможность как либо програмно ставить галку и управлять значением для гуппы позиций(см рисунок).

Set swNote = swModelDocExt.EditBalloonProperties2(...) отлично регулирует все настройки выше, а вот галку и значение нет. 

 

 

image.png

Изменено пользователем Docuk1
Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...

Добрый день!
С некоторых пор перестал приходить на почту дайджест 
"Помощь новичку Solidworks" и
"Сделай свою работу в Solidworks эффективнее"
Что-то случилось? Что нужно сделать, чтобы возобновить?

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Добрый день!

Не подскажете, существует макрос, который автоматически перешерстит папку с чертежами и во все вставит Новые Технические Требования? 

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

Т.к. отдельного инструмента для ТТ в программе нет, то просто так нахрапом не получиться из-за того, что просто так не удасться разделить заметки в документе на те что ТТ или не ТТ. Нужно проверять все заметки в документе и анализировать содержимое.

 

Если ТТ вставлялись макросом, который присваивал заметке своё уникальное имя (вроде идентификатора заметки), то задача макроса может быть проще - нужно будет проверить только те заметки которые помечены как ТТ и заменить содержимое в них.

Как вариант открываем документ цепляем любую заметку которая найдётся по координатам над штампом, удаляем выделенное и вставляем новую заметку или заменяем текст в выделенной заметке.

 

Если заметку с ТТ поместить в ОСНОВНУЮ НАДПИСЬ (форматку), то можно будет просто заменить форматку на другую с нужными ТТ, но не слышал, что бы кто-нибудь так делал. Так понимаю, что большинство пользователей вписывает ТТ на поле чертежа - покрайней мере большинство макросов для ТТ делают именно так.

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

А если упростить задачу: Вставлять пакетно текст за полем чертежа в любом месте во все чертежи в папке.

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

А если упростить задачу: Вставлять пакетно текст за полем чертежа в любом месте во все чертежи в папке.

Если в последствии надо будет открыть эти чертежи вручную и проделать работу по удалению старых ТТ с размещением новых, то это ни сколько не ускорит вашу работу. Думается, в этом случае будет проще один раз скопировать заметку с ТТ и просто пройтись по всем чертежам самостоятельно (без макросов) сразу удаляя старую заметку и вставляя новую из буфера обмена.

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

Поставлю вопрос иначе. Существуют макросы для заполнения тех. требований чертежа. Чтоб не компилировать постоянно из шаблонов за полем чертежа, а, например, в макросе выбирать checkBoxom нужные требования и он будет автоматически формировать нужные пункты. Например, термообработку, покраску, неуказанные отклонения и т.д. 

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

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

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

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

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

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

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

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

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

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

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



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