NX Journal 子部品を取得する
2019/12/11 categories:NX Journal| tags:NX Journal|Python|
子部品を取得するプログラムを作成しました。
このプログラムでは作業パートのコンポーネントを取得して、その子部品を取得していき、さらに子部品があれば取得する、という処理を再帰的に行って、すべての子部品を取得しています。
取得したコンポーネントはcomponents1に入り、[階層, コンポーネント]のリストになります。
Pythonコード
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()