tkinu
Sr. メンバー
オフライン
投稿: 141
|
|
部品の使用先の検索
« 投稿日: 2004/07/02 - 14:12:47 » |
|
Solidworks Explorerでできる部品の使用先検索をAPIでしたいのですが、 それらしいのが見当たりません。 やはりできないのでしょうか?
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:部品の使用先の検索
« 返信 #1 投稿日: 2004/07/02 - 14:46:04 » |
|
tkinuさん、こんにちは。
特別にAPIで検索するものがある。 と言うより、「APIで、そのファイルの参照ファイルを調べる。」を、指定したフォルダ内のファイル全てに処理しているのだとおもいます。 むちゃくちゃ遅いので....。
時間があれば、参照ファイルを調べるAPIがどんなものがあるか調べてみます。
|
|
|
|
tkinu
Sr. メンバー
オフライン
投稿: 141
|
|
Re:部品の使用先の検索
« 返信 #2 投稿日: 2004/07/05 - 07:53:57 » |
|
Makoronさん こんにちわ。 いつもありがとうございます。 またお時間のあるときに教えてください!!
個人的には次の方法かなぁ?と思っています。 1.ファイルを開く 2.アセンブリ内の構成部品を読み込む 3.探す かな?
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:部品の使用先の検索
« 返信 #3 投稿日: 2004/07/05 - 13:32:32 » |
|
tkinuさん、おまたせ!何とかサンプルを作ってみました。 というより、自分でも使えそうだと思って、この機会に作っただけですけど...
SDMLibのsdmHeaderWalkメソッドを使った処理となっています。 動作確認は、ほぼ問題ないと思っていますが、SDMLibdeのsdmHeaderWalkメソッドで正確に使用先検索が行えるかは検証していません。(テストしている環境ではOKだと思いました。)
使い方にもよりますけど、この処理は非常に時間がかかります。 また、同じ部品を検索する際にも、またゼロからの検索となるので日常的に使用するのであれば、データベースに検索結果を登録するなどして、検索スピードを向上させる必要があると思います。
また、この方法による検索に問題があれば、tkinuさんが考えたようにアセンブリを開いての処理となるので、さらに時間がかかると思います。
DB連携処理を作成してみようと思いますので、急ぎでなければ待っていてください。 (直感で、非常に使い道のあるDBになりそうだと感じたので作ることにしました。)
|
|
|
|
tkinu
Sr. メンバー
オフライン
投稿: 141
|
|
Re:部品の使用先の検索
« 返信 #4 投稿日: 2004/07/05 - 18:10:57 » |
|
Makoronさん! 本当にありがとうございます! 確かにかなり時間かかりますね。 DBためて検索はいい案だと思います。(更新のタイミングが難しいですが。)
めっちゃ楽しみです!(いいのかな?楽しみにして・・・ )
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:部品の使用先の検索
« 返信 #5 投稿日: 2004/07/07 - 20:11:24 » |
|
tkinuさん、おまたせ 2(ツゥー)!
で、重大な問題が発生しました。 と言うより、いろいろと検討に検討を重ねていくうちに、サンプルではなくアプリケーションが出来てしまいました。
一応、サンプルとしてソースをつけていますが、ほぼ完成したアプリのため、簡単な使用条件を付けさせてもらいました。 詳細は添付ファイルの中にある「簡単な説明.txt」を呼んでください。
と言うことで、「仕事のカタマリ」メンバー専用のダウンロードページで公開しようと思っています。
天に向かって、 「webmasterさ〜ん、よろしくおねがいしま〜す。」
|
|
|
|
|
tkinu
Sr. メンバー
オフライン
投稿: 141
|
|
部品の使用先の検索
« 返信 #7 投稿日: 2004/07/08 - 07:41:15 » |
|
Makoronさんありがとうございます! 早速ダウンロードして使用してみてます! また感想を報告しようと思います!
|
|
|
|
tkinu
Sr. メンバー
オフライン
投稿: 141
|
|
Re:部品の使用先の検索
« 返信 #8 投稿日: 2004/07/09 - 10:00:24 » |
|
こんにちわ。 かなりすごいですね!! サクッと検索できちゃいますね!! 保存するタイミングで常にDBを更新できるようにちょっと触ってみようと 思います〜!!
|
|
|
|
webmaster 管理人
議長 カタマリの王様!?
オフライン
投稿: 649
|
|
Re:部品の使用先の検索
« 返信 #9 投稿日: 2004/07/09 - 10:16:04 » |
|
私も使ってみました。 DB登録も思った程遅くなくて、すごく実用的だと思います。
ついでにカスタムプロパティの内容もDB登録して、プロパティで検索できるようにしてみたくなりますね。あと、プレビューとか。 でもそうこうしてるうちにPDMになってしまいそうですが
|
webmaster (仕事のカタマリ管理人)
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:部品の使用先の検索
« 返信 #10 投稿日: 2004/07/09 - 13:08:36 » |
|
tkinuさん、webmasterさん、こんにちは。
作った本人自身、 「SwExplorerよりも高速!」 「使い方によって多くのメリットを出す可能性を持っている」 と言うことに驚いてます。
皆さんの「良い!」と言う感想も、予想以上のような気がします。 (ちなみに、社内への展開はまだだったりするのですが...)
tkinuさん、「保存するタイミングで常にDB〜〜」とありますが、 指定するフォルダ内のファイルは少ないのでしょうか? 私が考えている使い方として、 (1)SWのファイルサーバ全てのDB作成 (2)ファイル検索と親子検索に使う を考えているのですが、これだとDB作成に25分かかってしまいます。 「保存するタイミングで常にDB〜〜」となると、きつそうな気がしますが...。 でも、ローカル的な使い方(自分のデータだけ)であれば、この方法 もいけるかもしれませんね。 ・・・・・ふと、思ったのですが、保存時に、保存したファイルの情報だけをDBに追加していく。という方法だと、DB作成時間も削減でき、全ての情報もDB化できるかも知れませんね。
webmasterさん、「〜PDMになってしまいそうですが 。」は、確かにそうですね。 ちなみに、プレビューは組み込もうかな〜と考えています。
いま、検索画面を社向けに実用可能となるように機能アップ中です。 完成したら、また公開します。 また、判明した問題をいくつかあげておきます。(修正するよていです。) ・アイコンはパソコンから取得しているので、SWなしのPCではアイコンがなしになる。 ・親子関係は参照情報を表示しているだけなので、削除されているファイルのアイコンが空白になってしまう。
最後に、 このソフトを作るきっかけとなった、tkinuさんに感謝いたします。
|
|
|
|
webmaster 管理人
議長 カタマリの王様!?
オフライン
投稿: 649
|
|
Re:部品の使用先の検索
« 返信 #11 投稿日: 2004/07/09 - 14:16:06 » |
|
' 引用元: Makoron 投稿日 '.timeformat('1089346116').' ' tkinuさん、「保存するタイミングで常にDB〜〜」とありますが、
|
swでファイルに保存する時に、必ず専用の登録プログラムを使うようにルール決めすれば、ファイルの保存とDB登録を同じタイミングででき、検索時間もかからないと思います。いわゆる「チェックイン」状態ですね
ところで、私もここんとこずっとデータベースにはまってます。よく使うのがPostgreSQLとPHPとApacheの組み合わせか、PostgreSQLとVBなんですが、簡単なプログラムで高度な検索を高速に行なえて、タダで使えるのはほんとにありがたいですね。 以前作ったプログラムでSWの単純な(参照関係などは無視)ファイル検索プログラムを使ってますが、20万件近いデータから数秒で検索できます。
|
webmaster (仕事のカタマリ管理人)
|
|
|
y-nakatsuka
カタマリの王様!?
オフライン
投稿: 187
|
|
Re:部品の使用先の検索
« 返信 #12 投稿日: 2004/07/09 - 15:06:59 » |
|
こんにちわ。 私も先ほどダウンロードさせてもらい使ってみましたが、びっくりしました。 いままでSW関連のもので、こんなに動作が速いものは見たことがありません
とくにローカルにおいているファイルはあっというまにDBができます。 また、ネットワークドライブではなく、¥¥HOST・・・的な書き方でも使えるみたいですね。
SOLIDWORKSを開かずにここまでできるということに感動しました。 今回、このプログラムを見て、sldPrtや、sldasmをnotepadで開いてみると、いろいろな情報が入ってるのがわかりました。XMLぽい書き方ですね。エンコードはUTF-8かな?
気になって、sdmとは何ぞや、とインターネットでいろいろ調べようとしたのですが、どこの検索エンジンにもなんだかひっかからないのですが、何か、勉強できそうなリンク等ありましたら、是非おしえてください。よろしくおねがいいたします。
Makoronさんのご投稿、いつもとっても参考になっております。ありがとうございます。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:部品の使用先の検索
« 返信 #13 投稿日: 2004/07/09 - 17:39:17 » |
|
y-nakatsukaさん、こんにちわ。
引用:また、ネットワークドライブではなく、¥¥HOST・・・的な書き方でも使えるみたいですね。 |
テストしてないので、わからなかったのですが、動いてよかったです (これくらいテストしろよ!と言われそうですが...ゴメンなさい。)
引用: SWと同時にインストールされるみたいなので、こんな意味かな? SolidWorks Direct Manipulator SolidWorks Documet Manager
|
|
|
|
y-nakatsuka
カタマリの王様!?
オフライン
投稿: 187
|
|
Re:部品の使用先の検索
« 返信 #14 投稿日: 2004/07/09 - 18:29:29 » |
|
お返事ありがとうございます
sdm.dllはなんとか発見できました。 SDMというもの自体、てっきりSOLIDWORKSとかんけーないものだと思っていたので全然見当違いなところを検索してました ヘルプとかにもあまり載っていないみたいですねー。
|
|
|
|
Tama
Jr. メンバー
オフライン
投稿: 12
I'm a llama!
|
|
Re:部品の使用先の検索
« 返信 #15 投稿日: 2004/07/09 - 21:09:46 » |
|
はじめまして。
SDMLibは私も以前から使用しています(Configurationの情報がほしいので、sdmHeader クラスのほうです)。
使い方は Type Library をみればわかりますよ(VBで参照設定してからF2キーで表示されます)。メソッド名がわかりやすいですから。
|
|
|
|
y-nakatsuka
カタマリの王様!?
オフライン
投稿: 187
|
|
Re:部品の使用先の検索
« 返信 #16 投稿日: 2004/07/12 - 12:02:53 » |
|
Tamaさんお返事ありがとうございます
さっそく試してみたところ、なんとか一連のモノを発見することができました。
しかし、SDMLibって、存在自体、知らないとわからないですね・・・ メソッド名から、どんなものか類推してみます。
sdmWhereUsedとか、なんだかよくわからないが使えるのではないかという気もします
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:部品の使用先の検索
« 返信 #17 投稿日: 2004/07/12 - 12:26:18 » |
|
' 引用元: y-nakatsuka 投稿日 '.timeformat('1089601373').' 'sdmWhereUsedとか、なんだかよくわからないが使えるのではないかという気もします |
私も、このスレッド「部品の使用先の検索」の答えを探しているときに、「これだ!」と思って、いろいろと使い方を試したのですが、どうもうまく使えませんでした。
y-nakatsukaさん、sdmWhereUsedの使い方がわかったら、おしえてね。
|
|
|
|
tkinu
Sr. メンバー
オフライン
投稿: 141
|
|
Re:部品の使用先の検索
« 返信 #18 投稿日: 2004/07/13 - 17:18:16 » |
|
いつのまにか話が進んでて全くついていけてないですが、 何か楽しそうなことができるようですね!
私も時間を見つけていろいろ試してみます〜。
|
|
|
|