2017-06-20 36 views
0

我需要使用VBA測量2個產品之間距離的代碼。我不想用團體來衡量。我想在代碼中使用distance.firstproduct和distance.secondproduct,而不是使用distance.firstgroup。有人可以幫我處理代碼嗎? 謝謝catia中的頻帶分析

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 
+0

你能分享一下你寫的代碼嗎? – AugustoQ

+0

嗨,我已經添加了代碼到我已經寫到目前爲止的問題,請檢查 –

回答

0

FirstProductSecondProduct屬性是隻讀的,在CATIA的CAA文檔的說明:

物業FirstProduct()作爲產品(只讀)

返回屬於產品到實現最小距離的第一組。

您必須創建組並將產品添加到組以評估距離。