CoppeliaSim 的安裝套件採用 QSetup 製作, 即便在安裝過程可從 %temp% 中的暫存目錄 (例如: AppData\Local\Temp\SETUP_2639) 取得其 setup.exe 所解開的檔案, 但仍無法直接 extract 出完整的可攜 CoppeliaSim 目錄.
Portable CoppeliaSim
因此這裡所謂的可攜 CoppeliaSim, 其實就是從操作系統完成安裝的目錄中取出資料, 然後加上存入操作系統中的 redistributable dll 檔案製作而成.
其中的 vcRedist/vc2019redist_x64.exe 需要利用 Wix 解出 .msi 之後, 再利用 UniExtract2 解出所需要的 .dll, 並將所有的 .dll 檔案放入可攜 CoppeliaSim 的根目錄中.
解開 vc2019redist_x64.exe 的指令:
wix311-binaries\dark.exe vc2019redist_x64.exe -x extracted
表示要在 extracted 目錄中取得 extracted\AttachedContainer\packages\vcRuntimeMinimum_amd64\vc_runtimeMinimum_x64.msi 之後, 再利用 UniExtract2 解開所需的 dll 檔案, 最後再放入 CoppeliaSim 根目錄. 啟動時直接執行 coppeliaSim.exe 即可.
simscene XML
CoppeliaSim 從 4.0.0 版開始, 提供 XML 檔案格式的輸出入, 此功能允許使用者透過 ASCII 檔案格式建構 CoppeliaSim 的場景. 其中與機電產品開發過程中的電腦輔助設計架構最直接關聯的就是, 使用者可以直接透過程式方法, 將設計零件以 STL 格式輸出後, 套接在使用者所建構的機電資場景中. 意即: 使用者可以直接從 MCAD 套件中將組立檔案轉進具有 joints、Camera、Vision sensors、Force sensors、Proximity sensors與控制 Scripts 的模擬環境, 而無需全部採手動轉檔方式, 在 CoppeliaSim 圖形介面中進行組立、設定參數或配接各項模擬元件樹狀架構.
當使用者從 CoppeliaSim 將場景 存為 exhaustive sinscent XML 檔案格式 後, 可以利用下列 Python 程式讀出其中的標註 (總數超過 326 個), 之後再設法利用 Leo Editor 的 import-xml-tags data 設定解讀所有 tags 內容, 並以階層式架構呈現 :
# from https://stackoverflow.com/questions/29596584/getting-a-list-of-xml-tags-in-file-using-xml-etree-elementtree import xml.etree.ElementTree as ET def leo_print(x): try: print(x) except: g.es(x) # load and parse the file xmlTree = ET.parse('two_link_slvs_shaft_simple.simscene.xml') elemList = [] for elem in xmlTree.iter(): elemList.append(elem.tag) # now I remove duplicities - by convertion to set and back to list elemList = list(set(elemList)) # Just printing out the result try: print(elemList) except: # echo string g.es(elemList) for i in elemList: leo_print(i)
下載 CoppeliaSimEdu_4.3.0_rev12.7z (for @gm users only) / 下載 CoppeliaSimEdu_4.3.0_rev12.7z for @nfu