tsurfの機械設計研究室

サーボモーターやエアシリンダの選定計算なども扱っている技術ブログです

スポンサーリンク


MENU

【ソリッドワークス】仮想構成部品の保存上の注意 (2024.12.15大更新)

本ブログの御訪問ありがとうございます。
機械設計歴20年以上のT.surfと言います。

 

今回は以下に関する記事です。
【ソリッドワークス】
仮想構成部品の保存上の注意

 

管理人的には
ソリッドワークスを含むヒストリーCAD全般を
おススメしません。

管理人おススメの3DCADはノンヒストリーCADである
富士通I-CADです。

本記事は、ソリッドワークスを使わざるを得ない機械設計者
に向けて以下を発信します。

 

⇩本記事を読むと以下が わかります⇩

管理人T.surf

ソリッドワークスは
実用性がない革新性
によりバグに溢れた
本当に困ったCADです。

仮想構成部品の保存は
ある設定同士の
バグにより起こり得る
症状だそうです。

 

 

①仮想構成部品について

仮想構成部品については以下の記事を御参照願います。

 

 

 

②仮想構成部品が保存されない場合と対処法結論

ソリッドワークスで仮想構成部品を運用していると 

管理人T.surf

あれ?
保存されていねー

という現象に遭遇する場合があります。

 

これについて管理人は今までさんざん苦労してきましたが
最終手段としてAIを活用し相談した結果
ある程度全貌が見えてきました。

この内容も間違っている可能性があるので
最新情報がわかり次第随時更新します。

 

まず 仮想構成部品が保存されない状況が
起こりうる可能性が高い設定は
以下の3つの設定を同時にしている時です。

システムオプション
➡外部参照から

  • ☑参照されているドキュメントを読み取り専用で開く
  • ☑読み取り専用で開いた参照ドキュメントは保存しない

  • 参照先ドキュメントの読み込み ➡ なし

 

これを以下の設定にすると仮想構成部品が
保存されない自体を回避できる可能性が高くなります。

  • ☑参照されているドキュメントを読み取り専用で開く
  • ☑読み取り専用で開いた参照ドキュメントは保存しない
  • 参照先ドキュメントの読み込み ➡ 常時

この設定をすると
アセンブリを保存した際に自身が編集した覚えのない
部品の上書き保存が回避されつつ
仮想構成部品が確実に保存される可能性が高くなります。

ですが、デメリットとして
大規模アセンブリを開く際に時間が掛かるようになります。

 

 

③各設定の詳細

読み取り専用で開く
&読専は保存しない

設定を一つ一つかみ砕いて説明しようと思います。

  • ☑参照されているドキュメントを読み取り専用で開く
  • ☑読み取り専用で開いた参照ドキュメントは保存しない

これはつまり アセンブリを保存した際に
自身が編集していいないファイルを不必要に上書き
されないようにできます。

詳細は別記事で解説します。

いずれにしても 
複数の設計者がリアルタイムで同時設計する
ということにどれほどのメリットがあるのか
よくわからない仕様のため

例えば 以下のような重大な事態も起こりえます。
以下のようなシチュエーションを想定すると・・・

  • あるメインアセンブリで全体の設計編集をしている設計者A
  • メインアセンブリに含まれるサブアセンブリを編集している設計者B

設計者Bがサブアセンブリを開き
ある部品を抑制して重量の測定などをする
その別の設計者は保存せずに閉じる

ですがタイミング悪く
設計者Bが抑制してから閉じるまでに

設計者Aがサブアセンブリを含むメインアセンブリを全体保存をすると
サブアセンブリが抑制による部品欠落で様々な
不整合が起こる

-という事象です。

 

このような不具合を防ぐためにも冒頭の設定は必須
となります。

 

参照先ドキュメント
の読み込み

  • 参照先ドキュメントの読み込み ➡ 常時

この設定については少し複雑ですので
次項で解説します。

 

 

④参照先のドキュメントの読み込み

設定概要

AIに聞いた結果 
これはちょっと複雑で実はソリッドワークスは

大して役に立たないパラメトリックのせいで
非常に重くなった動作を軽くする仕組みがあり
(これが正常に動作していないのが問題なのですが・・)

参照先ドキュメントの読み込み ➡ なし

にするとアセンブリを開いた時に部品をキャッシュで読み込む
ということらしいんですよ

キャッシュというのは一時保存のようで
一時保存されたデーターを使い素早く読み込んで
大規模アセンブリを早く読み込むようにするようです。
(それでも非常に遅くて困る)

 

ここで例えば ICADにもキャッシュを利用した機能があり

ICADのキャッシュは以前に開いたグラフィックデーターの一部を
キャッシュから読み込んでアセンブリを開く時間を短縮しようとする

のは同じなんでが

ICADのキャッシュは最終的には
部品データーを完全にロード
するらしいんですね

 

ですがソリッドワークスのキャッシュは
言い換えれば

過去の映像を投影している
という状態に近いらしいんです。

これによりソリッドワークスは大規模アセンブリでも
素早く開こうとはしますが
それでも非常に遅いです。

 

そりゃそうですよね

ICADは履歴や拘束がないから単にグラフィックデーター
のみの読み込みだからいいんですが

 

ソリッドワークスは大して役に立たないパラメトリックのために

  • 部品一つ一つに履歴があり
  • アセンブリには全部品に拘束まで抱え込んでいます。

この大して役に立たないパラメトリックの動作の重さをカバー
するための過去の映像の投影が

正常に動作しないことにより
様々な不具合の温床となっているようです。

いわばバグですね。

 

設定による違い

参照先ドキュメントの読み込み ➡ なし
の設定をなしにするということは

アセンブリを開いた時に見える構成部品は
過去の映像のようなものということになる
ということですね。

この点が重要なので覚えておいてください。

この過去の映像の投影を編集するときに
フルダウンロードされて編集と保存が可能になる
ということです。

 

参照先ドキュメントの読み込み ➡ 常時
の設定を常時にすることにより
最初からデーターをフルダウンロードしようとする
ということです。

ただし 大規模アセンブリを開く際には
時間が掛かるようになるということです。

 

 

⑤仮想構成部品が保存されない時に何が起きているのか?

ここで、仮想構成部品が保存されていない
と言う状況で何が起こっているのか?

 

実は仮想構成部品は保存されています。
ですが
次に読み込んだ時に
正しくキャッシュが読み込まれていないんです。

 

つまり、仮想構成部品に関しては

保存する以前の過去の映像が
投影されてしまっている

ということなんでしょうね。

 

その原因の一つは

参照先ドキュメントの読み込み ➡ なし
にしていることによるものです。

ソリッドワークスは
過去のキャッシュを読み込もうとするのですが
キャッシュは外部ファイル毎に作成されるのであって
仮想構成部品のような内部ファイルのキャッシュの
構成に不具合が起こりやすいようです。

 

その不具合は、E-DRAWINGSで開くとよく理解できます。

E-DRAWINGSはキャッシュを使いませんので
現状の保存内容が正しく反映されているのです。

 

さらに追い打ちとして

  • ☑参照されているドキュメントを読み取り専用で開く

により 参照されているドキュメントであれば
最新の状態への更新優先度が下がり
場合によってはスキップされるらしいです。

仮想構成部品が保存されない
いや 仮想構成部品が正しくロードされない
不具合は

  • ☑参照されているドキュメントを読み取り専用で開く
  • ☑読み取り専用で開いた参照ドキュメントは保存しない

  • 参照先ドキュメントの読み込み ➡ なし

上記の設定と

仮想構成部品におけるキャッシュの脆弱さ

の合わせ技といえます。

 

いや大元をだどれば
大して役に立たないパラメトリックでなければ
大量の履歴や拘束がなくなるので

ICADのようにグラフィックデーターだけの
フルダウンロードとなるのでこのような
不具合は起こりようがなかったのかも
しれませんがね。

 

それと 複数の設計者がリアルタイムで設計
というのも保存トラブルなどの温床になるので
必要ないですね。

 

 

⑥最後に

ソリッドワークスは本当に困ったCADです。

革新性ばかりで実用性がない

  • パラメトリック
  • 複数の設計者によるリアルタイム設計

などにより非常に使いづらいです。

  • パラメトリック設計は大変更であればあるほど
    機能しない
  • パラメトリック設計は大規模アセンブリであれば
    あるほど機能しない
  • 上記のパラメトリック設計を成り立たたすために
    CADの操作に自由度がない
  • そのためかえってノンヒストリーCADよりも
    モデリングに莫大な時間がかかってしまう。

上記のヒストリーCADに困っている設計者に向けて
ソリッドワークスを使えるための情報を
発信していきます。

 

本記事は以上です。
最後までお読みいただきありがとうございます。

本ブログの文章や画像の無断転用を禁止します