САПР для инженера: iLogic
Показаны сообщения с ярлыком iLogic. Показать все сообщения
Показаны сообщения с ярлыком iLogic. Показать все сообщения

понедельник, 5 сентября 2016 г.

Inventor iLogic. Переименовываем компоненты модели

Добрый день!

Вопрос от Александра
Продолжаю дорабатывать Inventor под собственные нужды. Столкнулся тут с одной, на мой взгляд, очевидной проблемой, а решение найти не могу. Напишите, пожалуйста, если знаете: у нас есть деталь, а в ней располагаются ее элементы: вращение, сдвиг, выдавливание и т.д. Программа по умолчанию присваивает им имена типа "Вращение1", "Вращение2", "Сдвиг1" и т.д. Вопрос - каким образом средствами ilogic обращаться к этим именам? Мне их нужно менять и менять динамически, в зависимости от ситуации, а в своей программе не понимаю как к ним обратиться.
Поменять имена элементов модели в Autodesk Inventor (в английской версии они называются Features, в русской Конструктивные элементы) можно с помощью несложного правила на iLogic.


Привожу текст правила на примере переименования элемента типа Выдавливание

'Подключаемся к компонентам детали
Dim oDef As PartComponentDefinition
oDef = ThisApplication.ActiveDocument.ComponentDefinition
'Переименовываем элемент Выдавливание1 в Базовый_элемент, если его нет, выводим сообщение
Try
Dim oExtrude As ExtrudeFeature
oExtrude = oDef.Features.ExtrudeFeatures.Item("Выдавливание1")
oExtrude.Name = "Базовый_элемент"
Catch
MessageBox.Show("Элемент с таким именем не найден/Имя уже используется", "Переименование")
End Try

Скачать текст правила.

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

ChamferFeatures
CircularPatternFeatures
ExtrudeFeatures
FilletFeatures
HoleFeatures
LoftFeatures
MirrorFeatures
MoveFaceFeatures
RectangularPatternFeatures
RevolveFeatures
SweepFeatures

Например,

Dim oChamfer As ChamferFeature
oChamfer = oDef.Features.ChamferFeatures.Item("Фаска1")
oChamfer.Name = "Фаска 2х45"


С другими приемами работы в Autodesk Inventor можно познакомиться на странице.

С уважением, Андрей.
Если вы получили ответ на свой вопрос и хотите поддержать проект материально - внизу страницы для этого есть специальная форма.

четверг, 24 сентября 2015 г.

Анонс мастер-класса на Autodesk University Russia 2015

Добрый день!

Меньше месяца остается до старта Autodesk University Russia 2015.


В этом году, как уже я рассказывал в подкасте №22, AURu2015 будет состоять из трех событий:

  • 7 октября 2015 - День руководителей
  • 8 октября 2015 - Онлайн-день
  • 13 октября 2015 - Региональный день

Подробнее об Autodesk University Russia 2015 смотрим на официальном сайте. Там же можно зарегистрироваться и посмотреть программу (пока предварительную).

В первых двух днях я не участвую, а вот 13 буду выступать в Челябинске.

Итак, 13 октября 2015 в с 11-00 до 12-00 по местному времени я проведу мастер-класс "Средства малой автоматизации в Inventor"


Я расскажу о том, как обычный инженер, не владеющий навыками программирования, может использовать в Autodesk Inventor правила iLogic. Для справки: iLogic - это язык программирования, который позволяет создавать правила, а этими правилами, в свою очередь, управляются все объекты Inventor.

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

Если вы придете со своим ноутбуком, то прямо на мастер-классе сможете сделать тоже самое (ВАЖНО! Предварительно возьмите у меня все необходимые материалы).

Приходите, будет интересно!

Не знаю, будет ли вестись запись докладов, поэтому, скорее всего, после запишу видеоурок на эту тему, а может и не один.

О том, как проходили предыдущие Autodesk University Russia и что я на них делал, можно посмотреть в отчетах на этой станице. Это уже мой четвертый AURu.

С уважением, Андрей.
Если вы получили ответ на свой вопрос и хотите поддержать проект материально - внизу страницы для этого есть специальная форма.

среда, 28 января 2015 г.

Доступ к инерционным свойствам модели с помощью iLogic в Autodesk Inventor

Максим Костандов спрашивает:
Добрый день, Андрей!
Не могли бы вы ответить на вопрос по Inventor: "как получить при помощи iLogic инерционные характеристики детали, чтобы с ними в дальнейшем оперировать?"
Отвечаю.

Эта проблема давно известна. Дело в том, что в Autodesk Inventor с помощью iLogic можно получить прямой доступ к физическим свойствам моделей, таким как Масса, Площадь, Объем и пр. 


При этом нет возможности считать инерционные свойства модели I1, I2 и I3 (для русскоязычных пользователей более привычно Ix, Iy и Iz).


Все легко решается с помощью API использованием метода

MassProperties.XYZMomentsOfInertia

Создайте правило iLogic и встройте в него эту функцию API.

В примере показано правило, в котором сначала обновляется документ, определяется, что это деталь, считываются значения моментов инерции и преобразуются в нужные единицы. В конце создаются пользовательские свойства детали МояМасса, Ix, Iy, Iz и им присваиваются значения.


В итоге в окне Свойства на закладке Прочие получим нужные моменты инерции


Текст правила
InventorVb.DocumentUpdate()

Dim massProps as MassProperties
Dim partDoc as PartDocument = TryCast(ThisDoc.Document, PartDocument)
If (partDoc IsNot Nothing) Then massProps = partDoc.ComponentDefinition.MassProperties

Dim moments(5) As Double
massProps.XYZMomentsOfInertia(moments(0), moments(1), moments(2), moments(3), moments(4), moments(5))
For i = 0 To 5
moments(i) = ThisDoc.Document.UnitsOfMeasure.ConvertUnits(moments(i), "kg cm^2", "kg mm^2")
Next

iProperties.Value("Custom", "МояМасса") = iProperties.Mass
iProperties.Value("Custom", "Ix") = moments(0)
iProperties.Value("Custom", "Iy") = moments(1)
iProperties.Value("Custom", "Iz") = moments(2)

Замечу, что данное правило будет работать лишь с деталями, для сборок его нужно немного доработать.

С уважением, Андрей.