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

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

Solidworks 2015. Новости для тех, кто в теме:

- Теперь third-party data можно читать только с помощью API SW.

- Ключ для Document Manager теперь нужно будет обновлять каждый год. Ключ будет распространяться только на те участки API, которые вы затребуете.

- Solidworks 2015 написан на VS 2012 SP4.

- Теперь не будут создаваться менюшки в top-level. Всё будет помещаться в подменюхи Tools.

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


...

- Ключ для Document Manager теперь нужно будет обновлять каждый год. Ключ будет распространяться только на те участки API, которые вы затребуете.

...

Зря они это сделали... :sad:

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

Как программно получить метку вида (например местный вид "А(2:1)" ) как объект и как текст, если на виде ещё куча дополнительных аннотаций?

Есть такая штука как GetUniqueName(), но она возвращает метку из дерева т.е "местный вид А (2:1)", мне же хочется ту метку, что прикреплена к виду т.е "А (2:1)"

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

Сам нашёл.

String sNoteText = swNote.PropertyLinkedText;
       if (sNoteText.Contains("VLNAME"))
          {
              //.......
          }
Ссылка на сообщение
Поделиться на других сайтах

Давно, очень давно никто не выкладывал свежачка)))

Решил тут воплотить идею вставки номера листа к виду. Сделал пока к местному виду. Есть затык, подсобите люди знающие, как найти нижний правый угол метки вида. В данном случае метка выносного вида (та, которая на втором листе "S(1)").

GetTextPositionAtIndex всегда возвращает одно и то же число. Написал методу как по учебнику))

 private Double[] GetDownRightCorner(Note swNote)
        {
            Annotation swAnn = swNote.GetAnnotation();
            Double[] UpperLeftCorner = swAnn.GetPosition();
            Double[] UpperRightCorner = swNote.GetUpperRight();
            Double Height = swNote.GetHeight();
            return new double[]{UpperRightCorner[0]+0.002, UpperRightCorner[1],UpperRightCorner[2]};
        }

 

 

То же самое, одно и то же число, если метку вида передвинуть.

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

И снова сам... всё сам  :sad:

Для того, чтобы найти метку вида, нужно просто получить первый INote для вида. Для того, чтобы словить GetUpperRight(), нужно обязок выделить эту заметку. Выделять нужно через IAnnotation. Фи, как заморочено сделано.

 

Текст метки вида так и не удалось получить, если кто подскажет, буду очень благодарен. Сам пошёл другим (менее качественным путём).

 

Пока для местных видов на разных листах - работает.

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

Здравствуйте.

Есть ли какая информация по SWE-PDM API

В идеале с рабочими примерами.

или хотя бы ссылка на начальную литературу

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

Удалено!

Причина - нет ответа.

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

Здравствуйте.

Подскажите, как реализовать в макросе чтение толщины листового металла в активной конфигурации, что бы затем это значение присвоить переменной (для примера это переменная "th")?.

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

Давно заинтересовавший меня вопрос, наконец то мной решён

Как прочитать свойства материала со вкладки "Настройка".

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

Добрый день. Пишу небольшую програмку на VBA.


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


Спасибо

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

В детали выделяете деталь при наличии 10 тел? :blink:

Вам имя тела надо что-ли переименовать?

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

В детали выделяете деталь при наличии 10 тел? Вам имя тела надо что-ли переименовать?

 

Прошу прощения что не отвечал, т.к. следил не за той темой.

 

Да многотельная деталь из 6-10 тел всегда по разному.

Выделяю тело при помощи boolstatus = Part.Extension.SelectByID2("", "SOLIDBODY", 0, 0, 0, False, 0, Nothing, 0) используя только координаты поверхности тела (координаты всегда известны), не используя название тела, которое всегда разное.

Так вот, выделил тело и его нужно переименовать в строго определенное названия. Для конкретного тела конкретное имя.

post-36106-0-18798700-1413782998_thumb.jpg

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

Доброй ночи Господа.

Ломаю голову уже не один день.

С помощью Макроса в СБОРКЕ надо присвоить материалл ТВЕРДОМУ ТЕЛУ

От справки Solida глаза на выкоте

Прикрепляю файлы до чего дошел :wallbash:  

 Просьба обьяснить по подробнее

Заранее благодарен

VBA.rar

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

Доброго времени суток.

Большое спасибо за ответы  :smile:

Выкладываю макрос. Заменяет или Назначает Материал с Базы Солида по выбору Твердого тела и имени его. Окна выбора не добавлял .Каждый на свой вкус их добавит.

 

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swAssem As SldWorks.AssemblyDoc

Dim swPart As SldWorks.PartDoc

Dim swBody As SldWorks.Body2

Dim boolstat As Boolean

Dim BodyMaterialError As Long

Dim CompAssem As Variant

Dim ArrCompAssem As Variant

Dim Bodies As Variant

Dim BazaMat As String

Dim NameMat As String

Dim i As Integer

Dim Telo As String

Sub main()

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

BazaMat = "solidworks materials.sldmat"

NameMat = "Бальса"
Telo = "Бобышка -Вытянуть2"
'====================================================================

If swModel.GetType = swDocASSEMBLY Then

Set swAssem = swModel

ArrCompAssem = swAssem.GetComponents(False)

For Each CompAssem In ArrCompAssem

Set swModel = CompAssem.GetModelDoc2()

If swModel.GetType = swDocPART Then

Set swPart = swModel

Bodies = swPart.GetBodies2(swAllBodies, False)

For i = 0 To UBound(Bodies)

Set swBody = Bodies(i)

If swBody.Name = Telo Then

boolstat = swBody.Select2(False, Nothing)

BodyMaterialError = swBody.SetMaterialProperty("По умолчанию", BazaMat, NameMat)

End If

Next i

End If

Next

End If

swBody.ClearSelection2 True

'====================================================================

If swModel.GetType = swDocPART Then

Set swPart = swModel

Bodies = swPart.GetBodies2(swAllBodies, False)

For itr = 0 To UBound(Bodies)

Set swBody = Bodies(itr)

If swBody.Name = Telo Then

boolstat = swBody.Select2(False, Nothing)

BodyMaterialError = swBody.SetMaterialProperty("По умолчанию", BazaMat, NameMat)

End If

Next itr

End If

swBody.ClearSelection2 True

'====================================================================

MsgBox " Макрос выполнен "

End Sub


Доброго времени суток.

Большое спасибо за ответы  :smile:

Выкладываю макрос. Заменяет или Назначает Материал с Базы Солида по выбору Твердого тела и имени его. Окна выбора не добавлял .Каждый на свой вкус их добавит.

 

swp -  

Замена материала по имени твердого тела .rar

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

Привет Всем! Может кто ни будь выложить код с  PropertyManagerPageSelectionbox рабочий  :rolleyes: 

Пример с Helpa не предлагайте  :thumbdown: 

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

Что вас там конкретно смутило?

Добрый вечер если это вопрос ко мне, отвечаю.

В примере дается только отрисовка компонентов.

Хотелось узнать как програмно добавить в SelectedItems обьекты?

Как удалить класс адекватно?

При добавлении своего кода виснет комп))))

В примере "Create PropertyManager Page" добавил только в OnSubmitSelection

Заранее Благодарен за Помощь

менеджер свойств материал.rar

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
    • Артур8991
      При Толстом металле начинает гнуть не одинаково ровно...А на тонком этого не видно.И визуально видно что от плонсона до матрице расстояние разное...
    • Orchestra2603
      это? https://www.researchgate.net/publication/346595579_Dynamics_of_powered_electrical_engine_for_river_vessel Я тоже почитаю, если вы не против, именно в этой теме не особо шарю.
    • Александр1979
      Есть руководство: https://www.syntecclub.com/cncrel/Manual/PDF/5-Axis Function Application Manual.pdf
    • Killerchik
      А документации на станок естественно нету?
    • Jesse
      шо т не гуглится.. Искал по тегу "researchgate александр казанцев диаграмма кэмпбелла") ну да. у меня жёсткость только растёт, получается.. и частота увеличивается. А как кстати физически/по сопромату объяснить изменение частоты? Ну по аналогии как мы говорим, что для оболочек при увеличении толщины СЧ растёт, т.к. изгибная жёсткость растёт ~ кубу толщины, а масса ~ первой степени толщины. Вот в таких вот терминах сможете объяснить изменение частоты при увеличении вращения ротора?)   @AlexKaz самое главное.. каков итог по расчёту МКЭ? только в Ansys/Femap/Abaqus лезть? выкрутиться никак? 
    • gudstartup
      координаты в этих параметрах настраиваются как правило для точной кинематики станка если есть отклонения то при повороте плоскости обработки возникнет ошибка. допустимые отклонения должны быть  при расположении калибровочной сферы в любом месте стола. если вы располагаете деталь в одних координатах и при развороте отклонения в допуске то с большой вероятностью геометрия осей отличается от кинематической модели. хотя это все зависит в какой допуск вы пытаетесь влезть
    • AlexKaz
      Суть явления вилки в том, что частота на нижней ветке вилки падает, иногда вплоть до нуля. Способом выше такой эффект потери жёсткости нельзя получить никак. Книжки: теория колебаний. В них есть глава про аналитический расчёт частот ротора с тонким диском, в том числе с эксцентриситетом. И прямая, и оьратная прецессия.   На эту тему можно даже глянуть мой бакалаврский диплом, выложен на researchgate - там мною решалась подобная задача, и приведена вся литература для начала погружения.
    • Artas28
      нашли нужные параметры в разделе 5-axis par.
    • gudstartup
      Контроль положения центра инструмента. проще наклонный план(плоскость) настраиваются как правило точки пересечения осей вращения и расстояние оси z от поверности торца шпинделя до этого центра.
×
×
  • Создать...