Export Data

此節介紹幾個在AEDT中用到的Iron python用到的匯出指令,例如將圖匯出或是將檔案打包成csv檔案匯出。由於IronPython的模組使用較這些檔案可以用CPython的模組做後處理來生成報告。

Export Photo

如下方的指令集,利用此方式可以將3D圖檔打包成JPG格式檔案匯出到資料夾中。

// Export Photo
oEditor.FitAll()
view="Dimetric","Trimetric", "Front", "Top", "Right", "Bottom"
photo_name = oDesign.GetName()
path =  'D://AEDT_file' # 給定路徑 #
for i in view:
        oEditor.ExportModelImageToFile("{}\{}_{}.jpg".format(path,photo_name,i), 2400, 1200, 
              [
                             "NAME:SaveImageParams",
                             "ShowAxis:="                   , "False",
                             "ShowGrid:="                  , "False",
                             "ShowRuler:="                 , "True",
                             "ShowRegion:="                            , "Default",
                             "Selections:="                  , "",
                             "FieldPlotSelections:="  , "",
                             "FitToSelections:="         , "",
                             "FitToFieldPlotSelections:=", "",
                             "Orientation:="               , i
              ])
        AddWarningMessage("Export {}_{}.jpg to {}".format(photo_name,i,path))

匯出的3D模型圖,如圖3-20所示。

Export Field Report

類似匯出圖片的指令,我們能將場圖用指令匯出成JPG檔到資料夾中。

// Export Field Report
fieldplot=[]
fieldplot=oModule1.GetMeshPlotNames()+oModule1.GetFieldPlotNames()
for field in fieldplot:
    AddWarningMessage("Export: {}.jpg".format(field))
    oModule1.ExportPlotImageToFile("{}\{}.jpg".format(path, field), "", "{}".format(field),"")

匯出的場圖,如圖3-21所示。

Export Report to CSV

利用ExportToFile的指令,能將Result中的資料匯出成CSV格式,如圖3-20所示。

// Export Report to CSV
oModule = oDesign.GetModule("ReportSetup")
oModule.ExportToFile("L with different gap", "D:/L with different gap.csv", False)

Export List to CSV

假設有兩個lsit,分別是design_variable['A', 'N', 'E', 'D', 'W', 'C', 'Gap', 'Ff'];design_variable_value ['D2+E2+C', '40mm', '30mm', '40mm', '85mm', '40mm', '1.1mm', '120mm'],要如何將這兩個list存入csv檔案中呢?此時我們可以使用CSV模組的功能。請參考下面程式碼:

// Export List to CSV_1
import csv

# 設計的List參數
design_variable = ['A', 'N', 'E', 'D', 'W', 'C', 'Gap', 'Ff']
design_variable_value = ['D*2+E*2+C', '40mm', '30mm', '40mm', '85mm', '40mm', '1.1mm', '120mm']
# 指定輸出的CSV文件路徑
csv_file_path = 'D://AEDT_file.csv'
# 使用csv模組寫入CSV文件
with open(csv_file_path, 'w') as csvfile:
    csv_writer = csv.writer(csvfile)

    # 將設計變量和設計變量值分别寫入CSV文件的兩列
    csv_writer.writerow(['Design Variable', 'Design Variable Value'])
    for variable, value in zip(design_variable, design_variable_value):
        csv_writer.writerow([variable, value])
        
AddWarningMessage("Export Data to {}".format(csv_file_path))

上面的方式匯出後,csv檔案會中間插入空白欄位,如圖3-23。

如果要避免空白欄位,可以將 " 用csv模組寫入CSV文件" 幾行程式碼修改如下:

// Export List to CSV_2
# 使用csv模組寫入CSV文件
with open(csv_file_path, 'w') as csvfile:
    csv_writer.writerow(['Design Variable', 'Design Variable Value'])
    
    # 將每一行的數據寫入CSV,不換行
    for variable, value in zip(design_variable, design_variable_value):
        csvfile.write("{},{}\n".format(variable, value))

執行後的csv檔案,如圖3-24所示。

Last updated