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

Макросы для чайников


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

Люди добрые! Помогите чайнику начать дружить с макросами.
Осознаю огромный потенциал этих зверюг, но пока не знаю с чего начать
Спасибо заранее за полезные ссылки и советы

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


55 минут назад, Le_on сказал:

не знаю с чего начать

1-й путь - академический: начать изучать справку по VBA и SOLIDWORKS API. када почуйствуешь что моск достаточно обогатился мудростью можно начинать писать макросы, т.е. код.

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

 

2-й путь - метод тыка: для людей с ограниченным ресурсом времени, малым запасом терпения, лентяев имеющих мечту и русских.

  1. поставь задачу;
  2. разрисуй блок-схему или хотя бы распиши алгоритм решения;
  3. пиши макрос - запускаешь SOLIDWORKS и Alt + F11.

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

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

  1. ищешь ответ в справке;
  2. не нашел в справке, спроси дядю Google или Yandex;
  3. не нашел в инете, можно проблему вытащить на этот или другой форум. 

ВАЖНО помнить!!! каков вопрос, таков и ответ.

 

1 час назад, Le_on сказал:

полезные ссылки и советы

http://www.streamdivision.com/

SOLIDWORKS API Help

 

 

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

Люди добрые! Помогите чайнику начать дружить с макросами.
Осознаю огромный потенциал этих зверюг, но пока не знаю с чего начать
Спасибо заранее за полезные ссылки и советы

Какие задачи видите на горизонте? Че решать, какие задачи не решаемые средствами SW,  собираетесь решать посредством макросов?

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

Я пошел таким путем:

 

1. Скачал книгу "VBA для чайников" и воспроизвел все примеры в редакторе.. За неделю управился..

2. Попробовал воспроизвести родной калькулятор от WinXP на VBA.. Потратил на это еще неделю.. Почти все сделал, кроме управления с клавы и логических функций, ибо никогда ими не пользовался.. А нет.. Еще еще перевод DEC/BIN/OCT/HEX не стал делать..

 

Вообщем понял, что, теоретически могу..

Вот только с SW API сложнее, ибо есть только справка на инглише.. И нужно с русского перевести так, чтобы поиск в хелпе понял, что я хочу..
А я вот немецкий в школе и институте учил..

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

Вот только с SW API сложнее, ибо есть только справка на инглише..

Не только справка, но и примеры имеются.

 

1 час назад, ILL сказал:

И нужно с русского перевести так, чтобы поиск в хелпе понял, что я хочу..

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

Или по инструментам можно искать справку на русском, а потом в строке адреса заменять Russian на English, т.к. страницы обычно в одном и том же месте, то обычно открывается справка на английском языке про тот же инструмент, где можно посмотреть как называется тот или иной инструмент на английском.

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

Вот только с SW API сложнее, ибо есть только справка на инглише.. И нужно с русского перевести так, чтобы поиск в хелпе понял, что я хочу..
А я вот немецкий в школе и институте учил..

а мне Google Переводчика выше башки хватает.

17 часов назад, Kelny сказал:

Для этого не плохо бы хотя бы на время отключить русский в программе Solidworks

да, время от времени приходится на English переключаться чтобы выяснить как та или иная команда в SOLIDWORKS называется.

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

Есть один британский дружок, который решил хайпануть за счёт продажи книжек "быстрого изучения макросов". Хайпануть получилось, но некие "тёмные" ребята слили его "труды" (которые он продавал чуть ли не за 60 фунтов британской короны года 3 назад) на рутрекер))). Дружок ещё чуток постриг бабла и ... теперь раздаёт книжки даром. Читал ещё на этапе продаж. Не впечатлило. Но кому то может пригодится сия литературка.

Там у него на сайте ещё какие-то макросы выложены

https://www.angelsix.com/solidworks

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

Спасибо за информацию и советы, буду начинать)

22 часа назад, IgorT сказал:

Какие задачи видите на горизонте? Че решать, какие задачи не решаемые средствами SW,  собираетесь решать посредством макросов?

Знал бы возможности точно, то сформулировал поточнее) А так, навсидку, хотелось бы сделать сортировку файлов. За десять лет скопилось целое море конструций, попадаются подобные детали, сборки, хотелось бы в группы пособирать.
Еще задачка - проверить правильность содания детали,- помните, как в экзаменах строится деталь по эскизу, проверяется ее масса, перестраивается с новыми размерами, и снова замеряется масса. Если налажал с взаимосвязями или в определениях, то масса будет отличаться от правильной...
Это первое, что пришло на ум, дальше, уверен, еще интересные задачки появятся.

@fox1001 , спасибо за полезную ссылочку, просто и интересно сделано

 

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

А так, навсидку, хотелось бы сделать сортировку файлов. За десять лет скопилось целое море конструций, попадаются подобные детали, сборки, хотелось бы в группы пособирать.

 

post-12000-1201693651_thumb.jpg

Jpeg_0006.thumb.jpg.9da30ecbbf7558df0b753d58b17af8e5.jpg

Jpeg_0001!.thumb.jpg.0d862da0516702ce92a47db371c84d5e.jpg

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

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

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

@Sergey2

Dim swApp As Object

Dim Part As Object
Dim longstatus As Long, longwarnings As Long
Dim objFSO As Object
Dim lErrors As Long
Dim lWarnings As Long

Sub main()
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Dim FileName As String
FileName = Part.GetPathName
Dim modelName As String
modelName = objFSO.GetBaseName(FileName)
Dim folder As String
folder = objFSO.GetParentFolderName(FileName)
Dim fullPath As String
Dim MainPath As String
fullPath = folder & "\" & modelName & ".STL"
Dim swExportPDFData As SldWorks.ExportPdfData
Set swExportPDFData = swApp.GetExportFileData(1)

longstatus = Part.Extension.SaveAs(fullPath, 0, 1, swExportPDFData, lErrors, lWarnings)
End Sub

 

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

Для имени конфигурации

Dim config As SldWorks.Configuration
Dim configName As String
Set config = swModel.GetActiveConfiguration
configName = config.Name



fullPath = folder & "\" & configName & ".STL"

 

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

подскажите еще, плз. Мне нужно сохранить три вида детали. В макросе есть команды аналогичные кнопкам с панели вид. Справа, слева, сверху, изометрия. Но мне нужна изометрия с другой стороны. Ну то есть есть деталь и при выборе вида "изометрия" "взгляд" движется налево и вверх. А мне нужно получить вид справа сверху. Надесь понятно обьяснил.

Сейчас "записал" повороты детали и воспроизвожу их, но это занимает время а когда деталей много то это существенно. 

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

А зачем? Потом эти виды в чертёж идут?

нет. что б посмотреть на деталь с разных сторон

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

Сейчас "записал" повороты детали и воспроизвожу их, но это занимает время

 

20 часов назад, Sergey2 сказал:

что б посмотреть на деталь с разных сторон

Так для этого макросы не нужны - есть штатная возможность в окне "Ориентация" сохранения и использования именованных видов

 

 

Ссылка на сообщение
Поделиться на других сайтах
В 11.02.2020 в 18:35, Plumber сказал:

 

Так для этого макросы не нужны - есть штатная возможность в окне "Ориентация" сохранения и использования именованных видов

 

 

а как его использовать? Создал свой вид. Но не вызывается он :(

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

а как его использовать? Создал свой вид. Но не вызывается он :(

Ты бы сразу людям сказал бы, что нужно тебе.. тебе подскажут, а ты начинаешь из далека.

Скажи сразу нужно делать типа каталога деталей или еще что..

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

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

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

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

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

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

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

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

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

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

    • alek77



  • Сообщения

    • Denis_12
      Доброго времени суток! Ребят, ни как не могу решить проблему авто-обновления чертежного вида 3D сборки, к примеру скрываешь все кроме основания каркаса сборки, переносишь это в 2D (чертежный вид) указываешь размеры и т.п. (ставишь галочки "исключить из авто-обновления") после чего начинаешь в 3D сборке показывать дополнительно стойки (для создания нового вида), и вот в ранее созданном виде даже с отключенным авто-обновлением они тоже начинают проявляться. Как решить эту проблему? Нужно зафиксировать вид, чтобы он не обновлялся без моего участия. SolidWorks 2022 года.
    • Зинаида
      Возможно Вы смотрите не в той перспективе. Проверьте в перспективе "Мой Teamcenter" стоя на ревизии объекта. Возможно Вы смотрите не в той перспективе. Проверьте в перспективе "Мой Teamcenter" стоя на ревизии объекта.
    • alek77
      Да, спасибо, я уже из интереса ее нашел. Еще раз повторю, чтобы не выхватить, сам я такими методами указния размеров не пользуюсь, это самая вредная практика из всех, что встречал. В свое время имел много проблем в автокаде, корректируя чужие чертежи. Но там и отртогональные линии под углом в 0,001 градуса были в норме, и миллион линий одна поверх другой, и незамкнутые отрезки и много всего, от чего волосы дыбом. В солиде, думал, не столкнусь с таким, наивный. Поэтому искал и нашел макрос который косяки размеров подсвечивает. Он вполне рабочий, но не стабильный. В чем причина не разбирался, так как со своей задачей он справляется. Причем отрабатывает и галочки, и замену текста в размере. Хорошо, что @malvi.dp нашел время и что-то корректирует, спасибо отдельное ему за это. Макрос достаточно полезный при работе с чужими документами. И если удастся сохранить все начальные функции этого макроса против изощренных методов вредительства - будет офигенно.
    • Kelny
      Если этой ссылки достаточно для отображения материала и материал уже есть в обозначенной модели, то возможно подойдёт TabBuilder: https://help.solidworks.com/2023/russian/SolidWorks/SWHelp_List.html?id=e68c1877b4fa431483f8c751bd9fcc78&_gl=1*lby1j3*_up*MQ..*_ga*NTEyNjA5NDQ3LjE3MTQxMTU3MzA.*_ga_XQJPQWHZHH*MTcxNDExNTcyOS4xLjEuMTcxNDExNTczNy4wLjAuMA..#Pg0   В старых версиях при написанни ссылок такого радо в некоторых случаях можно было не писать имя файла, а достаточно было вместо имени файла модели оставить ПРОБЕЛ.SLDPRT и имя после этого подставлялось само. Пробовать надо.   Так же можете глянуть макрос по изменению свойств файла (методы и функции там устаревшие, но возможно даже будет работать и можно поковыряться в коде): https://kelnyproject.ucoz.ru/load/6-1-0-8 по програмированию так же есть справка (версию в ссылке поменяйте на свою, что бы справка была актуальна для вашей версии): https://help.solidworks.com/SearchEx.aspx?query=get custom property&version=2010&lang=english,enu&prod=api
    • gudstartup
      только перед обновлением обязательно выполните  все что написано в руководстве и касается сохранения состояния станка и чпу. и обязательно сделайте образ диска и помните что слишком новые версии могут не заработать на вашем чпу относительно безопасно ставить только сервиспаки
    • NordCom
      Большое спасибо! Через это меню удалось зайти в меню. 95148->MOD
    • Danil89nur
      Доброе время суток. Столкнулся с проблемой на новой работе. Много деталей у который в свойствах отсутствует раздел "Материал" и приходится каждый раз вручную заходить туда, создавать раздел и выбирать там ""SW-Material@Name.SLDPRT". Возможно кто-то знает, либо сможет помочь с написанием простенького макроса, при нажатии на который в свойствах детали будет создаваться необходимый раздел и в нем сразу написан выбранный материал (желательно, чтоб там было указано сразу наименование материала, а не формула для его получения ""SW-Material@Name.SLDPRT"). Пытался самостоятельно через ChatGPT, но так как в програмировании я 0, то ничего не получилось)
    • Bot
      Коллеги, Благодарю вас за интерес к проекту электронной энциклопедии в области инженерного программного обеспечения PLMpedia, который более 15 лет развивался группой компаний ЛЕДАС. Представленный ниже скриншот передаёт содержание и структуру базы данных энциклопедии, накопленной за эти годы: именно такую начальную страницу, можно было до сегодняшнего дня увидеть, придя по адресу https://plmpedia.ru/ В последние несколько лет ЛЕДАС особенно интенсивно и результативно вкладывает все ресурсы в развитие своего основного бизнеса: см. ниже «О компании ЛЕДАС». Сегодня я с некоторым сожалением констатирую, что у компании ЛЕДАС более нет возможности отвлекать ресурсы своих сотрудников на некоммерческий (фактически волонтерский) проект PLMpedia. Вся база данных ресурса может быть безвозмездно передана любому юридическому или физическому лицу с единственным условием: наш преемник должен будет публично объявить о состоявшейся передаче и взятии на себя [...] View the full article
    • gudstartup
      @NordCom  у вас наверное это так происходит читайте этот раздел itnc_530.pdf
    • fenics555
      интересный индус. А нового то чего?
×
×
  • Создать...