# Copyright (c) 2026 JSOL CORPORATION # # 本スクリプトはMITライセンスのもとで公開しています。 # ライセンス全文は以下を参照してください。 # https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/ def getPartsInBoxArea(model, diagonalPoint1, diagonalPoint2): """引数で指定された2点を結ぶ直線を対角線とし、各辺がx, yまたはz軸に平行な直方体の範囲内にある部品を選択する """ result = model.CreateSelection() result.Clear() result.Attach() # The 3rd argumet of SelectPartByRange # False: Select all parts in the range # True: Select only visible parts in the range result.SelectPartByRange(diagonalPoint1, diagonalPoint2, False) return result app = designer.GetApplication() model = app.GetCurrentModel() point1 = app.CreatePoint(-40, -40, 0) point2 = app.CreatePoint(42, 42, 60) selParts = getPartsInBoxArea(model, point1, point2) model.GetGroupList().CreateGroupBySelected(selParts, "newGroup")