Переопределение массы

Автор Тема: Переопределение массы  (Прочитано 4121 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн niksasaАвтор темы

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Переопределение массы
« : 05-03-2014, 10:04:46 »
Есть текстовый параметр, в котором отображается значение массы детали. Могу ли я с помощью api переопределить массу в физических свойствах при изменении значения параметра (аналог ручного изменения массы в свойствах)?
« Последнее редактирование: 05-03-2014, 10:42:07 от niksasa »

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Переопределение массы
« Ответ #1 : 10-03-2014, 14:33:19 »
Физические свойства, масса в том числе, доступны через объект MassProperties.
Вы можете получить текущую массу и информацию о том, переопределена ли она «вручную».
Через API вы можете вполнять все операции с физической массой – можете как переопределить ее, так и восстановить ее “честное” значение.  Откуда вы возьмете значение для переопределения массы, роли не играет – можно и из параметров. Если параметр текстовый, то имеет смысл предварительно проверить его корректность (представляет ли он число или нет).

Вот простейший пример манипуляции массой детали:
Код - vb.net [Выбрать]
  1. Sub Mass_Test()
  2.  
  3.   Dim oDoc As PartDocument
  4.   Set oDoc = ThisApplication.ActiveDocument
  5.   Dim oDef As PartComponentDefinition
  6.   Set oDef = oDoc.ComponentDefinition
  7.   Dim oMassProps As MassProperties
  8.   Set oMassProps = oDef.MassProperties
  9.  
  10.   'какова текущая масса и переопределена ли она
  11.   Debug.Print "Масса, кг: " & oMassProps.Mass
  12.   Debug.Print "Масса переопределена?: " & oMassProps.MassOverridden
  13.  
  14.   'переопределяем массу искусственно
  15.   oMassProps.Mass = 10
  16.   Debug.Print "Масса, кг: " & oMassProps.Mass
  17.   Debug.Print "Масса переопределена?: " & oMassProps.MassOverridden
  18.  
  19.   'восстановление "честной" массы
  20.   oMassProps.MassOverridden = False
  21.   Debug.Print "Масса, кг: " & oMassProps.Mass
  22.   Debug.Print "Масса переопределена?: " & oMassProps.MassOverridden
  23. End Sub
« Последнее редактирование: 10-03-2014, 15:21:37 от Александр Ривилис »