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

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


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

По этой ссылке выдаётся ошибка, к сожалению. А проблемы эти будут интересны многим, ИМХО.

Виноват, неправильно ссылка скопировалась))

<noindex>См. тут</noindex>

Может быть, я там некорректно изложил чегото, но многое так и не срезонировала на тему

Повторю:

Планируемое назначение макроса - копирование существующего проекта с целью его использования в качестве прототипа.

"Для тех, кто не знаком с сутью проблемы, поясняю: да, в SW имеется SW Explorer, и он имеет замечательный инструмент для копирования проектов. Однако с ним есть небольшая проблема - при наличии в файлах ДЕТАЛЕЙ ссылочной геометрии на другие файлы SW Explorer не переписывает ссылки на вновь созданные файлы... А сохраняет ссылки на старую геометрию. При этом возникает конфликт, при котором дальнейшая работа ведется в новом проекте с новыми деталями, а их геометрия "помнит" старые ссылки на существующие проекты. Хочется верить, что будущее поколение SW от сего недостатка избавят, однако слабо верится в это...

Макрос еще не дописан, но работа со ссылками вполне красноречива)) Может, кого нибудь приятно удивит дерево ссылок его детища."

Не буду отрезать нереализованные вещи - выкладываю как есть (ранее выложенный макро был "обрезан").

Суть вопросов отлично демонстрируется при открытии им больших сборок.

ЗЫ: Работает макро только при закрытых файлах с солиде, о чем вываливается соотв. предупреждение.

только Тип значения должен быть Number, а не Text

Самое смешное, что текст "Чтобы обозначить компонент как крепеж, откройте компонент и выберите Файл, Свойства. В этом диалоговом окне на вкладке Настройка выберите IsFastener в поле Имя свойства и введите значение 1 для параметра Значение / Текстовое выражение." скопирован из справки SW2009 SP4 ДОСЛОВНО)))

что надо тут исправить чтобы свойство бралось из модели ?

скрипт запускаю из чертежа

Dim swApp As SldWorks.SldWorks

Dim Part As SldWorks.ModelDoc2

Dim DAKSH As String

Set swApp = Application.SldWorks

Set swPart = swApp.ActiveDoc

DAKSH=swPart.CustomInfo2("", "PartNo")

С чертежами работал мало, к сожалению

Но при такой записи (Set swPart = swApp.ActiveDoc) из чертежа будет подхватываться не Part, а сам чертеж (ActiveDoc).

Для корректной работы надо ставить "Set swPart" не ".ActiveDoc", а - по ссылкам, быстрее всего - модель, стоящую на основном виде чертежа...

К слову, ка быть если на чертеже несколько моделей - придется выбирать "папу"...

SaveAs_source.zip

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


что надо тут исправить чтобы свойство бралось из модели ?

скрипт запускаю из чертежа

Dim swApp As SldWorks.SldWorks

Dim Part As SldWorks.ModelDoc2

Dim DAKSH As String

Set swApp = Application.SldWorks

Set swPart = swApp.ActiveDoc

DAKSH=swPart.CustomInfo2("", "PartNo")

В дополнение к выше сказанному мной:

К примеру:

Sub main1()

Set swApp = CreateObject("SldWorks.Application")

Set Part = swApp.ActiveDoc

МассивКомпонентов = Part.GetDependencies(traverse, search)

For Each Компонент In МассивКомпонентов

Debug.Print Компонент

Next

ТребуемаяМодель = МассивКомпонентов(1) 'Предположим, требуемый файл - модель № 1. В реальности необходимо будет обыграть это, _

к примеру - диалогом выбора. Достаточно просто реализовать это в виде комбобокса и одной кнопки. К примеру так, как это реализовано в прикрепленном файле

Set swPart = swApp.GetOpenDocument(ТребуемаяМодель)

DAKSH = swPart.CustomInfo2("", "PartNo")

Debug.Print DAKSH

End Sub

Код вытащит все располеженные на чертеже модели, а такде требуемое свойство для первой в массиве))

PS: да, виноват)) Как вчера выключил комп - сообразил, что забыл установить свойство ComBobox для работы с "односсылочным" чертежом.

Корректный файл пристегнул

Get_property_.rar

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

все работает благодарю токо ожидал что это можно будет сделать както попроще

почемуто все време хочется через $PRPSHEET добиться результата

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

все работает благодарю токо ожидал что это можно будет сделать както попроще

почемуто все време хочется через $PRPSHEET добиться результата

Возможно, что-то проще и можно сделать) Я конструктор и программирование API от интереса личного осваиваю и отчасти от безисходности. И написал все от головы за 15 минут))) Так что - чем мог...

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

Мож чем поможет для начинающих макросописателей))

Automating Solidworks 2009 Using Macros (using .NET)

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

Мож чем поможет для начинающих макросописателей))

А заканчивающим - нет? (прошу пардону, не удержался)

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

Кто то пробавал ето функция "Retval = Modeler.CreateLoftSurface ( curveArray, BBlendClosed...."? Можно ли "curveArray" будет И рац. крива?

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

Был ли такой макрос, чтоб А1,А2,А3 бил на А4?

Где-то читал что нужно сначала всё сохранить как картинку а потом с помощью спец прог. В акаде всё решалось разбиением на квадраты и печатью рамки. В солиде как?

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

Где-то читал что нужно сначала всё сохранить как картинку а потом с помощью спец прог.

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

Был ли такой макрос, чтоб А1,А2,А3 бил на А4?

Где-то читал что нужно сначала всё сохранить как картинку а потом с помощью спец прог. В акаде всё решалось разбиением на квадраты и печатью рамки. В солиде как?

Мне понравился "PosterPrint 2.3"

demo.zip

PS. печатает линии отреза и даже места куда наносить клей :-)

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

Кто ни будь, назначал материал со всеми свойствами, программным способом, с занесением в раздел «материал»?

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

post-27317-1274067939_thumb.png

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

А можно ли настроить Solid так, чтобы после команды простановки размеров достаточно было нажатия клавиши Enter или Ctrl+Enter, чтобы подтвердить и закрыть окно команды, а не лезть мышкой в угол постоянно??? Спасибо!!!

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

Правая Клавиша Мыши

А, ясно. :-) Ступил. :-) Хорошо, но на мыши тоже не всегда удобно (для меня лично). Есть ли вариант с клавиатурой?
Ссылка на сообщение
Поделиться на других сайтах

Gaidn

почему низзя?

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

Есть тема Помощь новичку там и задавайте вопросы.

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

Есть тема Помощь новичку там и задавайте вопросы.

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

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

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

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

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

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

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

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

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

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

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




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