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

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


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

Спасибо за ответ.

... с мишенью (целью) всё хуже.... с ней не могу разобраться!

Давай попытаемся вместе разобраться.

В приведенном примере описываются следующие параметры камеры:

Focal distance= swCamera.GetFocalDistance

Perspective mode = swCamera.Perspective

Depth of field effects enabled= swCamera.DepthOfFieldEnabled

Distance from focal plane to where focus is lost = swCamera.DepthOfFieldOffset

Horizontal angle of the field of view = swCamera.FieldOfViewAngle

Depth of the field of view = swCamera.FieldOfViewDepth

Height of the field of view = swCamera.FieldOfViewHeight

Они описывают, собственно говоря, мишень и ПРОЧИЕ параметры "поля зрения". Т.о. получив геом. характеристики мишени, можно высчитать ее положение относительно расположения камеры и далее откорректировать положение камеры и ее параметры дабы увидеть желаемую мишень. Это вариант железный и сложный.

Если ставить вопрос о "мишени с помощью выбора" - да, это было бы предельно просто, не нужно иметь головняк с пересчетом координат. Тут надо рыть коды дальше.

Т.о. - предлагаю конкретизировать вопрос если ответ неудовлетворителен.

Далее

Обрати внимание на:

swCamera.SetTargetPointEntity(Point, PercentTarget, TargetPointEntity)

swCamera.TargetPointBySelection

где:

Dim Point As MathPoint

Dim PercentTarget As Double

Dim TargetPointEntity As Object

Dim swCamera As SldWorks.Camera

Я уже замудрился.

По ходу ответ на твой вопрос гдето тута)

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


Начиная с SW2009 в распоряжения пользователя имеется следующий инструмент: Сей инструмент в некоторой степени позволяет отказаться от макросов при заполнении свойств. Как работает можно посмотреть здесь:

C заполненеие свойств понятно, а как быть в случае решения «больших» задач, когда важно встраивание в панель инструментов?
Ссылка на сообщение
Поделиться на других сайтах

Начиная с SW2009 в распоряжения пользователя имеется следующий инструмент: Сей инструмент в некоторой степени позволяет отказаться от макросов при заполнении свойств. Как работает можно посмотреть здесь:

Хм.. мда, нечто весьма любопытное! Надо бы порыться...

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

C заполненеие свойств понятно, а как быть в случае решения «больших» задач, когда важно встраивание в панель инструментов?

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

Вид-Панель задач (обычно находится с правой части экрана, если отображена) не подходит для для больших задач?

Ладно, согласен, этот способ достоин жить... :rolleyes:
Ссылка на сообщение
Поделиться на других сайтах

C заполненеие свойств понятно, а как быть в случае решения «больших» задач, когда важно встраивание в панель инструментов?

Чтото непонятный вопрос.

Вкладка "Свойства пользователя" находится на панели задач.

Вообще занятный инструмент, но как заметил уважаемый Kelny - "в некоторой степени позволяет отказаться от макросов при заполнении свойств".

То есть создан он дабы упростить жизнь рядовому пользователю. Достойный инструмент.

Конечно - прелести программирования API остаются незыблемыми.

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

<noindex>Работа с таблицей параметров</noindex>

небольшой плагин позволяющий упростить выбор элементов для внесения их в таблицу параметров

Сегодня протестировал сей плагин на 2 компьютерах.... лучше бы я этого не делал. :thumbdown:

1. Под 64 разрядную WIN 7 сие забугорное творение не работает вообще. Просто не загружается, хотя и появляется в добавлениях.

2. На 32 разрядной вроде завелось, но сразу "полетел" макрос recalctols, это тот что пересчитывает допуска (да простят мне мой английский). Не поделили плагин с макросом меж собою какую то библиотеку, вот и :sport_box:

3. Из показанных в рекламном ролике фокусов работает только постановка галочек на фичерах и размерах с автоматическим импортом таковых во внешний файл Excel.

4. Если наивно надеяться на импорт одних параметров в несколько файлов, то получится сильное разочарование.

Резюме: :gun_guns:

Хочу добавить к вышеизложенному Странником.

1. Хотелось бы, чтоб прога видела ранее созданные конфигурации (без ее помощи).

2. После установки этой проги (Win7x32), SW при завершении сеанса стал выдавать ошибку с ссылкой на sldappu.dll. Удалив сию прогу солид закрываться стал без проблем.

Вобщем неплохая идея программы, но весьма недоработано.

P.S. Сие творении не совсем забугорное. У них на сайте сказано, что основная часть разрабов находится в Днепропетровске. Вполне возможно, что это творение незабугорное.

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

Наваял программку (.exe) см. скриншот, захотелось слепить из нее Add-in приложение, скачал шаблон с solidworks.com, но он похоже для vs-2005 а у меня 2008. Как быть?

У кого есть опыт поделитесь пжс…

Вообще то в дистрибутиве SW есть такая штука как API SDK. Запускаете ее и при установке она запросит какие шаблоны и для каких языков установить, в зависимости какая студия стоит. Если работаете в C++ unmanaged то проблем вроде как не должно быть. А если в среде .NET, то по умолчанию мастер установки шаблоны кидает в C:\Documents and Settings\....\My Documents\ Visual Studio 2005\(именно английский My Documents), а надо C:\Documents and Settings\....\Мои документы\Visual Studio 2005\ (именно русские Мои документы). Тогда при создании нового проекта шаблоны будут доступны. Хотя вероятно можно и в студии пути прописать ( этот вопрос не прорабатывал, не зачем было, и так все хорошо устанавливается уже пять версий SW)

А так вообще то можно написать свой класс унаследованный от ISwAddin и зарегистрировать его. В справке API SW все на эту тему сказано....

P.S. Все выше сказанное касается VS2005, именно она у меня стоит, выше пока не поднимался. Думаю это будет относится и к VS2008

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

Вообще то в дистрибутиве SW есть такая штука как API SDK. Запускаете ее и при установке она запросит какие шаблоны и для каких языков установить, в зависимости какая студия стоит. Если работаете в C++ unmanaged то проблем вроде как не должно быть. А если в среде .NET, то по умолчанию мастер установки шаблоны кидает в C:\Documents and Settings\....\My Documents\ Visual Studio 2005\(именно английский My Documents), а надо C:\Documents and Settings\....\Мои документы\Visual Studio 2005\ (именно русские Мои документы). Тогда при создании нового проекта шаблоны будут доступны. Хотя вероятно можно и в студии пути прописать ( этот вопрос не прорабатывал, не зачем было, и так все хорошо устанавливается уже пять версий SW)

А так вообще то можно написать свой класс унаследованный от ISwAddin и зарегистрировать его. В справке API SW все на эту тему сказано....

P.S. Все выше сказанное касается VS2005, именно она у меня стоит, выше пока не поднимался. Думаю это будет относится и к VS2008

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

для 'IFU'

Спасибо за участие. Вроде разобрался. Вопрос снят.

PS ...из ста просмотревших вопрос на двух форумах, Вы единственный ответили. Ещё раз спасибо.

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

Прошу совета по АПИ. Есть макрос (набрал его из кусков кода приведённых в Help-e) который генерирует файл развертки в формате DXF. Имя такого файла состоит из Description и PartNo (они берутся из разных закладок Свойства файла). Т.к. в программировании мягко говоря не силён, поэтому прошу помощи у знатоков. Проблема: как вытащить значение свойства PartNo из списка свойств для каждой конфигурации детали. Текст макроса и файлы модели, чертежа для теста прилагаю. В тексте макроса стоит Break Point на строчке генерации развертки.

Заранее спасибо за помощь.

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

Прошу совета по АПИ. Есть макрос (набрал его из кусков кода приведённых в Help-e) который генерирует файл развертки в формате DXF. Имя такого файла состоит из Description и PartNo (они берутся из разных закладок Свойства файла). Т.к. в программировании мягко говоря не силён, поэтому прошу помощи у знатоков. Проблема: как вытащить значение свойства PartNo из списка свойств для каждой конфигурации детали. Текст макроса и файлы модели, чертежа для теста прилагаю. В тексте макроса стоит Break Point на строчке генерации развертки.

Заранее спасибо за помощь.

Sub main()

Set swApp = CreateObject("SldWorks.Application")

Set Part = swApp.ActiveDoc

Dim Массив() As String

ConfigNames = Part.GetConfigurationNames 'Получаем список конфигурация

Dim j As Integer

j = 0

For Each ConfigName In ConfigNames

j = j + 1

ReDim Preserve Массив(j)

Массив(j) = Part.CustomInfo2(ConfigName, "PartNo") 'Заливаем в массив значение искомого поля

Next

For i = 1 To j ' Выводим в Immediate полученный массив

Debug.Print Массив(i)

Next

End Sub

Че то вроде того...

Лениво смотреть выложенный макрос)))

для 'IFU'

Спасибо за участие. Вроде разобрался. Вопрос снят.

PS ...из ста просмотревших вопрос на двух форумах, Вы единственный ответили. Ещё раз спасибо.

Я собсна сам разбираюсь в API в основном по известным источникам (справка и толковые форумы дают искомый резалт, форумы в основном не русскоязычные (к сожалению, как не прискорбно))). Конкретно по этой теме в свободное время порылся в справке..

Если разобрался брось что получилось) интересно ведь (можно в личку).

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

Массив(j) = Part.CustomInfo2(ConfigName, "PartNo")  'Заливаем в массив значение искомого поля
Лучше использовать функции от CustomPropertyManager. Вероятность того, что CustomInfo2 будет признана устаревшей и исключена из поддержки в следующих версиях SW очень высока.
Ссылка на сообщение
Поделиться на других сайтах

Есть вопрос.

Надо пошагово перекопировать с переименованием много больших проектов, со множеством моделей из ToolBox в каждом. Заниматься этим будет народ из разных подразделений, а это значит, что дать гарантию того, что каждого из них удастся заставить на каждом шаге ставить фильтр по месту расположения сервера стандартных изделий просто невозможно. Хотелось бы быстро сотворить маленькую программулину, что сама незаметно исключит тулбуковские элементы из числа копируемых, но как это можно реализовать?

ЕМНИП, в тулбуковских моделях есть некий невидимый стандартными средствами атрибут, по которому собственно таковые модели и идентифицируются, да как за него зацепиться? Может кто ни будь это уже сделал до нас?

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

ЕМНИП, в тулбуковских моделях есть некий невидимый стандартными средствами атрибут, по которому собственно таковые модели и идентифицируются, да как за него зацепиться? Может кто ни будь это уже сделал до нас?

При создании разрезов и сечений при установленном параметре "исключить крепежи" солид различает "любой элемент, вставленный из SolidWorks Toolbox (гайки, болты, шайбы и т.д.)"

"Можно также обозначить любой элемент как крепеж, чтобы он не был разрезан. Для предварительного просмотра крепежей выберите Отобразить исключенные крепежи"

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

Хотелось бы быстро сотворить маленькую программулину, что сама незаметно исключит тулбуковские элементы из числа копируемых, но как это можно реализовать?

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

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

Могу поделится проблемами, возникающими при этом более детально.

Тема мною, к сожалению, далеко не отработана. "SolidWorks Document Manager API Help" не смотрел, возможно - оно поможет в озвученной проблеме))

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

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

<noindex>http://fsapr2000.ru/index.php?showtopic=60...900#entry322915</noindex>

Могу поделится проблемами, возникающими при этом более детально.

Тема мною, к сожалению, далеко не отработана. "SolidWorks Document Manager API Help" не смотрел, возможно - оно поможет в озвученной проблеме))

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

выберите IsFastener в поле Имя свойства и введите значение 1 для параметра Значение / Текстовое выражение.

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

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

Да, в справке так и написано, но воспринимается и как текст. И, кажется, в SW2007 были с этим проблемы, как число SW2007 не воспринимал этот параметр, при назначении Типа текст всё работало.
Ссылка на сообщение
Поделиться на других сайтах

стандартная утилита sldsetdocprop назначает параметр IsToolboxPart (тип Number) =1. Тогда деталь видится в SW с иконкой в виде болта, назначение IsFastener не даёт такой иконки.

В статье про SWE-PDM читал что лучше использовать IsToolboxPart

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

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

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

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")

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

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

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

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

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

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

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

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

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

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

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




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