2017-04-27 688 views
0

enter image description hereCATIA V5マクロ

。この繰り返し(点と平面).1は幾何学的集合の中にあります(画像に示されています)。

私はselection.searchを使ってRepetition(Points and Planes)を選択しました.1。しかし、私はポイントの座標を得ることができません。私はポイントをエクスポートする

Dim objSel As Selection 

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

は、幾何学的なセット(pntRepが画像に示されている)を選択した後、txtファイルに調整します。

答えて

1

Repetition (Points and Planes)オブジェクトはHybridBodyとして扱われ、GeometricalSetと同じです。だから、

、あなたがしなければならないすべては、あなたがそれはあなたが次のように行うことができます取得するにはSelection.Searchメソッドを使用するHybridBodyとして脅威彼を必要としませんされてRepetitionのインスタンスを取得するには:

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

関連する問題