габариты деталей и сборок

Автор Тема: габариты деталей и сборок  (Прочитано 1588 раз)

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

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

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Здравствуйте друзья!

Задача моя состоит в том что бы в автоматическом режиме можно было бы любую сборочною единицу  "просканировать" и вывести в excel таблицу в которой было бы указанно обозначение детали и ее габариты, масса, объем, площадь поверхности
Частично я это реализовал, но есть один ньюанс габариты детали он у меня выдает относительно ПСК общей сборки, и как следствие если деталь относительно нее повернута то габаритные размеры неправильные.
моя версия программульки
Код - Visual Basic [Выбрать]
  1. Public Sub AsScan()
  2.  
  3. 'Разные переменные
  4.    Dim i As Integer
  5.  
  6. ' Активация сборки
  7.    Dim ass_DCE As Inventor.AssemblyDocument
  8.     Set ass_DCE = ThisApplication.ActiveDocument
  9.    
  10. 'Определяем компонент сборки
  11.    Dim part_DCE As Inventor.PartDocument
  12.     Dim oCompDef As ComponentDefinition
  13.     Set oCompDef = ass_DCE.ComponentDefinition
  14. 'активация EXCEL
  15. Excel.Application.Workbooks.Add
  16. Dim WBook As Excel.Workbook
  17. Set WBook = Excel.ActiveWorkbook
  18. Dim LSheets As Excel.Sheets
  19. Set LSheets = WBook.Sheets
  20. ''Шпака для таблицы
  21. LSheets.Application.Cells(1, 1) = "Обозначение"
  22. LSheets.Application.Cells(1, 2) = "Наименование"
  23. LSheets.Application.Cells(1, 3) = "Масса, кг"
  24. LSheets.Application.Cells(1, 4) = "Площадь поверхности детали"
  25. LSheets.Application.Cells(1, 5) = "Габарит.Длина"
  26. LSheets.Application.Cells(1, 6) = "Габарит.Ширина"
  27. LSheets.Application.Cells(1, 7) = "Габарит.Высота"
  28.  
  29. Dim occ As ComponentOccurrence
  30. Dim odoc As Document
  31. Dim name_DCE As String
  32. i = 2
  33. For Each odoc In oCompDef.Document.AllReferencedDocuments
  34.     Set occ = oCompDef.Occurrences.AllReferencedOccurrences(odoc).Item(1)
  35.     name_DCE = odoc.DisplayName
  36.  
  37.      
  38.      
  39.      
  40. '    'Определение 1 точки параллелограмма
  41.       Xo = occ.RangeBox.MinPoint.X
  42.        Yo = occ.RangeBox.MinPoint.Y
  43.        Zo = occ.RangeBox.MinPoint.Z
  44. '    'определение второй точки параллелограмма
  45.       X1 = occ.RangeBox.MaxPoint.X
  46.        Y1 = occ.RangeBox.MaxPoint.Y
  47.        Z1 = occ.RangeBox.MaxPoint.Z
  48. '    'Расчет размеров габаритов ДСЕ
  49.       With_FP = (X1 - Xo) * 10
  50.        Leght_FP = (Y1 - Yo) * 10
  51.        T_Fp = (Z1 - Zo) * 10
  52.    
  53. 'Вывод в ексель
  54. '-----------------------------------------------------------------------------------------------
  55.    LSheets.Application.Cells(i, 1) = Format(name_DCE, "###0.00")
  56.     LSheets.Application.Cells(i, 3) = Format(occ.MassProperties.Mass, "###0.00")
  57.     LSheets.Application.Cells(i, 4) = Format(occ.MassProperties.Area / 10000, "###0.00")
  58.     LSheets.Application.Cells(i, 5) = Format(Leght_FP, "###0.00")
  59.     LSheets.Application.Cells(i, 6) = Format(With_FP, "###0.00")
  60.     LSheets.Application.Cells(i, 7) = Format(T_Fp, "###0.00")
  61.  
  62.    
  63.     i = 1 + i
  64.     Next
  65. Excel.Application.Workbooks.Close
  66. Excel.Application.Quit
  67.    
  68. End Sub
  69.  
может кто может помочь
« Последнее редактирование: 30-06-2020, 12:17:12 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: габариты деталей и сборок
« Ответ #1 : 30-06-2020, 12:48:38 »
Приветствую на форуме!
Посмотри вот эту статью: https://modthemachine.typepad.com/my_weblog/2017/06/getting-the-overall-size-of-parts.html
Возможно функция calculateTightBoundingBox - это то, что тебе нужно.
Также посмотри вот эту статью: https://adndevblog.typepad.com/manufacturing/2012/06/creating-accurate-rangebox-for-component.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Re: габариты деталей и сборок
« Ответ #2 : 30-06-2020, 12:55:26 »
СПАСИБО ИЗУЧУ