Fusion360の1個のドキュメントのBodyの制限数は5000個なのかな?
How to load more (or the next items) after 5,000 limit? - Autodesk Community
検索すると10000個と記載があったものも見かけたのですが、謎です。
リンク先の記載では、”5000個の制限を超えてどうやって読み込めばよいの?” と・・・。
制限なんだから無理でしょ、恐らく。
ちょっと確認したくなったので、大量のボディをひたすらBodyを作る無駄スクリプトを
作りました。
#Fusion360API Python script import adsk.core, adsk.fusion, traceback _app = adsk.core.Application.cast(None) _ui = adsk.core.UserInterface.cast(None) def run(context): try: bodyCount = 500 global _app, _ui _app = adsk.core.Application.get() _ui = _app.userInterface des :adsk.fusion.Design = _app.activeProduct root :adsk.fusion.Component = des.rootComponent dumpMsg('start') adsk.doEvents() bodies = initBoxes(bodyCount) dumpMsg('finish_initBoxes') adsk.doEvents() baseFeatures = root.features.baseFeatures baseFeature = baseFeatures.add() rootBodies = root.bRepBodies for body in bodies: baseFeature.startEdit() rootBodies.add(body, baseFeature) baseFeature.finishEdit() dumpMsg('body count:{}'.format(rootBodies.count)) adsk.doEvents() dumpMsg('Done') except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc())) def initBoxes( count) -> list: unitBox = 1 pnt3D = adsk.core.Point3D vec3D = adsk.core.Vector3D pnt = pnt3D.create(0.0, 0.0, 0.0) lVec = vec3D.create(1.0, 0.0, 0.0) wVec= vec3D.create(0.0, 1.0, 0.0) bouBox3D = adsk.core.OrientedBoundingBox3D box = bouBox3D.create(pnt, lVec, wVec, unitBox, unitBox, unitBox) tmpBrMgr = adsk.fusion.TemporaryBRepManager.get() bodies = [tmpBrMgr.createBox(box) for idx in range(count)] return bodies def dumpMsg(msg :str): global _ui _ui.palettes.itemById('TextCommands').writeText(str(msg))
現状一度の実行で500個Bodyを作成します。bodyCount部分変更すればお好きな数
作成できます。
又、テキストコマンドを開いておけば実行中のボディ数のログを垂れ流しています。
肝心な実行結果ですが、1400個で断念・・・。途中から数秒に1個しか作成されなく
なりました。
恐らく、これを書いた事すら忘れると思う。