0

I need code for measuring distance between 2 products im catia using VBA. I dont want to use groups to measure. I want to use distance.firstproduct and distance.secondproduct in the code instead of using distance.firstgroup. Can some one help me with the code. Thank you

sub main()
Dim MyDoc As Document
Set MyDoc = CATIA.ActiveDocument

Dim MyProduct As Product
Set MyProduct = MyDoc.Product

Dim Product1 As Product
Dim Product2 As Product

Set Product1 = MyProduct.Products.Item("Part1.1")
Set Product2 = MyProduct.Products.Item("Part2.1")


Dim MySelection As Selection
Set MySelection = MyDoc.Selection

MySelection.Clear

Dim cDistances As Distances
Set cDistances = MyProduct.GetTechnologicalObject("Distances")

Dim MyDistance As Distance
set mydistance=cdistance.add


MyDistance.ComputationType = catDistanceComputationTypebetweentwo
MyDistance.MeasureType = catDistanceMeasureTypeMinimum
Set MyDistance.Firstproduct=product1  '<----Error Line
set myDistance.secondproduct=product2  '<----Error Line

MeasureDistance = MyDistance.Value

MySelection.Clear
end sub

1 Answers1

0

FirstProduct and SecondProduct properties are Read Only, as stated on the Catia CAA Documentation:

Property FirstProduct( ) As Product (Read Only)

Returns the product belonging to the first group that realizes the minimum distance.

You must create the groups and add the product to the group to evaluate the distance.

Quima
  • 894
  • 11
  • 21