Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
SW2008からSDM1.0ライブラリが使えない!?
« 投稿日: 2008/01/29 - 17:56:52 » |
|
最近やっと、SolidWorks2008への移行準備を行っているMakoronです。
今はアドミンイメージの展開テストと構築、社内カスタマイズソフトの動作確認などを行っている最中ですが、そこでとんでもない事実が判明しました!
なんと、プレビュー画像の取得やファイルの参照関係の取得に利用していたSDM1.0ライブラリが、SolidWorks2008からは、インストールされないようになってしまいました。 (SDM1.0ライブラリについては、「SDM1.0ライブラリ」というスレッドにいろいろ書いてあります。) ただし、SolidWorks2006ごろから、SDM1.0ライブラリに置き換わるSolidWorksDocumentManagerAPIというのがあって、SDM1.0ライブラリと同等のAPIを提供しているので、プログラムの修正さえすればなんとかなると思います。
私のところでは社内用のカスタマイズツールの幾つかにSDM1.0ライブラリを利用したものがあるので、修正作業に取り組まなければいけません・・・ (皆さんも注意してください。)
|
|
|
|
Lucky
Sr. メンバー
オフライン
投稿: 87
I'm a llama!
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #1 投稿日: 2008/01/29 - 22:10:24 » |
|
お久しぶりです 貴重な情報ありがとうございます。
私の所では今2007にバージョンアップの準備をしています。 かなり後追いですが・・・ 出来る範囲でカスタマイズに反映したいと思います。 早めにやれば後が楽ですから。
|
Lucky
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #2 投稿日: 2008/02/29 - 19:05:43 » |
|
SolidWorksDocumentManagerAPIへの切替の為に、確認用プログラムを作ったので、カタマリユーザさんにも提供したいと思います。(Microsoft Visual Basic 2005のソースも付けておきます)
webmaster様にダウンロードページに載せて頂けるようにお願いしてありますので、公開されたらテストしてみてください。 プログラムを使ってみて、問題点や別の方法などの情報があれば書き込みをお願いします。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #3 投稿日: 2008/02/29 - 20:06:30 » |
|
ダウンロードページに公開されました!! (webmaster様ありがとうございました。)
メンバー用ダウンロードページに公開されていますので、ログイン後にここをクリックしてください。
それで、readme.txtに書き忘れたことがあったので、追記しておきます。 readme.txtには、ライセンスキーを取得する必要がありますよと書いてあるのですが、 これは、添付されているソースの修正や、新しくSwDocumentMgr.dllを利用したプログラムを 作成して実行ファイルを作るときの話です。 添付されている、SwDocumentMgrTest.exeは私の持っているライセンスコードを埋め込んで ビルドしてあるので、皆さんの環境でも起動すると思います。 (Interop.SwDocumentMgr.dllはSwDocumentMgrTest.exeと同じフォルダに入れておいてね。)
あと、色々と動作テストしていて、不具合(問題?)を見つけてので書いておきます。 SwDocumentMgrテストプログラムを起動して、プレビューを読み取る都度、数MBづつメモリが消費されてしまっている様です。同じファイルのプレビューを読み取っても増えていくので、起動したままたくさんのファイル情報を取得し続けると大変な事に・・・。(リソース不足というエラーが表示されてしまった。) 時々、SwDocumentMgrテストプログラムを起動しなおして使って下さい。
|
|
|
|
webmaster 管理人
議長 カタマリの王様!?
オフライン
投稿: 649
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #4 投稿日: 2008/02/29 - 20:19:08 » |
|
Makoronさんプログラムありがとうございます。 登録するついでに起動してみたら不具合がでましたので報告だけしておきます。 フォルダを開いてファイルリストからファイルを選ぶと添付ファイルのエラーがでます。Continueをクリックすると続行できます。プレビュー画像とカスタムプロパティのチェックを外すとエラーは出ません。 OSはXP-sp2, SW2007sp2.0とSW2004sp05をインストールしています。
|
webmaster (仕事のカタマリ管理人)
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #5 投稿日: 2008/02/29 - 20:38:54 » |
|
調べてみました。
どうやら、SolidWorks2007SP5.0でSwDocumentMgrAPI(SwDocumentMgr.dll)に SwDMDocument11::GetPreviewBitmapBytes と SwDMDocument11::GetPreviewPNGBitmapBytes と言うAPIが追加されていて 私の作ったプログラムでは、このAPIを使っているので webmasterさんの方で利用しているSW2007sp2.0だと、エラーが出てしまうと言う事が判明しました。
SwDocumentMgr.dllを使ってプレビューを取得するには、Solidworks2007SP5.0以上でないと、駄目かもしれません。
と言う事で、 プレビュー画像を取得する場合は、 SW2007SP4.0以前にはSDM.dllしか使えない SW2007SP5.0以降にはSDM.dllとSwDocumentMgr.dllのどちらでも可 SW2008SP0.0以降ではSwDocumentMgr.dllしか使えない と言う事がわかりました。(SWの複数インストールの時は謎です・・・)
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #6 投稿日: 2008/02/29 - 20:55:10 » |
|
SwDocumentMgr.dllのバージョンに関する追加情報です。
「SwDocumentMgrTestプログラム」を起動すると、ステータスバー(右下)にSwDocumentMgr.dllのバージョンが表示されるようになっています。(参考にしてみてください)
また、webmasterさんの様にSolidworks2007SP4.0以前で使っている場合に、SwDocumentMgr.dllのSPだけ上げる方法として思いついたのですが、 SolidWorks本体のSPはそのままで、Solidworks Explorer 2007 SP5.0 をインストールしてしまうと言うのはどうでしょうか? SwDocumentMgr.dllは、Solidworks Explorer 用に作られているので、もしかしたら上手くいくかもしれません。 (テストしたわけではないので、元の状態に戻せる人のみ試してください。)
|
|
|
|
webmaster 管理人
議長 カタマリの王様!?
オフライン
投稿: 649
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #7 投稿日: 2008/03/01 - 00:03:09 » |
|
' 引用元: Makoron 投稿日 '.timeformat('1204286110').' ' SolidWorks本体のSPはそのままで、Solidworks Explorer 2007 SP5.0 をインストールしてしまうと言うのはどうでしょうか?
|
なるほどー それじゃ明日会社(トホホ)でSWExplorerをインストールしてみます。 別にSW2007のサービスパックはサボっていただけなので本来は最新SPを入れておかないといけないんですが、あえてSWExplorerでやってみます
|
webmaster (仕事のカタマリ管理人)
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #8 投稿日: 2008/05/22 - 20:22:31 » |
|
' 引用元: Makoron 投稿日 '.timeformat('1204283190').' ' あと、色々と動作テストしていて、不具合(問題?)を見つけてので書いておきます。 SwDocumentMgrテストプログラムを起動して、プレビューを読み取る都度、数MBづつメモリが消費されてしまっている様です。同じファイルのプレビューを読み取っても増えていくので、起動したままたくさんのファイル情報を取得し続けると大変な事に・・・。(リソース不足というエラーが表示されてしまった。) 時々、SwDocumentMgrテストプログラムを起動しなおして使って下さい。 |
この件について、詳細がわかりましてので書いておきます。 まず、メモリが増えていってしまう現象は、SwDMDocument11.GetPreviewBitmapBytes にありました。 どうも不具合っぽくて、このメソッドを使用するとどんどんメモリ使用量が増えていきます。 そこで、BMP形式のプレヴューを取得する場合は、SwDMDocument10.GetPreviewBitmapを使ってください。
また、PNG形式にSwDMDocument10.GetPreviewPNGBitmapを使うと、これまた、メモリ使用量が増えてしまいますので、PNGの場合は、SwDMDocument11.GetPreviewPNGBitmapBytesを使ってください。
・・・暇があったらテストプログラムも直してみます。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:SW2008からSDM1.0ライブラリが使えない!?
« 返信 #9 投稿日: 2008/05/27 - 08:38:22 » |
|
「SwDocumentMgrTestプログラム」を修正しました。(ファイル選択の部分もちょっとだけ改造)
メンバー用ダウンロードページに公開されていますので、ログイン後にここをクリックしてください。
|
|
|
|