Для компонентов можно использовать свойство .Transform2. Это вернет объект MathTransform, который содержит данные матрицы преобразования для компонента. Вы можете получить доступ к данным объекта MathTransform с помощью свойства .ArrayData. Это вернет массив из 16 двойников. Первые 9 элементов определяют матрицу вращения 3x3, а следующие 3 элемента определяют компонент перемещения (точка начала координат xyz компонента). В справке по API вы можете найти подробную информацию.
В справке по API приведен пример получения преобразований компонентов сборки: >http://help.solidworks.com/2019/English/api/sldworksapi/Get_Transforms_of_Assembly_Components_Example_VB.htm
Мои объекты описываются через собственную систему координат и исходную точку
Если вы используете справочную геометрию «систему координат» в качестве пользовательского источника, вы можете получить доступ к MathTransform через .Transform его объекта CoordinateSystemFeatureData.
Чтобы получить объект CoordinateSystemFeatureData, вы должны сначала получить объект Feature вашей системы координат, а затем вызвать .GetDefinition.
Пример:
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("FEATURE NAME OF COORDINATE SYSTEM", "COORDSYS", 0, 0, 0, False, 0, Nothing, 0)
Dim swSelMgr As SelectionMgr
Set swSelMgr = Part.SelectionManager
Dim swFeat As Feature
Set swFeat = swSelMgr.GetSelectedObject6(1, -1)
Dim swFeatData As CoordinateSystemFeatureData
Set swFeatData = swFeat.GetDefinition
End Sub
person
Sinue
schedule
27.01.2020