仕事のカタマリにようこそ!  [ ログイン | ユーザ登録 ]
フォーラムから検索

機械用3D-CAD SolidWorks非公認のユーザサイトです
 
 
Web katamari.org
仕事のカタマリ
ホーム リンク集 ダウンロード フォーラム(掲示板) FAQ お問い合わせ









フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27)
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2025/07/03 - 22:01:07
ホーム ヘルプ 検索 ログイン 登録

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: ToolsCheckInterference2の使い方 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: ToolsCheckInterference2の使い方  (閲覧数 5332 回)
tkinu
Sr. メンバー
****

オフライン

投稿: 141





プロファイルを見る
ToolsCheckInterference2の使い方
« 投稿日: 2004/06/22 - 19:31:27 »
引用して返信

大変ご無沙汰しております。

唐突ですが、みなさんの知恵をお貸しください。

今下記のようなアセンブリの干渉チェックツールをToolsCheckInterference2
を使用して作っていますが、悩んでいます。


やろうとしていることは、
 1.サブアセンブリ内の干渉は無視しアセンブリ内の干渉部分を抽出する。

現状できていない部分
 1.B・Cが干渉しており、かつBまたC内部に干渉(一致)があるとき
 2.B・Cが一致しており、かつBまたC内部に干渉(一致)があるとき
 3.B・Cが干渉せずしており、かつBまたC内部に干渉(一致)があるとき

この判定に、ToolsCheckInterference2を使用して、BとCの判定とB単体、C単体
の判定を行っています。しかしできない部分1の時、判定結果のpFaceは同じになると
思っていたのですが、ものによって『BとCの判定』=『B単体、C単体の判定』となったり
『BとCの判定』=『B単体、C単体の判定』+1となったりし理由がぜんぜんわかりません。

なんだかわかりにくい説明ですが、もしご存知の方がおられたら教えてください!
よろしくお願いします!

A(アセンブリ)
 -B(サブアセンブリ)
 -C(サブアセンブリ)
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:ToolsCheckInterference2の使い方
« 返信 #1 投稿日: 2004/06/23 - 11:03:03 »
引用して返信

tkinuこんにちわ。

今まで試したことのないプログラムなので、今のところ原因がわかりません。
調べてみようと思うのですが、テスト用のプログラムをつくるのが大変そうなので、もしよければ、干渉を確認する部分のソースを添付など出来ないでしょうか?
添付してもらえれば、テストしてみます。
(解決につながらないかも知れませんが...。)
議長に報告する   記録済み
tkinu
Sr. メンバー
****

オフライン

投稿: 141





プロファイルを見る
Re:ToolsCheckInterference2の使い方
« 返信 #2 投稿日: 2004/06/23 - 19:42:10 »
引用して返信

Makoronさん、こんにちわ〜!

コード添付します〜。
コメントとか少なくてかなり不親切になってます。
ごめんなさい。

お時間あるときに一度見てみてください。
宜しくお願いします!

217行目が の部分です。
 蕊.txt
議長に報告する   記録済み
tkinu
Sr. メンバー
****

オフライン

投稿: 141





プロファイルを見る
Re:ToolsCheckInterference2の使い方
« 返信 #3 投稿日: 2004/06/23 - 19:46:12 »
引用して返信

添付失敗してますね!
 TEST.txt
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:ToolsCheckInterference2の使い方
« 返信 #4 投稿日: 2004/06/24 - 13:53:38 »
引用して返信

tkinuさん、何とかできそうです。

添付してもらったソースから、自己流にSWマクロを作ってテストしてみました。
一度は、tkinuさんと同じような現象がでたのですが、ソースをあらためて見てみると、一部UBound()関数に+1が抜けているところが発見できました。

そこで、tkinuさんのソースをながめてみたのですが、UBound()関数に+1が行われてない箇所が多くありました。
多分これが原因だと思います。
UBound()関数は配列の数ではなく、配列添え字の最終番号を返す関数です。

配列をDim A(4)で定義した場合、
A(0)、A(1)、A(2)、A(3)、A(4)
の5個の配列が出来ます。

これをUBound(A)とすると、4が帰ってきます。
そうすると、配列の個数を知りたい場合は+1してあげることになります。

...ということで、今回の現象をおさらいすると、
B(3)、C(5)の場合、トップはA(9)となります。

これを+1しないで計算すると、
9−(5+3) = 「トップレベルの干渉数」 ・・・ 計算があわない!
となってしまいます。

+1とすると、
10−(6+4)=「トップレベルの干渉数」 ・・・ ばっちり

最後に、私が作ったSWマクロのサンプルも添付しておきますので、参考にしてみてください。



 Test.lzh
議長に報告する   記録済み
tkinu
Sr. メンバー
****

オフライン

投稿: 141





プロファイルを見る
Re:ToolsCheckInterference2の使い方
« 返信 #5 投稿日: 2004/06/25 - 08:02:08 »
引用して返信

Makoronさん!ありがとうございます!!

すばらしい!!というか私の知識不足でしたね。
すごく勉強になりました
議長に報告する   記録済み
tkinu
Sr. メンバー
****

オフライン

投稿: 141





プロファイルを見る
Re:ToolsCheckInterference2の使い方
« 返信 #6 投稿日: 2004/08/23 - 08:19:32 »
引用して返信

おはようございます〜!

大規模な干渉チェックをしていると下記のようなエラーがでてしまいます。
何が原因あるかわからないでしょうか?

『別のプログラムでOLEの操作が完了するまで待機を続けます。』
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: ToolsCheckInterference2の使い方 前のトピック 次のトピック
ジャンプします: