2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Fusion 360 を Pythonで動かそう その7 点を通過するスプライン作成

Last updated at Posted at 2020-07-25

#はじめに
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 メソッドで点を通過するスプラインを作成。
image.png

#まとめ
複数のポイントをリストとして扱うために ObjectCollection オブジェクトが初登場しました。こいつの使いこなしをうまくできるようにならないといけなさそう

前の記事 Fusion 360 を Pythonで動かそう その6 スケッチポイントを描く
次の記事 Fusion 360 を Pythonで動かそう その8 スケッチのフィレットとオフセット

参考

Fusion 360 API Reference Manual

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?