Solidworks не работает макрос

Разработка API-приложения для программного пакета SolidWorks 2012. Часть1

SolidWorks API (Application Programming Interface) — это интерфейс, позволяющий разрабатывать пользовательские приложения для системы SolidWorks. API – интерфейс содержит множество функций, которые можно вызывать из программ Microsoft Visual Basic, Microsoft Visual C++, Microsoft Visual Studio или из файлов-макросов SolidWorks. Эти функции предоставляют программисту прямой доступ к функциональным возможностям SolidWorks.

С помощью API – приложений можно решать множество различных задач, например такие как: интеграция SolidWorks с другими программными пакетами, разработка специализированных модулей, добавляющих к базовым возможностям SolidWorks дополнительную функциональность и различные другие задачи. API – приложения позволяют получить множество конфигураций одной детали или сборки, тем самым выиграть огромное количество времени при принятии конструкторских решений.

Разработка API — приложения может осуществляться на уровне создания макроса в SolidWorks, либо на уровне отдельного приложения, написанного на языке C# или VisualBasic. Все динамические библиотеки, необходимые для работы с API – приложениями автоматически инсталлируются вместе с SolidWorks. Как правило, если необходимо разработать полноценное приложение, для геометрических построений удобнее использовать программный код, записанный в макрос SolidWorks. Для начала работы с макросами, необходимо в программном пакете SolidWorks отобразить панель инструментов «Макрос».

Cоздание нового макроса и его выполнение

Последовательность действий для создания макроса в SolidWorks.

1. Перед тем, как начать записывать макрос, необходимо создать новый файл детали (сборки).
2. Для начала записи макроса на панеле «Макрос» кликнуть «Запись\пауза макроса», после чего каждое построение или изменение свойства будет записываться в файл макроса.
3. Далее проводим все построения, которые должны быть отображены в программном коде макроса.
4. После этого останавливаем запись, кликнув «Остановить запись макроса». Появится окно, в котором необходимо указать физический путь файла макроса на жестком диске и указать формат, в котором он будет записан.

Форматы, в которых может быть сохранен макрос:

• VBA – упрощенная реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office.
• VSTA VB – макрос будет сохранен в программном коде на языке Visual Basic. VSTA – инструментарий расширения функциональности приложений, основанный на .NET.
• VSTA C# — макрос будет сохранет в программном коде на языке C#.
Для того, чтобы выполнить записанный макрос необходимо на панеле «Макрос» кликнуть «Выполнить макрос», после чего появится окно «Открыть».

Редактирование макроса

Для того, чтобы редактировать созданный макрос, необходимо на панеле «Макрос» кликнуть «Редактировать макрос», после чего в появившемся окне указать расположение файла макроса на жестком диске и его формат. Для редактирование макроса (VB, C#) используется набор инструментов Visual Studio for Applications (VSTA). VSTA автоматически запускается после выбора макроса для редактирования. В окне VSTA отображается сгенерированный код редактируемого макроса.

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

Создание приложения в Visual Studio

Указание ссылок на библиотеки

API – приложение можно разрабатывать непосредственно в Visual Studio, используя при этом программный код, сгенерированный при записи макроса.

Для того чтобы подключить динамические библиотеки для работы с интерфейсом API необходимо в окне Solution Explorer правой кнопкой кликнуть по вкладке Ссылки (References) и во всплывающем меню выбрать пункт «Добавить ссылку». После этого появится меню «Добавить ссылку», в котором выбираем вкладку COM и добавляем следующие библиотеки: SolidWorks2010 Type Library, SolidWorks2010 Constant Type Library, SolidWorks.Interop.swocommands.dll. Далее необходимо в самом приложении в классах где это необходимо (т.е. в тех, в которых будет использоваться программный код связанный с работой в SolidWorks) подключить соответствующие пространства имен.

Создание файла детали

Для прекращения записи макроса и его сохранения кликаем «Остановить запись макроса» и указываем путь сохранения. В результате получаем сгенерированный код на языке C#, который мы можем использовать в своем Windows Form приложении. Однако в проект необходимо добавить некоторый код для создания нового файла детали. Фрагмент кода выглядит следующим образом:

Читайте также:  Кровавый позвоночник не работает
Основные методы, изменение формальных параметров которых может повлиять на геометрию данной модели модели

• Метод InsertSketch класса SketchManager служит для добавления эскиза в активной плоскости. В качестве формального параметра принимает значение типа bool. Прежде чем создавать новый эскиз следует выбрать плоскость, на которой он будет размещен.

• Метод CreateLine класса SketchManager служит для создания новой линии эскиза в режиме редактирования эскиза. Принимает 6 формальных параметров – координаты конечной и начальной точки линии. Аналогично методу CreateLine существуют методы для создания других элементов эскиза. Пример использования метода CreateLine:

• Метод EditDimensionProperties класса swDoc служит для редактирования свойств нанесенного размера. Принимает множество формальных параметров, каждый из которых отвечает за определенное состояния какого – либо свойства размера.
• Метод AddDimension класса swDoc служит для создания нового размера и в качестве формальных параметров принимает координаты граничных точек размера. Для корректного использования необходимо явное приведение к типу DisplayDimension.

Источник

ОколоCADовое

[Макросы SolidWorks] Пакетное сохранение конфигураций модели

Запись опубликована aitras · 29 января 2017

9 350 просмотров

При создании 3D-моделей в SolidWorks часто удобно использовать такую вещь как конфигурации. Это разновидности детали или сборки внутри одного файла. Если рассматривать на примере переменного резистора, то конфигурациями удобно делать модели с различными валами:

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

Но в SolidWorks же есть VBA! А значит можно написать макрос, который все это автоматизирует. После некоторого поиска и копания в VBA получился следующий код:

Работает все крайне просто, по комментариям, думаю, будет понятно. Также файл макроса прикладываю отдельно. Останется только его запустить.

UPD 14/03/17:

Макросу добавлен интерфейс, позволяющий:

1. Выбирать префикс к именам создаваемых файлов и имя подпапки, создаваемой для сохранения:

2. Наблюдать процесс сохранения с отображением процентов и списка созданных файлов:

Источник

ОколоCADовое

[Макросы SolidWorks] Пакетное сохранение конфигураций модели

Запись опубликована aitras · 29 января 2017

9 350 просмотров

При создании 3D-моделей в SolidWorks часто удобно использовать такую вещь как конфигурации. Это разновидности детали или сборки внутри одного файла. Если рассматривать на примере переменного резистора, то конфигурациями удобно делать модели с различными валами:

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

Но в SolidWorks же есть VBA! А значит можно написать макрос, который все это автоматизирует. После некоторого поиска и копания в VBA получился следующий код:

Работает все крайне просто, по комментариям, думаю, будет понятно. Также файл макроса прикладываю отдельно. Останется только его запустить.

UPD 14/03/17:

Макросу добавлен интерфейс, позволяющий:

1. Выбирать префикс к именам создаваемых файлов и имя подпапки, создаваемой для сохранения:

2. Наблюдать процесс сохранения с отображением процентов и списка созданных файлов:

Источник

Solidworks не работает макрос

Moderator-Следопыт Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

SolidWorks – система автоматизированного проектирования, инженерного анализа и подготовки производства изделий любой сложности и назначения.

•Конструкторская подготовка производства (КПП):
•3D проектирование изделий (деталей и сборок) любой степени сложности с учётом специфики изготовления.
•Создание конструкторской документации в строгом соответствии с ГОСТ.
•Промышленный дизайн.
•Реверсивный инжиниринг.
•Проектирование коммуникаций (электрожгуты, трубопроводы и пр.).
•Инженерный анализ (прочность, устойчивость, теплопередача, частотный анализ, динамика механизмов, газо/гидродинамика, оптика и светотехника, электромагнитные расчеты, анализ размерных цепей и пр.).
•Экспресс-анализ технологичности на этапе проектирования.
•Подготовка данных для ИЭТР.
•Управление данными и процессами на этапе КПП.
•Технологическая подготовка производства (ТПП):
•Проектирование оснастки и прочих средств технологического оснащения.
•Анализ технологичности конструкции изделия.
•Анализ технологичности процессов изготовления (литье пластмасс, анализ процессов штамповки, вытяжки, гибки и пр.).
•Разработка технологических процессов по ЕСТД.
•Материальное и трудовое нормирование.
•Механообработка: разработка управляющих программ для станков с ЧПУ, верификация УП, имитация работы станка. Фрезерная, токарная, токарно-фрезерная и электроэрозионная обработка, лазерная, плазменная и гидроабразивная резка, вырубные штампы, координатно-измерительные машины.
•Управление данными и процессами на этапе ТПП.
•Управление данными и процессами:
•Работа с единой цифровой моделью изделия.
•Электронный технический и распорядительный документооборот.
•Технологии коллективной разработки.
•Работа территориально-распределенных команд.
•Ведение архива технической документации по ГОСТ.
•Проектное управление.
•Защита данных. ЭЦП.
•Подготовка данных для ERP, расчет себестоимости.

Читайте также:  Прокрутка тачпада windows 10 не работает lenovo

Система включает программные модули собственной разработки, а также сертифицированное ПО от специализированных разработчиков (SolidWorks Gold Partners).

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 18:31 02-11-2009 | Исправлено: m_nikolay, 11:54 02-07-2016
ron12125

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Подробнее.
Всего записей: 1 | Зарегистр. 23-04-2016 | Отправлено: 22:33 23-04-2016
swkonstr

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Ахтунг, господа.
Все ссылки на SWR спецификацию вели в Рапидшару, но она сдулась год назад.

Нужна версия работавшая с файлами .spf Вернулся к проекту сделанному 8 лет назад и уперся в отсутствие проги для спецификаций. Не уследил.
Скорее всего 3.5 или ранее.
ХЕЛП.

Имею и готов поделиться:
3.7.336
3.7.352
3.7.355
3.8.0.395
4.0.290

Всего записей: 5 | Зарегистр. 28-05-2016 | Отправлено: 01:26 28-05-2016
BeA1ive

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Попробовал в SW 2016 SP3 тему «Классическая» — покрасили значки как в 2011-2015 версиях в жёлто-зелёный.
Самый светлый фон делает гамму как в 2011-2013, вторая строка как в 2014 и 2015.

Вроде неплохо, НО!
Весь интерфейс перепахали в сторону увеличения элементов, некой аляповатости.
Даже на 27″ 1080p теперь тесно, хочется 2К-монитор.

ToolBox ГОСТ для SW2016 «для всех», как я понял, ещё не вышел.

Всего записей: 94 | Зарегистр. 30-11-2010 | Отправлено: 18:34 11-06-2016
abracadavra

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Народ подскажите, пожалуйста, какая версия SolidWorks будет работать на 4 GB RAM?
До SW2011, включительно, они писали Minimum RAM (1GB) Recommended RAM (6 GB). Начиная с SW2012 — рекомендуют только 8 GB или более.
Второй вопрос, для старых версий, нужно ли закачивать все обновления — SP1 pack, потом SP2 pack и т.д., или достаточно загрузить только последний pack? (например, SP5)
Всего записей: 36 | Зарегистр. 26-09-2007 | Отправлено: 18:15 21-06-2016
BeA1ive

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору abracadavra кол-во RAM влияет на возможность открытия модели с N элементами, прежде чем программа вылетит с ошибками.
Для 4Гб это примерно модель кофемашины+Toolbox.
64-битная версия на 4Гб работает лучше 32-битной, т.к. на процесс выделяет максимум доступной памяти, а не 2048Мб.
2011-2014 версии как x32, так и x64 точно работают с 4Гб.

С 2011 версии все SP кумулятивные, т.е. закачивать надо самый последний.
С 2016 они теперь, вроде, выпускают только полный ISO-билд.

Всего записей: 94 | Зарегистр. 30-11-2010 | Отправлено: 00:03 27-06-2016
eJonny

Gold Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата:

С 2011 версии все SP кумулятивные, т.е. закачивать надо самый последний.

В SW cервис-паки кумулятивны с рожения (т.е. начиная от SW98)

Цитата:

С 2016 они теперь, вроде, выпускают только полный ISO-билд

«Они» (разработчики) по-прежнему выкладывают и адресные обновления для ядра и отдельных модулей в варианте «обновление от любого предыдущего сервис-пака до текущего», но SSQ задолбало собирать такие пакеты, потому что с учетом 13 языков поддержки и числа обновляемых модулей собрать такой пакет занимает достаточно много времени а начинач с какого-то сервис-пака размер такого пакета в раздаче становится соизмерим с полным интегрированным ISO
Кроме того в подобных раздачах пользователи как правило не читали инструкции что их этого пакета им нада скачивать и как устанавливать а сдували все что нада и не нада и еще потом жаловались что там много «лишнего»

так что начиная с SW2011 SSQ выкладывает только полные интегрированные ISO сервис-паков

Всего записей: 6035 | Зарегистр. 06-05-2005 | Отправлено: 13:16 27-06-2016 | Исправлено: eJonny, 13:17 27-06-2016
abracadavra

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору BeA1ive спасибо.
Всего записей: 36 | Зарегистр. 26-09-2007 | Отправлено: 03:31 28-06-2016
BeA1ive

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору eJonny
Про SP — возможно так и есть.
SSQ-билды, да, с 2011 выкладывают all-in-one.

К SW2016 привыкать тяжело. Реально отвлекаешься на интерфейс, утомляешься из-за яркой монохромной гаммы (перепробовал все стили). В SP4 отредактируют значки — оценим.
Всё это безобразие перенесут в SW2017, к сожалению.

Очень понравился Simulation в 2016 версии. Быстро и легко строит сетку с тяжёлой геометрией, где Simulation 2013 и 2014 буксовали, висли и делали повторы по 10-20 минут.
На Xeon E3-1240v2 при алгоритме FFEPlus статические задачи решаются в 1,5-2 раза быстрее.
Сам GUI оптимизировали. Нет фризов и подвисаний при выборе сотен контактов, разрезе эпюр, зондировании. Не «144Hz» конечно, но кто работал с 2011-2013 версиями — поймёт.
Зависимость минимального элемента в «Сетке на основе смешанной кривизны» не понял. Но она получается очень большой. Как ей пользоваться, наверное, знают только разработчики и небезызвестный Андрей Александрович Алямовский (большой ему привет, если читает этот форум!).

Если много работаете в Simulation, то можно покупать i7-6800K/6900K. Наконец-то ПО научили работать с 4+ ядрами и виртуальными потоками. И 4 канала памяти 2400Мгц+ тоже пригодятся.

Всего записей: 94 | Зарегистр. 30-11-2010 | Отправлено: 23:11 15-07-2016 | Исправлено: BeA1ive, 23:25 15-07-2016
qa33

Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день всем.

У меня проблема:

SolidWorks 2016 SP04

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

При повторении анализа в объемной постановке всё ок.

Соединение с одной стороны заделано, с другой приложена растягивающая сила.
Толщины равны., ширины равны, длинны деталей равны.

Это явная ошибка и она есть в 2015 версии. Получаются завышенные запасы по соединению, причём очень сильно и непрогнозируемо.

Очень хотелось бы услышать ответ и от eJonny, вы как гуру в SW прокомментируйте, пожалуйста, это.

Может я чего то не понимаю. Мне очень нужно решение именно в такой постановке задачи. Симуляция в SW очень крутая, но эта проблема убивает львиную долю задач с оболочками.

Всего записей: 252 | Зарегистр. 17-04-2007 | Отправлено: 20:42 30-07-2016 | Исправлено: qa33, 20:54 30-07-2016
VVV53

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Установил SW2016 SP4. Перестали работать макросы. Подскажите, в чем дело? Появляется окно с сообщением «Невозможно открыть. » Извините за беспокойство. После установки обновления Windows проблема исчезла.
Всего записей: 31 | Зарегистр. 17-02-2006 | Отправлено: 16:17 15-08-2016 | Исправлено: VVV53, 09:49 16-08-2016
morceleb

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Кто-нибудь ставил SW2016 или ранние версии на серверную ОС (Windows Server 2013 и новее)?
В терминальном режиме?

При установке просто не отображает в списке нужные продукты.

На Автокад есть патч, который отключает проверку на серверную ОС, а как тут легально поступить?

Всего записей: 24 | Зарегистр. 07-02-2006 | Отправлено: 13:03 22-08-2016
Stradler

Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем привет!
Прошу помощи, ситуация критическая. Можно ли как-нибудь починить файлы типа этого (в архиве деталь и чертеж ССЫЛКА. Чертеж не открывается после «синего экрана» (ошибка 1049) и «вылета» Солида.
И этого файла ССЫЛКА

После такого вылета не помогают ни какие автосохранения (дублей файлов просто нет). Пробовал менять «видюху», не помогает. Теперь «думаю» на обновления Винды (админ их просто отключил).
Такая ерунда сначала была на одном ПК, потом появилась на втором.

Файлы вроде бы в SW2015 SP5 были сделаны.
SW установлен на WIN7х64 PRO (лицензия)

Источник

Оцените статью