C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

TemporaryBRepManagerの威力

偶に時間を見てこちらを挑戦中。
Solved: How to efficiently process 10000 individual coordinates to build model. - Autodesk Community

簡単に書くと、大量の座標値を通過点としてソリッドを作りたいらしい。
質問者さんのコードでは100個の点を処理すると15分かかるらしいです。

イデアを出すだけじゃ申し訳ないので、実際にコードをTemporaryBRepManagerを使い
作ったところ、自宅の非力なPCで1800点で90秒ぐらいでした。
そもそも元のコードがファイルを読み込みながら、ボディを作ってました。
これは効率が悪い。

その後要望が次々と出てきて(本人はやる気があるのか?)対処したつもりですが、
最後に本番用のデータまで投げてきた・・・。

大きい方のデータで402240点もあるじゃない。
f:id:kandennti:20200307182929p:plain
最初に書いてたのは1万とか10万だったのに。

とりあえずもう少し修正したところ「new.txt」の方はこんな感じで
処理出来ました。
f:id:kandennti:20200307183116p:plain
1分ぐらいなら我慢できます。

「shape.txt」の方も挑戦中だけど、終わらない・・・。
BRepBodyを作成する事自体は10分もあれば処理出来そうだけど、
Fusion360のファイルにBRepBodyを入れ込むのに時間がかかる。

それを軽減するために事前にブーリアンの和を行ってから入れているんですが
それ自体も時間がかかる。マルチタスクとかだと効果上がるだろうか?

諦める?放置して家に帰る?