Random Thoughts |
A man who smiles when things go wrong knows who to blame.
|
言語 |
|
|
|
フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27) |
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 11:44:29 |
|
|
|
著者
|
トピック: 新規ドキュメント作成・設計テーブル挿入について (閲覧数 2637 回) |
|
gakusei
Jr. メンバー
オフライン
投稿: 11
I'm a llama!
|
|
新規ドキュメント作成・設計テーブル挿入について
« 投稿日: 2010/07/10 - 19:10:13 » |
|
いつもお世話になっています。 もしかすると本当に基本的なことなのかもしれませんが質問致します。
私はAPIを用いて新規の部品・アセンブリドキュメントを作成し、そこに設計テーブルを挿入したいと 考えています。そこで、プログラムを作成してみたのですが、新規ドキュメントを作成されず、設計テーブル も挿入できずにエラー( swModel.InsertFamilyTableNewのところ)が出てしまいます。 何か間違っていますでしょうか?
非常に初心者的な質問だとは思いますが、わかる方よろしくお願い致します。 ちなみに、私はsolidworks2010学生版を使用しています
Option Explicit Const filedir As String = "C:\SolidWorks\"
Private Sub cmdNewModel_Click() Dim swApp As SldWorks.SldWorks Set swApp = Application.SldWorks Dim swModel As SldWorks.ModelDoc2 If optPart.Value = True Then Set swModel = swApp.NewDocument(filedir + _ "APIPart.prtdot", 0, 0#, 0#) End If If optAssy.Value = True Then Set swModel = swApp.NewDocument(filedir + _ "APIAssembly.asmdot", 0, 0#, 0#) End If
If chkFamilyTable.Value = True Then If optDraw.Value = True Then Set swView = preparedrawingView(swApp, swModel) swModel.Extension.SelectByID2 swView.GetName2, _ "DRAWINGVIEW", 0, 0, 0, False, 0, _ Nothing, swSelectOptionDefault swModel.InsertFamilyTableNew Else swModel.InsertFamilyTableNew End If End If
End Sub
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:新規ドキュメント作成・設計テーブル挿入について
« 返信 #1 投稿日: 2010/07/12 - 09:04:07 » |
|
gakuseiさん、おはようございます。
私の環境でテストしてみましたが、特に問題なく動作しました。 (一部、変数やコントロール名などを変更しましたが。)
そこで、このコードで新規ドキュメントや設計テーブルが作成されない原因がどこにあるかを考えてみましたが、 「新規ドキュメントが作成されない」ということなので、一番怪しいのが、「ドキュメントテンプレートのパスが間違っている」 または、「テンプレートが存在しない」ではないかと思います。
この、マクロを実行すると、 Set swModel = swApp.NewDocument(filedir + "APIPart.prtdot", 0, 0#, 0#) や Set swModel = swApp.NewDocument(filedir + "APIAssembly.asmdot", 0, 0#, 0#) の後に、SolidWorksで新規ドキュメントが作成されます。(SolidWorksに表示される)
たぶん、gakuseiの環境では、この時にドキュメントが新規作成されていないのではないでしょうか? とうぜん、ドキュメントが作成されなければ、設計テーブルを作成できないはずですし、 swModel オブジェクトの値もNothingになっているのではないかと考えます。
マクロに、ブレークポイントを挿入して、swApp.NewDocumentの後にswModel オブジェクトが作成されているか、 また、SolidWorksで新規ドキュメントが作成されたか、などを確認してみてはどうでしょうか?
|
|
|
|
gakusei
Jr. メンバー
オフライン
投稿: 11
I'm a llama!
|
|
Re:新規ドキュメント作成・設計テーブル挿入について
« 返信 #2 投稿日: 2010/07/13 - 10:56:38 » |
|
Makoronさん、おはようございます。 Makoronさん御指摘のように、「ドキュメントテンプレートのパス」が間違っていました。
新規ドキュメント、設計テーブルも無事挿入することができました。 本当に初歩的なミスで申し訳ありません。
的確なご説明ありがとうございました。
|
|
|
|
|
|
|
|