はじめに
Fusion360 のAPIの理解を深めるために公式ドキュメント内のサンプルコード Sketch spline through points creation API Sample (点を通過するスプライン作成 APIサンプル) の内容からドキュメントを読み込んでみたメモ書きです
新しいスケッチを作成し、スケッチ内にスプライン曲線を作成します。
スクリプトの内容を確認する
最初と最後のおまじないとスケッチの作成まで
最初と最後のこの辺りはFusion360 APIのお決まりのパターンです。その5で触れたので説明を省略します。
import adsk.core, adsk.fusion, traceback
def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
doc = app.documents.add(adsk.core.DocumentTypes.FusionDesignDocumentType)
design = app.activeProduct
# Get the root component of the active design.
rootComp = design.rootComponent
# Create a new sketch on the xy plane.
sketch = rootComp.sketches.add(rootComp.xYConstructionPlane)
#
# ここにコードを追加していく
#
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
ObjectCollection オブジェクトを作成
# Create an object collection for the points.
points = adsk.core.ObjectCollection.create()
ObjectCollection.create メソッドでpoints
という名前の ObjectCollection オブジェクトを作成。
ObjectCollection オブジェクト :任意のオブジェクト型のリストを扱うために使用される汎用コレクションです。
ObjectCollection オブジェクトに Point3D オブジェクトを追加
# Define the points the spline with fit through.
points.add(adsk.core.Point3D.create(0, 0, 0))
points.add(adsk.core.Point3D.create(5, 1, 0))
points.add(adsk.core.Point3D.create(6, 4, 3))
points.add(adsk.core.Point3D.create(7, 6, 6))
points.add(adsk.core.Point3D.create(2, 3, 0))
points.add(adsk.core.Point3D.create(0, 1, 0))
ObjectCollection.add Method メソッドで6個のPoint3D オブジェクトを追加
スケッチにスプラインを追加
# Create the spline.
sketch.sketchCurves.sketchFittedSplines.add(points)
SketchFittedSplines.add メソッドで点を通過するスプラインを作成。
まとめ
複数のポイントをリストとして扱うために ObjectCollection オブジェクトが初登場しました。こいつの使いこなしをうまくできるようにならないといけなさそう
前の記事 Fusion 360 を Pythonで動かそう その6 スケッチポイントを描く
次の記事 Fusion 360 を Pythonで動かそう その8 スケッチのフィレットとオフセット