Fusion360でAPIが提供されているのは、主にモデリング類とCAMです。
モデリング類と言いましても、スケッチ、ソリッド/サーフェスは十分な程の
機能を提供してくれているのですが、シートメタルとメッシュに関しては
程々の機能を提供してくれていますが、フォームに関しては全くと言って
良いほどAPIには対応していません。
APIで唯一 "扱えそうだな?" と可能性を感じるのは、フォーム用のファイルを
直接編集し読み込むことです。
APIではフォームのファイルを読み込む方法を提供してくれていませんが、
幸いテキストコマンドでインポートするコマンドを発見し、アドインとして
公開しています。(5年も前なのか・・・)
GitHub - kantoku-code/Fusion360-TSplineBodyDoorway: Fusion360 TSplineBody Doorway
作成時の苦戦した模様はこちらです。
kantoku.hatenablog.com
当時は、ファイルの中身までは調べませんでした。・・・興味なかったし。
今回はちょっとファイルの中も覗く事にします。
ファイルのフォーマット自体が分かっていないのですが、過去に見つけた
ものは資料はこちらにあります。
https://iranarze.ir/wp-content/uploads/2016/11/E524.pdf
GitHub - GrapeTec/T-SPLINE: T-spline Library
両方ともFusion360のフォーム(Tスプライン)と関連ある内容だと
思っていますが、とてもじゃないのですが理解なんて出来ません。
作戦変更です。
フォームに入りXY平面上に単純な四角い面を作り、フォームを抜けます。
これを上記のアドインでエクスポート(tsmファイル)します。
続いて再度フォームに入り、先程の面の頂点の一ヶ所を編集でXY上で
移動させ、再度フォームを抜けます。
これもエクスポートします。
tsmファイルはアスキーファイル(テキスト)なので、エディタで開き、
差分を比較してみます。
変更箇所は4行でした。何れも"0g"で始まる行です。
これを考えると"0g"で始まる行は形状の数値的な部分に関する
情報だろうと推測しています。
"0g"の行は"0g"以降は4個の数値の為
0g Xの値 Yの値 Zの値 ???
と予想しています。4個目の"???"ですが、恐らく重みじゃないかな?
試しに後からエクスポートしたファイルの一部をこんな感じで変更してみます。
0g 3.51603215432952965 3.41887387023830769 0 1 ↓ 0g 3.51603215432952965 3.41887387023830769 1 1
Zの値を1にしてみます。
これを自作アドインでインポートしてみます。
予想通り、頂点のZの値を変更した事で面の頂点が上がりました。
・"0g"は25行存在している
・25行の内訳は5X5になっている
・"0g"の値は通過点では無く、コントロールポイントでは無いか?
ん~まだわからないことだらけです。
続き書けるかな?