Как я могу экспортировать координаты точек из продукта CATIA в Excel

Я ищу сценарий VB, написанный либо в Excel, либо в CATIA, который может экспортировать координаты точек в CATProduct в электронную таблицу Excel. Процесс нужно максимально автоматизировать из-за большого количества моментов, с которыми я имею дело.

В конце концов, мне нужно будет экспортировать только определенные точки и сгруппировать эти точки вместе по 4, чтобы определить, к какой части они принадлежат.

У меня есть сценарий Excel, который позволяет импортировать точки, но он берет точки только из набора геометрии, а точки в продукте, на который я смотрю, находятся в теле детали.


person JHall    schedule 04.12.2012    source источник


Ответы (2)


Перейдите по этой ссылке, чтобы записать файл CSV, который можно импортировать в Excel: http://www.coe.org/p/fo/et/thread=27438

Вам нужно будет добавить файлы ссылок Excel VBA в свой проект Catia VBA.

Что касается информации о вашей точке:

Просто чтобы показать вам, как перейти к точке, я использовал Вставка > Разрешение объекта базовой точки и добавил несколько комментариев о том, как получить координаты, а также о том, где зацикливаться. Следует отметить одну вещь: некоторые методы «помечены как ограниченные», что требует промежуточного «хака» установки точечного объекта в вариант, прежде чем вы сможете использовать подпрограмму «GetCoordinates».

Sub GetPointData()
'---- Begin resolution script for object : Point.1

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes

Dim hybridShapePointCoord1 As HybridShapePointCoord
Dim XYZ(2) As Variant
Dim var As Variant


'BEGIN LOOP THROUGH YOUR POINTS HERE
Set hybridShapePointCoord1 = hybridShapes1.Item("Point.1")
Set var = hybridShapePointCoord1
var.GetCoordinates XYZ
'WRITE XYZ TO CSV
'NEXT POINT
'END LOOP

'---- End resolution script
End Sub
person GisMofx    schedule 11.04.2014
comment
вместо переназначения hsPoint новому варианту var, который вы можете использовать с, With hybridShapes1.Item(Point.1): .GetCoordinates XYZ: End With, это тоже будет работать! - person tsolina; 30.03.2016

Я считаю, что это можно сделать, что я бы сделал, это найти и выбрать все точки в CATProduct, затем получить родителя для каждой выбранной точки до части, затем получить координаты (конечно, вам нужно написать все в Excel, если у вас есть там код).

Я не знаю, сможете ли вы загрузить сюда свой excel vba, но это не должно быть так сложно.

person ferdo    schedule 24.12.2012