mistral
新人さん
オフライン
投稿: 5
I'm a llama!
|
|
DXFファイルのマクロによる取り込み・保管について
« 投稿日: 2009/10/24 - 23:44:43 » |
|
お世話になります。
現在、あるフォルダーにCADデータより取り出した複数のDXFをマクロを使ってSolidWorksに 取り込み、SolidWorksの標準ファイル形式に保管したいのです。 マクロの自動記録を作成してみたのですが、複数だとうまく取り込めずに大変困っています。
以下簡単な流れですが、 あるフォルダー内のDXFファイルを複数選択→SolidWorksに複数のDXFを取り込み→SolidWorksの標準ファイル形式に保管(DXFファイル分です)
このような感じのマクロを作成するのは可能でしょうか? アドバイスをいただけたらと思っております。
よろしくお願いいたします。
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:DXFファイルのマクロによる取り込み・保管について
« 返信 #1 投稿日: 2009/10/25 - 16:53:48 » |
|
標準ファイル形式というのが何を指しているのかは分からないので、DXF→部品ファイル(SLDPRT) として説明します。
と言ってもマクロそのものを添付するだけですが
以前、指定フォルダにある部品ファイルを一覧表示して、チェックしたものだけ処理するといったマクロを 作成したので、アレンジしてDXFを一覧表示するようにし、指定したDXFだけ部品ファイルに保存する マクロを作ってみました。
インポート時のオプションも指定することが出来ます。(動作チェックはあまりしてませんが) 保存失敗時など、全ての例外処理には対応していません
DXF保存の部分は、APIヘルプのImport DXF File into Part Sketch Example (VB)を 参考にしています。
ちなみに、SolidWorks2007以降でしか対応していないImportDxfDwgDataというオブジェクトを 使用しているので、それ以前のバージョンでは動きません。
|
|
|
|
mistral
新人さん
オフライン
投稿: 5
I'm a llama!
|
|
Re:DXFファイルのマクロによる取り込み・保管について
« 返信 #2 投稿日: 2009/10/25 - 21:26:46 » |
|
早速のご回答ありがとうございます。
試してみます。
マクロのことは、よくわからないのですが、言語はExcelに搭載されているVBAなのでしょうか? もしくはVB? ヘルプなどみても、なんだかVBAとちょっと違うような
今後もマクロをもっと極めたいと思います。 ご教授お願いいたします。
参考になる本などございましたら教えていただけますと大変助かります。 今回、マクロを作成するのが初めてなものですので・・・。
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:DXFファイルのマクロによる取り込み・保管について
« 返信 #3 投稿日: 2009/10/26 - 00:40:59 » |
|
言語は、Excelに搭載されているVBAと同じですよ VBA(Visual Basic for Application)は、マクロを開発するためにアプリケーションに組み込まれた VB(Visual Basic)の簡易版みたいなもので、文法的にはVBと変わりません。 もちろん、SolidWorksを制御する上での構文は、ヘルプやマクロの記録などで覚える必要があります。
開発言語は、C++・C#・VB6・VB.NETなど様々な環境に対応しており、ヘルプには多少のサンプルも 掲載されています。
習得に関しては、下記のトピックが参考になるかも・・・ SolidWorksトレーニングマニュアル 基礎的なIf文とFor文
|
|
|
|
mistral
新人さん
オフライン
投稿: 5
I'm a llama!
|
|
Re:DXFファイルのマクロによる取り込み・保管について
« 返信 #4 投稿日: 2009/10/26 - 23:10:11 » |
|
お世話になります。
本日試してみました。 が、保存のところでwithエラーで引っかかっちゃうんですよ。 自分なりに考えているのですが・・・
>DXF保存の部分は、APIヘルプのImport DXF File into Part Sketch Example (VB)を >参考にしています。 APIもインストールしてないと動きませんか? うちは、APIインストールしていないもので・・・
なんせ、初心者なものですいません。
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:DXFファイルのマクロによる取り込み・保管について
« 返信 #5 投稿日: 2009/10/27 - 10:27:58 » |
|
引用:保存のところでwithエラーで引っかかっちゃうんですよ。 |
SolidWorks2008ではエラーにならなかったんですが、SW2007でエラーになりました 確認したら、DXF読み込み時(swApp.LoadFile4)にファイル名の部分をフルパスに 設定してなかったのが原因だと思います。
変更したものを添付しなおしたので再度ダウンロードしてみて下さい。
あと、DXFインポート後のスケッチを終了する部分で newDoc.InsertSketch2 を newDoc.Insert3DSketch2 としていたので、 コッソリ変えました
引用: マクロであれば、API SDKのインストールは必要ないです。 Visual Studioでアドインや単体アプリケーションを開発する場合は、インストールすると SW用のテンプレートなどが利用出来ます
|
|
|
|
mistral
新人さん
オフライン
投稿: 5
I'm a llama!
|
|
Re:DXFファイルのマクロによる取り込み・保管について
« 返信 #6 投稿日: 2009/10/27 - 13:57:26 » |
|
お世話になります。
dxfファイルの選択までは問題なく動作しましたが、「処理する対象がありません」と 最後にメッセージが出ます。
標準のファイル形式としましたが、【.SLDDRW】のファイル形式でした。 コードのところの.SLDPRTを.SLDDRWと変更した位ではだめなのでしょうか?
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:DXFファイルのマクロによる取り込み・保管について
« 返信 #7 投稿日: 2009/10/27 - 15:55:29 » |
|
importData.ImportMethodで部品ファイルへ取り込む設定にしているので、 "SLDDRW"に変更するだけでは正常に機能しません。
importData.ImportMethodの行をコメントアウトすれば一応は動きますが、 添付したマクロにあるオプションは部品ファイル用のものなので、可能であれば ヘルプでImportDxfDwgDataを見ながら図面ファイル用に編集してみて下さい
オプションを指定すれば、特定のレイヤーをシートフォーマットに取り込んだり 出来ると思います。
|
|
|
|
mistral
新人さん
オフライン
投稿: 5
I'm a llama!
|
|
Re:DXFファイルのマクロによる取り込み・保管について
« 返信 #8 投稿日: 2009/10/27 - 21:15:10 » |
|
毎々お世話になっております。
>ヘルプでImportDxfDwgDataを見ながら図面ファイル用に編集してみて下さい
ちょっとやってみます。(この行の設定を修正するだけだ大丈夫ですか?)
単数のDXFファイルの取り込みは単純にマクロの記録で、【.SLDDRW】に保存できましたが 複数はかなり難しいのですね。 コードをみてもちんぷんかんぷんでした。 日々驚きの連続ですよ。
|
|
|
|