雖然iSight有Adams/View接口,但對Adams的版本有限制。下面使用iSight的simcode,就可以支持任意版本的Adams了。
Adams模型如下:

1. 編寫cmd文件
file binary read & file_name = "E:\WXP\Adams\View\isight\Adams_byCMD\latch.bin" & alert = no var set var=DV_6 real_value = 0.7434119172961013 var set var=DV_7 real_value = 1.9259555962462807 var set var=DV_8 real_value = 4.433676661326009 var set var=DV_9 real_value = 4.714610513466087 var set var=DV_10 real_value = 7.779034103913939 var set var=DV_11 real_value = 6.796475165941863 var set var=DV_12 real_value = 6.286717021438926 var set var=DV_13 real_value = 6.98794537270161 var set var=DV_14 real_value = 5.115403982604715 var set var=DV_15 real_value = 8.202838178072785 simulation single scripted & sim_script_name = .latch.Last_Sim & reset_before_and_after = yes numeric_results write & result_set_component_name = MAG, Last_Run.TIME & sort_by = by_value & order = descending & write_to_terminal = off & file_name = "E:\WXP\Adams\View\isight\Adams_byCMD\spring.txt"
latchi.bin是要優化的Adams模型;
var set var = DV_* 是要優化的設計變量;
仿真是由腳本.latch.Last_Sim控制,reset_before_and_after設置為yes表示每次仿真前后都要重置。
spring.txt是輸出文件,其內容是由result_set_component_name來定義的,名稱之間用逗號隔開。這里輸出是MAG和Last_Run.TIME,並按倒序排列。這與在Adams/PostProcessor是對應的。
輸出內容如下:
A. .latch.Last_Run.StringOfForce.MAG (newton) B. .latch.Last_Run.TIME (sec) A B 3.497601E+003 2.000000E-001 3.358114E+003 1.980000E-001 3.318937E+003 1.960000E-001 3.029387E+003 1.940000E-001 2.987023E+003 1.920000E-001 2.807605E+003 1.900000E-001 2.783798E+003 1.880000E-001 2.676770E+003 1.860000E-001 2.664381E+003 1.840000E-001 2.588095E+003 1.820000E-001 2.580667E+003 1.800000E-001 2.518880E+003 1.780000E-001 2.514620E+003 1.760000E-001 2.459801E+003 1.740000E-001 2.457834E+003 1.720000E-001 2.405967E+003 1.700000E-001 2.405960E+003 1.680000E-001 2.356435E+003 1.660000E-001 2.354424E+003 1.640000E-001 2.307433E+003 1.620000E-001 2.303180E+003 1.600000E-001 2.257533E+003 1.580000E-001 2.250652E+003 1.560000E-001 2.205627E+003 1.540000E-001 2.195428E+003 1.520000E-001 2.151713E+003 1.500000E-001 2.150561E+003 1.480000E-001 2.136098E+003 1.460000E-001 2.096343E+003 1.440000E-001 2.091177E+003 1.420000E-001 2.071141E+003 1.400000E-001 2.036315E+003 1.380000E-001 2.026218E+003 1.360000E-001 1.998838E+003 1.340000E-001 1.970465E+003 1.320000E-001 1.954294E+003 1.300000E-001 1.917255E+003 1.280000E-001 1.897496E+003 1.260000E-001 1.873899E+003 1.240000E-001 1.824325E+003 1.220000E-001 1.816026E+003 1.200000E-001 1.783518E+003 1.180000E-001 1.724723E+003 1.160000E-001 1.718114E+003 1.140000E-001 1.681860E+003 1.120000E-001 1.622564E+003 1.100000E-001 1.597314E+003 1.080000E-001 1.568254E+003 1.060000E-001 1.509209E+003 1.040000E-001 1.461937E+003 1.020000E-001 1.443129E+003 1.000000E-001 1.385403E+003 9.800000E-002 1.313952E+003 9.600000E-002 1.308374E+003 9.400000E-002 1.253238E+003 9.200000E-002 1.167364E+003 9.000000E-002 1.157460E+003 8.800000E-002 1.116083E+003 8.600000E-002 1.024530E+003 8.400000E-002 9.981465E+002 8.200000E-002 9.781544E+002 8.000000E-002 8.846512E+002 7.800000E-002 8.438606E+002 7.600000E-002 8.422008E+002 7.400000E-002 7.521066E+002 7.200000E-002 7.171571E+002 7.000000E-002 6.952084E+002 6.800000E-002 6.303409E+002 6.600000E-002 6.010998E+002 6.400000E-002 5.613901E+002 6.200000E-002 5.216125E+002 6.000000E-002 4.976557E+002 5.800000E-002 4.433115E+002 5.600000E-002 4.270085E+002 5.400000E-002 4.077383E+002 5.200000E-002 3.466379E+002 5.000000E-002 3.419748E+002 4.800000E-002 3.313902E+002 4.600000E-002 2.799041E+002 4.400000E-002 2.680295E+002 4.200000E-002 2.571407E+002 4.000000E-002 2.257823E+002 3.800000E-002 2.166965E+002 3.600000E-002 1.877344E+002 3.400000E-002 1.830562E+002 3.200000E-002 1.762658E+002 3.000000E-002 1.505007E+002 2.800000E-002 1.456106E+002 2.600000E-002 1.321667E+002 2.400000E-002 1.270103E+002 2.200000E-002 1.237226E+002 2.000000E-002 1.116855E+002 1.800000E-002 1.097937E+002 1.600000E-002 1.038876E+002 1.400000E-002 1.032703E+002 1.200000E-002 8.873737E+001 1.000000E-002 5.565966E+001 8.000000E-003 3.145351E+001 6.000000E-003 1.475188E+001 4.000000E-003 4.483455E+000 2.000000E-003 0.000000E+000 0.000000E+000
2. 編寫BAT文件
要想在命令方式下調用Adams,需編寫如下的批處理文件goAVIEW.bat。
del E:\WXP\Adams\View\isight\Adams_byCMD\spring.txt "D:\MSC.Software\Adams_x64\2014\common\mdi.bat" av ru-s b E:\WXP\Adams\View\isight\Adams_byCMD\latch.cmd e
上面文件的第一行為每次調用前刪除上一次的結果文件spring.txt。第二行是命令行調用adams讀取步驟1中文件的方法。
3. iSight設置
在iSight工作區中拖入Application Components下的DataExchanger(2個)和OS Command(1個),Process Components下的
Optimization(1個)至Task1中。
左側Data Exchanger讀取latch.cmd文件,雙擊彈出如下界面。
點擊中間的Click here to open a new Data Source,添加write屬性的cmd文件。
點擊Next進入下一步,再Back返回上一步。點擊File to Read at Runtime下文件名右側的…按鍵,將文件寫出路徑設為絕對路徑:
點擊Next,選擇General Text。點擊Finish完成設置。
在模板文件中選中某個設計變量數值,在Parameter中輸入變量名,然后點擊右側筆圖標的write按鍵,完成iSight的該設計變量創建。使用同樣方法將所需的所有設計變量全部創建出來。點擊OK完成寫出文件的所有設置。
雙擊iSight工作區右側的Data Exchanger 1,點擊中間的Click here to open a new Data Source,添加read屬性的文件。

點擊Next進入下一步,再Back返回上一步。點擊File to Read at Runtime下文件名右側的…按鍵,確認與下圖設置一致:
點擊OK后,再點擊Next按鍵,選擇General Text。點擊Finish完成設置。選中下圖綠色高亮數據,在Parameter中輸入變量名,點擊右側的Read按鍵,完成優化目標變量的創建。點擊完成讀取文件的設置。
雙擊iSight工作區的OS Command,在Basic選項卡中點擊Find Program按鍵選擇步驟2中創建的goAVIEW.bat文件。點擊OK完成命令文件的設置。
4. 設置優化方法
雙擊Optimization1,在General選項卡中選擇多島遺傳算法作為優化方法:
在Variables選項卡中勾選所有要優化的設計變量。
在Objectives中勾選優化的目標函數SpringForce。點擊OK完成優化方法的設置。
點擊工具欄的Run Model或按F4,開始優化。優化結束后,點擊Summary選項卡,查看優化結果。