プロジェクトの状態
相コンポーネント数 291
ボティ数 284
この状態から履歴の作業を編集をしようとすると押し出しやスケッチなど、作業を一つするたびに数分固まってしまいます。
最新の履歴の状態だと普通に動きます。
これはバグなのか、単にファイルが重いから処理も遅くなるのか、どなたかわかる方いましたらぜひご教授ください。
環境
m1 macbook air RAM 16GB SSD 256GB
mac os 13.6.4 ventura
解決済! 解決策の投稿を見る。
回答者: adachitech7. 解決策の投稿を見る。
回答者: Bunga777. 解決策の投稿を見る。
遡って編集した履歴から最後の履歴までの間に重たい処理が必要な履歴が挟まっているからだと思います。
例えば大量の配列コピーをする元のボディなどを編集する等は非常に重たい処理になりますね。
どの履歴が遅くなるかを見極めて、重くなる履歴よりも前を修正するのであれば、予め履歴を巻き戻した状態にする事で、修正の度に重たい作業を経て最新履歴の状態にするのを防ぐ事ができます。納得する修正が出来たら履歴を最新まで進める良いと思います。
あとは、コンポーネントで別ファイルに分けられるものは、なるべく別ファイルのリンク付きコンポーネントにしておく方が処理が軽くなります。
以上を踏まえてモデリングを進めていくと、それほど重くならずに済むかと思います。
@nan_3 さん、
おそらく1つのファイルの中に各コンポーネントのモデリング履歴とアセンブリ情報が全て入っているのではないかと思います。こうなってくると一つのコンポーネントを修正したとしても他のコンポーネントも全て再計算されますので必然的に処理が重くなります。
個々のコンポーネントの複雑さにもよりますがだいたい1ファイルの中で管理できるのは10から20コンポーネントぐらいが現実的かなと思います。200を超えるというのはかなり多いですね。
複数の部品に分かれることが最初から分かっているようでしたら個々の部品は全て外部ファイルとして別に作り、アセンブリはそれらをリンク付きのコンポーネントとして使って構築するのがいいと思います。
@nan_3 さんへ こんにちは
解決されたようですが、他に考えられる点を幾つか。
>相コンポーネント数 291
>ボティ数 284
それ程、ボディ数が多いとは思えないので、重くなる原因を考えてみました。
作られているモデルがどの様なモデルか判らないので、正確ではありませんが。
① 各コンポーネントのスケッチにエラーメッセージ(黄色・赤色)が出ていませんか?
② モデルのスケッチが複雑に書かれていませんか?(特に2DCADを長く使っている方の場合)
③ PC搭載メモリが16GBだと、チョット大変・・・だけど、異常に重くはならないと思う。
以前に私がボディ数の多い装置を動かす為に、あれこれ試した事が書いていますので、参考にしてみてください。
大規模アッセンブリを動かす方法(参考資料)
今、1200ボディ位の装置を設計していますが、モデルを編集してアッセンブリ側の更新をしても、
長くても15~20秒位です。
ボディ数が5個以上(動きを付ける時は2個でも)になるようでしたら、1ファイル1ボディでモデルを作り、
無題ドキュメントに名前を付けて(サブ)アッセンブリ専用ファイルとします。
この(サブ)アッセンブリ専用ファイルに、モデルをリンク付け配置して、ジョイントで位置固定、これを繰り返します。
今回、ボディ数が200-300位との事なので、80-100ボディ位で一つのサブアッセンブリを作ります。
BOMに分けてサブアッセンブリを作るのが一番判りやすいかな。
作ったサブアッセンブリを今度はアッセンブリ専用ファイルに配置します。
画像の場合(ボディ数265)
MIni_CNC_assy(アッセンブリ専用ファイル)
ーCNC_Y軸(サブアッセンブリ専用ファイル)
ー各モデルをリンク付け配置しています。
ーCNC_X軸(サブアッセンブリ専用ファイル)
ー各モデルをリンク付け配置しています。
ーCNC_Z軸(サブアッセンブリ専用ファイル)
ー各モデルをリンク付け配置しています。
Hidetoshi Wada
Mechanical designer
画像解説付きの回答ありがとうございます!
確かに一つのスケッチに複雑に書き込んでる傾向があって、修正を繰り返しすぎて黄色警告もいくつか出してしまっていました。
他にも解説の内容を踏まえてこれからのモデリングに生かして行こうと思います。
追記
それにしてもとても美しいモデリング、ファイル分けですね。人のモデリングを見て感動したのは初めてです。
僕ももっと精進していきたいと思います!
お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。