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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 新規ドキュメント作成・設計テーブル挿入について 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: 新規ドキュメント作成・設計テーブル挿入について  (閲覧数 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さん御指摘のように、「ドキュメントテンプレートのパス」が間違っていました。

新規ドキュメント、設計テーブルも無事挿入することができました。
本当に初歩的なミスで申し訳ありません。


的確なご説明ありがとうございました。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 新規ドキュメント作成・設計テーブル挿入について 前のトピック 次のトピック
ジャンプします: