Доброго времени суток,
Как можно получить наиболее быстрым способом информацию о массе каждой детали из параметрического ряда (кол-во деталей в ряду ~ 800шт).
Способ - активировать каждую деталь из параметричекого ряда и узнавать массу детали через физические свойства - трудоёмкий.
Есть ли другие способы?
Благодарю.
Решено! Перейти к решению.
Решено: UnTone. Перейти к решению.
вы затем хотите опубликовать эти iParts и массы в библиотеку контент центра?
я опубликовал решение в блоге:
http://inventor-ru.typepad.com/my-blog/2010/11/add_mass_to_ipart.html
Для удобства, привожу решение здесь тоже.
Вставьте следующий скрипт в проект приложения VBA:
Public Sub AddMassToIPart()
Dim oDoc As PartDocument
Set oDoc = ThisApplication.ActiveDocument
oDoc.UnitsOfMeasure.MassUnits = kKilogramMassUnits
Dim oFactory As iPartFactory
Set oFactory = oDoc.ComponentDefinition.iPartFactory
' чтобы редактировать точность измерения массы, измените цифру 3 (количество знаков после запятой) на нужное вам значение
' если нужно убрать единицы измерения, сотрите & "кг" в последней строке
For i = 1 To oFactory.TableRows.Count
oFactory.DefaultRow = oFactory.TableRows(i)
oDoc.Update2 (True)
oFactory.TableRows(i)(oFactory.TableColumns.Count).Value = Math.Round(oDoc.ComponentDefinition.MassProperties.Mass, 3) & " кг"
Next
End Sub
Видео, как использовать данный макрос:
http://www.youtube.com/watch?v=oCDFIfySGjI (измените разрешение на 720 HD для лучшего качества)
А если перед End Sub еще добавить строку:
oFactory.DefaultRow = oFactory.TableRows(1)
то макрос еще и будет возвращать исходное состояние - активное Первое исполнение.
Возможно ли сделать аналогичное для параметрической сборки составленной из параметрических деталей.
Для параметрической сборки с таблицей подходит тот же алгоритм действий. Только необходимо использовать скрипт, получаемый небольшим редактированием скрипта указанного выше:
Public Sub AddMassToIAss()
Dim oDoc As AssemblyDocument
Set oDoc = ThisApplication.ActiveDocument
oDoc.UnitsOfMeasure.MassUnits = kKilogramMassUnits
Dim oFactory As iAssemblyFactory
Set oFactory = oDoc.ComponentDefinition.iAssemblyFactory
' чтобы редактировать точность измерения массы, измените цифру 3 (количество знаков после запятой) на нужное вам значение
' если нужно убрать единицы измерения, сотрите & "кг" в последней строке
For i = 1 To oFactory.TableRows.Count
oFactory.DefaultRow = oFactory.TableRows(i)
oDoc.Update2 (True)
oFactory.TableRows(i)(oFactory.TableColumns.Count).Value = Math.Round(oDoc.ComponentDefinition.MassProperties.Mass, 2) & " "
Next
End Sub
Добрый день, а возможно прописать макрос для массы развертки детали, т.к. масса развертки отличается от массы листовой детали в согнутом виде?
Не нашли то, что искали? Задайте вопросы в сообществе или поделитесь своими знаниями.