Для компонентов вы можете использовать свойство .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