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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: ExcelVBAを利用してアセンブリに部品挿入 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: ExcelVBAを利用してアセンブリに部品挿入  (閲覧数 3375 回)
akb84
新人さん
*

オフライン

投稿: 4



I'm a llama!

プロファイルを見る
ExcelVBAを利用してアセンブリに部品挿入
« 投稿日: 2010/06/16 - 03:08:33 »
引用して返信

初めて投稿させていただきます

過去のトピックで「ExcelVBAを利用してアセンブリに部品挿入 」(2006/07/08 )を拝見しました。
2010のバージョンでも使えるようにするにはどのように手を加えればよいでしょうか。
また、挿入時の座標指定や平面上での回転など出来るのでしょうか。

宜しくお願いいたします。
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:ExcelVBAを利用してアセンブリに部品挿入
« 返信 #1 投稿日: 2010/06/16 - 09:49:45 »
引用して返信

akb84さん、はじめまして。

SW2010はライセンスの都合で確認できないので、SW2009で試してみましたところ、
参照設定のところをSW2009用のものに変更したら、問題なく動作しました。

akb84さんは、マクロの参照設定のところはご存知ですか?
また、どの辺りでエラーとなっているのかわかりますか?

もう一つ、挿入時に、座標や回転を行いたいとのことですが、今調べているので、もうしばらく待ってください。
議長に報告する   記録済み
akb84
新人さん
*

オフライン

投稿: 4



I'm a llama!

プロファイルを見る
Re:ExcelVBAを利用してアセンブリに部品挿入
« 返信 #2 投稿日: 2010/06/16 - 10:36:52 »
引用して返信

Makoron様

ご返信ありがとうございます

「マクロの参照設定」... 本当に申し訳ありません。この方法もわからない素人です。
「どの辺りでエラー」... 「コンパイルエラーユーザ定義型は定義されていません」とでていました。

素人で大変、恐縮です
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:ExcelVBAを利用してアセンブリに部品挿入
« 返信 #3 投稿日: 2010/06/16 - 11:16:19 »
引用して返信

参照設定の変更方法を説明します。

1.AddPartSample.lzhを解凍してAddPartSampleフォルダをC:\に移動します。
2.AddPartSampleフォルダを開いて、Sample.xlsを開きます。
3.エクセルのメニューから、「ツール」→「マクロ」→「Visual Basic Editor」を選択します。
4.Visual Basic Editorのメニューから、「ツール」→「参照設定」を選択します。
5.参照設定のダイアログが表示されます。
6.「参照不可:SldWorks 2006 Type Library」と「参照不可:SolidWorks 2006 Constant library」に
    チェックが付いていると思うので、この2つのチェックをはずします。
7.リストボックスから次の2個を探してチェックを付けます。
    「SldWorks 2010 Type Library」
    「SolidWorks 2010 Constant type library」
8.参照設定のダイアログのOKボタンを押します。

これでマクロの参照設定は終わりです。
Excelに戻ってボタンを押してみてください。


ちなみに、私の環境は
WindowsXP
SolidWorks2009
Excel2002(OfficeXP)
です。
Excelのバージョンによって、多少説明が異なっているかもしれません。

また、座標指定や回転は結構複雑になりそうです・・・。
やりたい事のないようにもよりますが、手動で対応する方がいいかもしれませんね。

ちなみに、今の時点では、Transformオブジェクトを使った移動と回転を試しています。
あと、合致を付ける方法もあるのですが、まだ試していません。
議長に報告する   記録済み
akb84
新人さん
*

オフライン

投稿: 4



I'm a llama!

プロファイルを見る
Re:ExcelVBAを利用してアセンブリに部品挿入
« 返信 #4 投稿日: 2010/06/16 - 14:34:13 »
引用して返信

Makoron様

動きました

サクサク挿入できるのでビックリしています。
本当にありがとうございます

ここでまた質問なのです。ごめんなさい。
新規アセンブリを開かずに、すでに開いているアセンブリファイルに連続して部品を挿入できますか?
類推できなくて悩んでまいす。。。
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:ExcelVBAを利用してアセンブリに部品挿入
« 返信 #5 投稿日: 2010/06/16 - 15:02:47 »
引用して返信


引用:
動きました

サクサク挿入できるのでビックリしています。
本当にありがとうございます

ここでまた質問なのです。ごめんなさい。
新規アセンブリを開かずに、すでに開いているアセンブリファイルに連続して部品を挿入できますか?
類推できなくて悩んでまいす。。。

良かったですね


引用:
ここでまた質問なのです。ごめんなさい。
新規アセンブリを開かずに、すでに開いているアセンブリファイルに連続して部品を挿入できますか?
類推できなくて悩んでまいす。。。

できますよ!

まず、アクティブなアセンブリに対して挿入するには以下の様にソースを書き換えてください。

Set swModelDoc2 = swApp.NewDocument("C:AddPartSampleアセンブリ.asmdot", 0, 0#, 0#)

Set swModelDoc2 = swApp.ActiveDoc

これで、現在アクティブなアセンブリにサクサク挿入できると思います。

議長に報告する   記録済み
akb84
新人さん
*

オフライン

投稿: 4



I'm a llama!

プロファイルを見る
Re:ExcelVBAを利用してアセンブリに部品挿入
« 返信 #6 投稿日: 2010/06/16 - 18:49:46 »
引用して返信

Makoron様

完璧です!ありがとうございます
はじめは↓こんなので(下記コード)試していたので本当に助かりました。お恥ずかしい。。。

Sub main()
Dim myrng As Range
Set App = CreateObject("SldWorks.Application")
Set Part = App.ActiveDoc
boolstatus = Part.AddComponent(Range("B2").Value, Range("C2").Value / 1000, Range("D2").Value / 1000, Range("E2").Value / 1000)
End Sub


引用:「ちなみに、今の時点では、Transformオブジェクトを使った移動と回転を試しています。
     あと、合致を付ける方法もあるのですが、まだ試していません。 」

本当に感謝いたします。
ソリッドワークスVBAユーザーサンプル(移動と回転は別コードで)はあるのですが、エクセルで応用しきれずに困っていました
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:ExcelVBAを利用してアセンブリに部品挿入
« 返信 #7 投稿日: 2010/07/01 - 18:03:45 »
引用して返信

akb84さん、こんにちは。

なっ、なんとかサンプルが出来ました。
集中して作業する時間が無くて遅れてしまいました・・・。

あと、合致のパターンも出来そうと書きましたが、ちょっと時間が掛かりそうだったので省いちゃいました 

役に立つかわかりませんが、試してみてください。
 AddPartSample2.lzh
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: ExcelVBAを利用してアセンブリに部品挿入 前のトピック 次のトピック
ジャンプします: