2017-04-27 369 views
0

enter image description hereCATIA V5宏進去重複(點和麪)

使用CATIA V5宏我想進去重複(點和麪).1點的座標點的座標。這個重複(點和平面).1是在一個幾何集內(如圖所示)。

我已經使用selection.search來選擇重複(點和平面).1。但我無法獲得點的座標。

Dim objSel As Selection 

objSel.Search "'Generative Shape Design'.'Repetition (Points and Planes)',sel" 

我要導出選擇幾何圖形集(在圖像顯示pntRep)後的點座標到一個txt文件。

回答

1

Repetition (Points and Planes)對象被認定爲HybridBody,與GeometricalSet相同。

因此,要獲得Repetition所有你所要做的實例被威脅他作爲一個HybridBody,你並不需要使用Selection.Search方法來得到它,你可以做如下:

Dim HybridBodypntRep as HybridBody 
dim HybridBodyInternal as HybridBody 
set HybridBodypntRep = objSel.item(1).value 
for i = 1 to HybridBodypntRep.HybridBodies.Count 
    set HybridBodyInternal = HybridBodypntRep.HybridBodies.Item(i) 
    for j = 1 to HybridBodyInternal.HybridShapes.Count 
     'Here you will have access to all points and planes inside the Repetition 
     dim Element as HybridShape 
     set Element = HybridBodyInternal.HybridShapes.Item(j) 
     'Element is probably your point, just check it 
next 

Element對象是可能是你的點的那個。

請注意,此代碼將循環遍歷所選內部幾何集內的所有內部幾何集,並在第一級查找其中的所有元素。

+0

@AgustoQ謝謝你的答案。我不得不刪除HybridShapeTypeLib,因爲我收到錯誤爲「用戶定義類型未定義」。 – harishli2020

+0

只需編輯答案即可參加您的請求。我使用VB.Net爲Catia開發,它通常需要名稱空間來聲明對象,但在Catia VBA中,您並不需要它。對於那個很抱歉。 – AugustoQ