Совмещение или заподлицо в зависимостях сборки

Автор Тема: Совмещение или заподлицо в зависимостях сборки  (Прочитано 2601 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн ВитяАвтор темы

  • ADN OPEN
  • Сообщений: 8
  • Карма: 0
Здраствуйте, не получается поменять взаимное расположение деталей во взаимосвязи сборки, и не понимаю как работают "bias point".
Надо создать сборочную взаимосвязь детали с базовой плоскостью. В коде тренировался с двумя одинаковыми деталями, не вышло.
И вдобавок выяснил что из=за более старой версии надо строить сопряжение с помощью addmateconstraint, а не addmateconstraint2.
Код - Visual Basic [Выбрать]
  1. Private Sub CommandButton1_Click()
  2. Dim oAsmDoc As AssemblyDocument
  3. Dim oAsmDocDef As AssemblyComponentDefinition
  4. Dim oMateConstraint As MateConstraint
  5. Set oAsmDoc = ThisApplication.ActiveDocumentSet
  6. oAsmDocDef = oAsmDoc.ComponentDefinition
  7. Dim oPick1 As FaceProxyDim oPick2 As FaceProxy
  8. Set oPick1 = ThisApplication.CommandManager.Pick(kAllPlanarEntities, "выберите1")
  9. Set oPick2 = ThisApplication.CommandManager.Pick(kAllPlanarEntities, "выберите2")        
  10. Dim oPoint1 As WorkPoint        Dim oPointProxy1 As WorkPointProxy        
  11. Set oPoint1 = oAsmDocDef.Occurrences.Item(1).Definition.Document.ComponentDefinition.WorkPoints.Item("РабТочка1")        
  12. Call oAsmDocDef.Occurrences.Item(1).CreateGeometryProxy(oPoint1, oPointProxy1)    
  13. Dim oPoint2 As WorkPoint    Dim oPointProxy2 As WorkPointProxy    
  14. Set oPoint2 = oAsmDocDef.Occurrences.Item(2).Definition.Document.ComponentDefinition.WorkPoints.Item("РабТочка1")    
  15. Call oAsmDocDef.Occurrences.Item(2).CreateGeometryProxy(oPoint2, oPointProxy2)
  16. Set oMateConstraint = oAsmDocDef.Constraints.AddMateConstraint2(oPick1, oPick2, 0,
  17. _kNoInference, kNoInference, kAlignedSolutionType, oPointProxy1.NativeObject.Point, oPointProxy2.NativeObject.Point)
  18. End Sub
  19.  
« Последнее редактирование: 26-07-2019, 10:04:22 от Витя »

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Solution type в зависиостях сборки
« Ответ #1 : 25-07-2019, 16:53:50 »
не понимаю как работают "bias point"
В хэлпе написано, что так как когда мы накладываем зависимость типа мэйт, например совмещаем две детали по плоскостям, то результат совмещения по плоскостям имеет бесконечное множество решений. И чтоб программист мог определить где примерно будут детали после совмещения как раз и можно задать bias point. По умолчанию инвентор использует точки по середине габаритных размеров модели.

И вдобавок выяснил что из=за более старой версии надо строить сопряжение с помощью addmateconstraint, а не addmateconstraint2.
Ну addmateconstraint2 доступен с 2019 версии

Надо создать сборочную взаимосвязь детали с базовой плоскостью.

А пример из хэлпа не подходит?

Код - Visual Basic [Выбрать]
  1. Public Sub MateConstraintOfWorkPlanes()
  2.     Dim oAsmCompDef As AssemblyComponentDefinition
  3.     Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
  4.  
  5.     ' Get references to the two occurrences to constrain.
  6.    ' This arbitrarily gets the first and second occurrence.
  7.    Dim oOcc1 As ComponentOccurrence
  8.     Set oOcc1 = oAsmCompDef.Occurrences.Item(1)
  9.  
  10.     Dim oOcc2 As ComponentOccurrence
  11.     Set oOcc2 = oAsmCompDef.Occurrences.Item(2)
  12.  
  13.     ' Get the XY plane from each occurrence.  This goes to the
  14.    ' component definition of the part to get this information.
  15.    ' This is the same as accessing the part document directly.
  16.    ' The work plane obtained is in the context of the part,
  17.    ' not the assembly.
  18.    Dim oPartPlane1 As WorkPlane
  19.     Set oPartPlane1 = oOcc1.Definition.WorkPlanes.Item(3)
  20.  
  21.     Dim oPartPlane2 As WorkPlane
  22.     Set oPartPlane2 = oOcc2.Definition.WorkPlanes.Item(3)
  23.  
  24.     ' Because we need the work plane in the context of the assembly
  25.    ' we need to create proxies for the work planes.  The proxies
  26.    ' represent the work planes in the context of the assembly.
  27.    Dim oAsmPlane1 As WorkPlaneProxy
  28.     Call oOcc1.CreateGeometryProxy(oPartPlane1, oAsmPlane1)
  29.  
  30.     Dim oAsmPlane2 As WorkPlaneProxy
  31.     Call oOcc2.CreateGeometryProxy(oPartPlane2, oAsmPlane2)
  32.  
  33.     ' Create the constraint using the work plane proxies.
  34.    Call oAsmCompDef.Constraints.AddMateConstraint(oAsmPlane1, oAsmPlane2, 0)
  35. End Sub



Оффлайн ВитяАвтор темы

  • ADN OPEN
  • Сообщений: 8
  • Карма: 0
Re: Solution type в зависиостях сборки
« Ответ #2 : 26-07-2019, 08:10:10 »
Спасибо, но мне как раз таки нужен контроль над совместной ориентацией этих объектов, а сборочные взаимосвязи без них я могу сделать. И не понятно как редактировать зависимости, ведь большинство их свойств только для чтения как к примеру SolutionType.
« Последнее редактирование: 26-07-2019, 10:06:26 от Витя »

Оффлайн ВитяАвтор темы

  • ADN OPEN
  • Сообщений: 8
  • Карма: 0
Пока решил заменив MateConstraint на FlushConstraint и получил "заподлицо", поправьте пожалуйста, если не прав.

Отмечено как Решение Витя 26-07-2019, 13:24:19

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Пока решил заменив MateConstraint на FlushConstraint и получил "заподлицо", поправьте пожалуйста, если не прав.
В английской версии инвентора, в пользовательском интерфейсе, наложение зависимости "заподлицо" как раз и называется Flash

Оффлайн ВитяАвтор темы

  • ADN OPEN
  • Сообщений: 8
  • Карма: 0