API の例: ファイルへのノード データの書き込み

使用中のプログラミング言語で提供される標準ファイル機能を使用して (VBScript 用 File.Write)、外部ファイルへ書き込み、外部プログラムを起動します。

次の例では、カンマで区切られたファイル (*.csv)を作成し、モデルの各ノードに対して次の情報をファイルに書き込みます。

ファイルの書き込みが終了すると、ファイルを表示するために外部アプリケーションを起動します (メモ帳)。

'@
'@ DESCRIPTION
'@ Extract all Nodal Coordinates to a comma separated text file
'@ 
'@
'@ SYNTAX
'@ WriteNodalData
'@
'@ PARAMETERS
'@ none 
'@
'@ DEPENDENCIES/LIMITATIONS
'@  
'@
'@ History
'@ Created DRA 9/8/2006
'@@ 
Option Explicit
SetLocale("en-us")
Dim Synergy
Set Synergy = CreateObject("synergy.Synergy")
Synergy.SetUnits "METRIC"

Dim StudyDoc, App
Dim FS, TemporaryFolder, TempFolder, Name, lFile
Dim Str, Node, NodeNumber, Coord

Set StudyDoc = Synergy.StudyDoc()

'Open a File in the users temporary Directory
Set FS = CreateObject("Scripting.FileSystemObject")
TemporaryFolder = 2
Set TempFolder = FS.GetSpecialFolder(TemporaryFolder)
Name = "data.txt"
Set lFile = TempFolder.CreateTextFile(Name, True)

' Write File Header
Str = "Node" & "," & "X" & "," & "Y" & "," & "Z" &  vbCrLf
lFile.Write Str

' Loop through all nodal
Set Node = StudyDoc.GetFirstNode()
While Not Node Is Nothing
        NodeNumber = StudyDoc.GetEntityID(Node)
        Set Coord = StudyDoc.GetNodeCoord(Node)
        Str = NodeNumber & "," & Coord.X & "," & Coord.Y  & "," & Coord.Z & vbCRLF
        lFile.Write Str
        Set Node = StudyDoc.GetNextNode(Node)
Wend

' Close File
lFile.Close

' Notify user where the file is located
MsgBox "Nodal Data Recorded In File" & vbCRLF & TempFolder.Path & "\" & Name 
 
' Open the File in Notepad
Set App = WScript.CreateObject("WScript.Shell")
Dim Command
Command = "notepad.exe " & TempFolder.Path & "\" & Name 
App.Run Command

MsgBox "Script Complete"
Wscript.Quit