Inventorプロジェクト.ipjファイルを変更する方法

Autodesk Support

2017年5月15日


現在アクティブなプロジェクトファイル(.ipj)内のパス情報などを変更せずに、別のプロジェクトファイルに切り替えてファイルを開きDWFファイルを作成する事はできますか?

Solution

可能です。
プロジェクトファイルは、「大変地味な存在」ではありますが、Inventor製品にとって「非常に重要」なファイルです。
Inventor製品はそもそも製品のコンセプトが単独PCで設計する環境ではなく、ネットワークやLAN環境でチームビルディング設計(=巨大アセンブリ群の設計)が視野になっている製品です。
Inventorのプロジェクトファイルの制御は、開くファイル全体に影響を及ぼすとても重要なファイル(メカニズム)ですので、既にInventorファイル内に他のファイルが全く開いていない状態での制御が求められます。
(設計しようとしている範囲を明確に設定し、いいかえれば、同じ名前のファイルがネットワークやLAN環境上に存在していても、設定した範囲以外に影響を及ぼさないのが製品の仕様です。)

Inventorプロジェクト(ipj)の制御はAPIのFileLocationsオブジェクトで可能ですが、テンプレートパスはApplication.FileLocationsオブジェクトの隠れた、TemplatesPathメソッドをお使いください。

Public Sub Test1()
  Dim oFileLocations As FileLocations
  Set oFileLocations = ThisApplication.FileLocations
 
  MsgBox oFileLocations.TemplatesPath
End Sub

またFileLocationsオブジェクトは、「アプリケーションオプション」->[ファイルタブ]の各種情報の為の、Application.FileOptionsオブジェクトとは異なりますので注意が必要です。

プロジェクト変更の際の処理の流れのサンプルです。

Option Explicit

Public Sub SetProjectAndPublishDWF()
    
  Dim objIvApp As Inventor.Application
 
  Set objIvApp = ThisApplication
 
  '生成元のモデルファイルパス
  Dim strModelFileName As String
 
  '生成するDWFファイルパス
  Dim strOutputFile As String
 
  'Inventorのドキュメントオブジェクト
  Dim objIvDoc As Inventor.Document
 
  ' 実行する時のフォルダ
  Dim pExeDir As String
  pExeDir = "C:\InventorData1\"
 
  ' 実際のファイルが存在するフォルダ
  Dim pOpenDir As String
  pOpenDir = "C:\InventorData2\"
 
  ' アクティブなワークスペース退避用変数
  Dim oWorkSave As String
    
  ' 開かれているドキュメントを全て放棄します。
  If objIvApp.Documents.Count > 0 Then
    MsgBox "プロジェクトを変更するために全てのドキュメントを放棄します。"
    Dim pDoc As Document
    For Each pDoc In objIvApp.Documents
      pDoc.Close True
    Next
  End If

  ' FileLocations オブジェクトへの参照を設定します。
  Dim oFileLocations As FileLocations
  Set oFileLocations = objIvApp.FileLocations
 
  ' 現在の作業スペースを表示します。
  Debug.Print "作業スペース: " & oFileLocations.Workspace
 
  '現在の作業スペースを退避
  oWorkSave = oFileLocations.Workspace
 
  ' 使用するプロジェクト ファイルを設定します。
  oFileLocations.FileLocationsFile = pExeDir & "InvProj1.ipj"
 
  ' プロジェクトの変更後に作業スペースを表示し確認します。
  Debug.Print "Workspace: " & oFileLocations.Workspace
 
  '作業スペースを開くホルダーに変更する
  oFileLocations.Workspace = pOpenDir
 
  'モデルファイルパス作成、Inventor上に開く
  strModelFileName = pOpenDir & "DesignFile\TestAssy1.iam"
 
  Set objIvDoc = objIvApp.Documents.Open(strModelFileName, True)
 
  'DWF出力ファイルパス作成
  strOutputFile = pOpenDir & "DesignFile\TestAssy1.dwf"
 
  'サイレント動作の準備
  objIvApp.SilentOperation = True
 
  'DWF形式で保存
  Call objIvDoc.SaveAs(strOutputFile, True)
 
  objIvDoc.Close (True)
 
  'サイレント動作を元に戻す
  objIvApp.SilentOperation = False

  '退避した作業スペースを戻す
  oFileLocations.Workspace = oWorkSave
 
End Sub

By Shigekazu Saito

 



この情報は役に立ちましたか?


サポートが必要な場合は、Autodesk Assistant にお問い合わせください!

Assistant が回答を見つけたり、担当者に連絡するお手伝いをします。


オートデスクではどのようなサポートが提供されますか?

ご利用可能なサポートの種類は、サブスクリプションのプランによって異なります。現在のプランでご利用可能なサポート レベルをご確認ください。

サポート レベルを確認