Добрый день! В этой статье хочу поделиться перечнем макросов, которые я написал и кратким их описанием. Впоследствии планирую про каждый макрос написать более подробно с описанием моментов, которые на тот момент вызвали у меня сложности. Но создание любой статьи занимает время, которого всегда на всё не хватает. Если кому понадобится какой либо-либо из макросов приведённых в этой статье, пишите комментарии и я с Вами поделюсь.
Сохранение в PDF / 3D PDF
Основу этого макроса я нашел где-то на просторах интернета, и немного его доработал. Что он делает, если мы работает с Деталью или Сборкой по нажатию на кнопку макроса происходит сохранение в 3D PDF, если мы находимся в Чертеже, то 2D PDF обычная картинка. После сохранения спрашивает открывать или нет.
Создать чертёж / чертёж из детали
Как видно из названия, макрос создаёт чертёж из детали или просто новый чертёж (это два разных макроса) В данной задачи и без макроса пара кликов, но мне он был нужен при частом создании чертежей с конкретным шаблоном. Зачастую под каждого заказчика проще сделать свой шаблон чертежа, со всеми хотелками клиента, следственно шаблонов много и чтобы не искать каждый раз я написал макрос.
Чертеж - развертка -DXF
Это был один из самых первых макросов, который большей частью был записан при помощи инструмента записи макросов (который записывает Ваши действия) Но в лоб, он не заработал, и его пришлось править... И так что он делает. Применяется к деталям из листового метала. При запуске макроса он создаёт чертёж, на нём размещает Вид с развёрткой, далее устанавливает масштаб 1:1, удаляет все лишние обозначения (лини сгиба, аннотации) и сохраняет в DXF. Мне этот макрос был необходим для подготовки чертежей под лазерную резку, на резке было требование, что чертёж 1:1 и ничего лишнего, когда чертежей несколько десятков этот макрос выручает.
Расчет количества отверстий в деталях мебели
Тут начнём с задачи. Проектируя каркасную мебель из ЛДСП, производителю необходимо подготовит спецификацию, в которой указы размеры детали (это SolidWorks сам хорошо делает) но в этой спецификации еще необходимо указать отверстия трёх групп, 0-10 мм, 11-20 мм, больше 20 мм. Вот для расчёт количества этих отверстий и добавления их в специю и был написан этот макрос.
"Свойства файла" добавление, редактирование, удаление.
Есть такая таблица как "Свойства Файла" в котором содержится информация о детали, которую в последствии можно подтянуть в чертеже, в спецификации или в аннотациях. И вот макросы позволяют это сделать, в том числе на все детали в сборке. К примеру, добавить параметр Массы детали на каждую деталь сборки. Если в сборке даже пара десятков деталей, то руками каждый переправить это весьма долго.
Создание, чтение, редактирование TXT, CSV, Excel
Тут речь идёт скорее о группе макросов, которые умеют работать с текстовыми документами, с текстом с разделителем (CSV) и с Эксель таблицами. Скажу только, что с ними можно взаимодействовать. Я пробовал со всеми из приведённых в заголовке.
Создание STEP на основе таблице Excel
Была задача, на основе Excel таблице сгенерировать модели подшипников в формате Step для дальнейшего размещения на сайте, чтобы конструкторам было удобно скачивать и использовать в своих разработках. Различных типов подшипников несколько десятков, в каждом типе по несколько сотен вариантов размеров. И того общее количество несколько 1000 разных моделей. Для решения этой задачи были созданы модели (шаблоны) подшипников на каждый тип. Далее макрос разбирал Excel таблицу, из неё он определял какой нужен тип, какие у него должны быть размеры и полученный результат сохранял в STEP. Если руками вносить правки размеров на каждый подшипник (5-7 размеров) + открыть, сохранить - занимаем 2-3 минуты. Но на 10000 шт. это уже 333 часа, или 2 месяца работы по 8 часов. Макрос это делает за несколько минут.
DimToolBox, ToolBox по другому
Многие используют библиотеку (в основном метизов) в своих разработках, но у неё кроме большинства плюсов есть некоторые особенности. Если SolidWorks Standart то он не поддерживает установку ToolBox а там где SolidWorks честно куплен переплачивать за PRO версию экономически не целесообразно. Когда мы вставляем из библиотеки элемент в нашу сборку он не сохраняется как отдельная деталь сборки, а сохраняется как ссылка на библиотеку ToolBox, а если у Вас немного другая версия этой библиотеке, то болт может не только поменять размер, но и стать гайкой. Еще вариант, что если мы немного изменили длину болта, после перезагрузки SolidWorks всё вернёт обратно. По этой причине и в качестве самообучения работы по написанию макросов я придумал для себя задачу сделать DimToolBox (Dim т.к. моё имя Дмитрий ). Для работы этого макроса я использовал CSV документ (Мне казалось чо с ним будет работать проще чем с Excel, это заблуждение!!!), и шаблоны элементов (Болты, винты, гайки, шайбы) Но к примеру у болтов параметр длина вводится произвольный, это сокращает записи в таблице и можно сразу указать какой нужен (правда его в природе может не существовать). То что, получилось, сохраняется в Вашей модели как деталь (Но в Свойстве Файла прописывает, что это "Стандартное изделие"). Причём это могут быть не только метизы, а всё, что угодно, в файле конфигурации прописаны какие размеры мы меняем. Поэтому для создания своего элемента не нужно править макрос, нужны только изменения в файле конфигурации.
Макрос с поддержкой GPT
И напоследок немного новых технологий, это для меня они новые а для кого-то уже повседневность. Задачу я придумал следующую, есть металлоконструкция, SolidWorks умеет посчитать какой длины и какие нужны профили, а мне хотелось, чтобы он еще сказал сколько нужно купить 6 метровых заготовок и сколько они будут стоить. Вот для раскроя и стоимости я использую GPT чат. Подключиться из под макроса я смог к Yandex GPT API , можно и к другим, но с Яндексом и подключением к нему из приложений было как то больше информации, да и на родном языке документация. Тут я познакомился как правильно составлять запросы и как научить отвечать набором чётких данных (цифры через ";" и ничего лишнего). И полученный результат добавляется к спецификации. В встроенную таблицу спецификации встроить не удалось в вот скопировать всё её содержание, создать новую, вставить туда и добавит нужные поля уже получилось. Не удалось только получить стоимость, как оказалось, что GPT чаты не умеют ходить в интернет, всё что они знаю это их гигантская база данных. Свежи модули уже умеют искать в интернете, но тот с которым я работал, не умел.
На этом на сегодня всё, далее буду разбирать более подробно как эти макросы работают, т.к. всё что я пишу именно для того чтобы поделиться своими наработками.