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

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


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

если хотя бы "через раз" эт уже просто ззззззашибись. а вообще-то в API SOLIDWORKS не предусмотрен метод для работы с метками вспомогательных видов: Цитата This method only works for base drawing views; it does not work for projected or auxiliary views.

 

Это относится к методам IGetProjectionLines Method (IView) и GetProjectionLineCount Method (IView), которые позволяют получить стрелки вида и их число в текущем виде соответственно.

 

IGetProjectionLines Method (IView)

Gets the projection lines (arrows) in this drawing view.

Метод GetProjectionArrow Method (IView) позволяет получить стрелку в другом, базовом виде, которая ссылается на текущий вид. Точно так же, GetSection позволяет получить линиию разреза, а GetDetail окружность местного вида. Для этих методов подобных указаний нет.

 

GetProjectionArrow Method (IView)
Gets the projection arrow for this projected view.

Проблема в том, что

swArrow.SetLabel (arrLabel(j))

не срабатывает или срабатывает не всегда. У меня работает для первой стрелки и не срабатывает для остальных.

Дописал макрос, добавил сортировку баз и сообщение в случае неуспешного переименования. Неуспешно переименованные виды все равно включаются в сортировку, можно потом переименовать вручную, не нарушая порядок. Кому интересно, можете пользоваться.

ViewSort1811.rar

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


>Это аналог макроса LabelView?

Да, получается, но на языке vba. Когда начал писать его, ничего не знал о LabelView. Кажется у них те же проблемы со стрелками.

Кроме этого сделал еще сортировку баз.

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

переходите-ка вы коллега на .net, лучше на vb.net. vba уже не модно и... неудобно m1003.gif

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

переходите-ка вы коллега на .net, лучше на vb.net. vba уже не модно и... неудобно m1003.gif

Да я и с vba еще толком не разобрался. Честно говоря, это мой первый макрос. Переходим в бюро на оформление кд в Solidworks, до этого модели были в Solidworks, а  чертежи в Компас.

У коллег возникло много вопросов. Часть из них закрыли макросы SwPlus. Вопрос по сортировке решил сам кое-как. Еще стоит вопрос по привязке допусков формы и расположения к базам, так, как это происходит в компасе. Пока нет идей, как можно это решить.

В чем преимущества программирования на vb.net? Как это осуществляется практически и как поддерживается средой SW?

Изменено пользователем Fed_Zakh
Ссылка на сообщение
Поделиться на других сайтах
В чем преимущества программирования на vb.net?

это вам вопрос для самостоятельного изучения.

Как это осуществляется практически и как поддерживается средой SW?

осуществляется легко, SOLIDWORKS'ом поддерживаеца на 101%.

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

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

У нас выпускаются большие чертежи скажем листов на 15 А1. В этих чертежах и специях мы используем зоны для удобного поиска нужных элементов. Все виды в своём обозначении имеют указание зон, откуда они взяты, а также в специи в графе Примечания указываются все зоны для всех сб. и дет., указываюшие на расположение позиций на чертеже. Простановка этих зон везде и всегда занимает очень много времени.

 

Вопрос: Как это все можно автоматизировать? Я знаю, что в 2015 версии появились зоны. Возможно ли написать макрос, который будет автоматом всё это делать в интеграции с макросами Леона? Кому еще нужен такой макрос? Может быть, нам объединиться и отблагодарить кого-нибудь, кто смог бы сделать такое чудо?

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

@@none, с зонами всё очень хорошо в 2015. Нужно лишь правильно настроить шаблоны. Вписать зоны в специю тоже не проблема.

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

Вроде когда-то встречался мне макрос, массово копирующий свойства модели в свойства чертежа (либо наоборот). Нужно для массового считывания свойства чертежа Формат и копирование его в модели. Натравил макрос на папку с проектом и он перенесет в модели формат соответствующих чертежей.

Ссылка на сообщение
Поделиться на других сайтах
когда-то встречался мне макрос, массово копирующий свойства модели в свойства чертежа (либо наоборот)

Случайно не об этом макросе речь? 

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

Вроде нет, это, как я понял из описания (скачать-то нельзя) работает индивидуально, а мне надо всей папкой.

Ссылка на сообщение
Поделиться на других сайтах
Всем доброго времени суток! Возникла необходимость написания макроса для простановки шероховатости по ГОСТ. Ручками получается на ура - создаю заметку, в нее вставляю шероховатость и подгоняю под ГОСТ через <font size> в поле значения шероховатости. Никак не получается тоже самое сделать с использованием SW API. Может кто-нибудь знает как это реализовать?

P.S. SolidWorks 2012 SP5.0, Windows 7

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

Возникла необходимость написания макроса для простановки шероховатости по ГОСТ.

макрос тут не нужен. после этого:

создаю заметку, в нее вставляю шероховатость и подгоняю под ГОСТ через в поле значения шероховатости.

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

 

p.s.

проделайте вышеописаную процедуру с шаблоном чертежа *.drwdot, и при создании новых чертежей у вас все нужные стили будут под рукой.

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

тогда юзайте InsertSurfaceFinishSymbol3 и... поимейте таки свою головную боль... или уж кто там из вас кого m1003.gif

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

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

upd: SolidWorks 2012 SP5.0 это принципиально так как на рабочей машине.

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

Но вот шероховатость в заметке ну никак.

 

макрос:

Dim swApp As Object
Dim Part As Object

Sub main()

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
'Part.FontFace "Arial Narrow" ' если нужно задать имя шрифта, то расскоментируйте эту строчку и вместо "Arial Narrow" напишите имя шрифта
Part.FONTBOLD False
Part.FONTITALIC False
Part.FontUnits 2.2

End Sub
Изменено пользователем fox1001
Ссылка на сообщение
Поделиться на других сайтах
Вроде нет, это, как я понял из описания (скачать-то нельзя) работает индивидуально, а мне надо всей папкой.

Скачать можно .

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

Спасибо за видео. Я сейчас так и делаю. Интересна именно программная реализация. Вы вставили шероховатость в заметку путём нажатия кнопки "Вставить обозначение шероховатости поверхности", вот это то у меня и не получается сделать программно.

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

Скачал. Но макрос не работате, ругается, что у меня нет каких-то необходимых компонентов для работы. Дома то же самое.

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

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

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

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

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

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

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

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

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

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

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




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