サポートが必要な場合は、Autodesk Assistant にお問い合わせください!
Assistant が回答を見つけたり、担当者に連絡するお手伝いをします。
オートデスクではどのようなサポートが提供されますか?
ご利用可能なサポートの種類は、サブスクリプションのプランによって異なります。現在のプランでご利用可能なサポート レベルをご確認ください。
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
この情報は役に立ちましたか?
Assistant が回答を見つけたり、担当者に連絡するお手伝いをします。
オートデスクではどのようなサポートが提供されますか?
ご利用可能なサポートの種類は、サブスクリプションのプランによって異なります。現在のプランでご利用可能なサポート レベルをご確認ください。
プライバシー | Cookie の基本設定 | 不正コピーの報告 | 使用規約 | 法律情報(英語) | 特定商取引法に基づく表示 | © 2025 Autodesk Inc. All rights reserved