NX Journal 子部品を取得する

子部品を取得するプログラムを作成しました。

このプログラムでは作業パートのコンポーネントを取得して、その子部品を取得していき、さらに子部品があれば取得する、という処理を再帰的に行って、すべての子部品を取得しています。



取得したコンポーネントはcomponents1に入り、[階層, コンポーネント]のリストになります。

import NXOpen
 
def main():
    theSession  = NXOpen.Session.GetSession()
    workPart = theSession.Parts.Work
    theComponent = workPart.ComponentAssembly.RootComponent
    rank1 = 0
 
    # アセンブリトップを追加
    components1 = [ [rank1, theComponent] ]
 
    # 子部品の属性を再帰で取得
    recursion( theComponent, rank1 + 1, components1 )
 
def recursion( component1, rank2, components2 ):
    for child1 in component1.getChildren():
        components2.append( [rank2, child1] )
        recursion( child1, rank2 + 1, components2 )
 
if __name__ == '__main__':
    main()

コメント

タイトルとURLをコピーしました