こんにちは。
fusion360で入出力が可能なファイル形式である、tsmファイルのデータ形式について質問があります。
現在、大学での研究の関係で、CADソフトで作られたT-spline曲面のT-mesh,ノット、制御点、を抽出するプログラムを作りたいと考えています。
そのため、こちらのフォーラム(https://forums.autodesk.com/t5/fusion-360-ri-ben-yu/sukaruputobodi-mirakopi-houno-bian-gengnitsuite/...
そこでお聞きしたいのですが、tsmファイルのデータ形式はどのような構造になっているのでしょうか。
添付ファイルは出力したtsmファイルですが、tsmファイルのデータ形式がよくわからず、ここからどうT-meshやノットを読み取れば良いのかがわからず、困っています。
参考にしている論文に、tsmファイルに関する参考文献として2015年のT-splines株式会社のURL(https://www.tsplines.com/)が張られていたのですが、現在は該当頁が閲覧できなくなっており、文献に当たることができませんでした。
そのため、大変お手数おかけして申し訳ありませんが、
どなたかtsmファイルのデータ形式に関する文献、あるいはtsmファイルの読み方をご存じの方がいらしたら、
教えていただけると幸いです。
どうかよろしくお願いします。
解決済! 解決策の投稿を見る。
回答者: kandennti. 解決策の投稿を見る。
回答者: kandennti. 解決策の投稿を見る。
t_hiraiT45SFさん こんにちは
楽しそうなので、探してみました。
こちらの「T-spline Library」と言うオープンソースのライブラリが有りました。
https://github.com/GrapeTec/T-SPLINE
同一のTスプラインを示しているものかどうかがわかりませんが、
「rhino」と言う名称のフォルダがあり、中のファイルの拡張子が「tsm」だと
考えると、同一のフォーマットを扱えるライブラリなのではないかな?
と感じます。
残念なのですが「docs」フォルダ内には、tsmフォーマット関連しそうなものが
見当たらなかったのですが、2016年に「Delete tspline.chm」と記載されているので
探した所、こちらがHitしました。
http://help.rhino-help.com/TSplines_.html
rhino(3DCAD)のTスプラインプラグイン用のHelpっぽい上、ロシア語っぽいです。
ソースコードを読み解けば得られるものが有りそうな雰囲気ですが、
tsm2stl, tsm2obj, tsm2dxf, tsm2stpやビューアでフォーマットが一致しているか
確認した方が良さそうです。
続きです。
こちらのファイルがライブラリの細かな説明のようです。
https://github.com/GrapeTec/T-SPLINE/blob/master/newmat/nm11.htm
こちらの説明も内容が一致しそうです。(挿絵あり)
http://iranarze.ir/wp-content/uploads/2016/11/E524.pdf
・・・tsmフォーマットがわかっても、僕には扱えるとは思えないレベル。
kandenntiさま
ご回答ありがとうございます。
じつはkandenntiさんが教えてくださったライブラリの作者が、私が参考にしていた論文(kandenntiさんが最後に挙げてくださった論文)です。
ライブラリの方は既にダウンロードしていたのですが、tsmファイルが一緒に入っていたことには気がつけていませんでした。。。
kandenntiさんに教えていただいたことを参考にフォルダの中を見てみたら、rhino/mouse.tsmにライブラリ作成者の方が僅かにメモを書き込んでおり、そのメモと論文を参考にして、かなりtsmファイルのデータ構造を把握することができました。
いまはt-splineをプログラムで扱えるよう、コードの構成を考えている最中です。
これもkandenntiさまのおかげです。こんなわかりにくい質問に答えて頂いてありがとうございました。
重ね重ねお礼申し上げます。
しかしt-splineはいざ実装しようとするとNURBSとは段違いに複雑ですね。。。
t-spline用の構造体の構成を考えるだけで想像以上にむずかしくてたじろいでいます(笑)
今更のネタですが、先日のUpdateでAPIによるtsmファイルのインポート・エクスポートが
可能になったようです。(未テストです)
TSplineBodiesオブジェクトのaddByTSMFileメソッドでインポート
TSplineBodyオブジェクトのsaveAsTSMFileメソッドでエクスポート
っぽいです。
お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。