• 目前 PMKS 拓樸法簡介

  • Pyslvs 如何利用及修改範圍討論

Planar Mechanism Kinematic Simulator

為了學習 PMKS 的拓樸法,因此在 Windows 平台的 Demo 網頁中摸索。

網頁版的 PMKS 仍只能使用 IE 瀏覽器或是 macOS 的 Safari 載入,新的 Edge 都不行用。

由於是 Silverlight 的關係,操作上沒有右鍵選單,相較於單機軟體仍有不便之處。

Graph-grammar 表格

可以看到右上角有一個表格,即為輸入表示式的表格,雖然操作上有所不便,但是測試後還是能將結構表現出來。

表格的欄位從左到右如下:

  • Input:選擇輸入端,PMKS 是由輸入端當作起點,開始找尋周圍的點(浮動點無效)。

  • Links:連桿節點表示式,使用逗號分隔。

  • Type of Joint:節點類型,分別如下:

    • R:銷接。
    • P:滑塊。
    • RP:銷接於滑槽中。
    • G:齒輪牙。
  • X Pos.:X 軸初始位置。

  • Y Pos.:Y 軸初始位置。

  • Angle:使用在擁有旋轉自由度的節點上。

  • P:顯示位置路徑(固定點無效)。

  • V:顯示速度大小與方向(固定點無效)。

  • A:顯示加速度大小與方向(固定點無效)。

要新增節點,只要點到底部的欄位就會自動新增一行,刪除只要按「Remove Row」鈕即可。

Grammar

表示式儲存於節點,代表此節點所在的連桿,因此節點為兩連桿的交點時,表示式就會儲存兩個連桿的名稱,以此類推。

預設有一個連桿名稱為「ground」,代表接地,因此擁有此名稱的節點無法移動。

連桿名稱皆為自訂,只接受小寫字母非字首的數字,不過很遺憾的是,圖面不會告訴你連桿名稱,只以顏色表示。

以普通六連桿為例,對照如下:

若只有一個節點使用新的連桿名稱,如下圖的「o」,會出現淡色的圓圈,此時也會記入旋轉對的自由度計算。

優缺點分析

PMKS 目前有許多值得學習及利用的地方,應該都能配合完成,只是資料結構必須配合更改。

  • 優點:

    • 優秀的拓樸法及求解方式。
    • 此結構可以與 Python-Solvespace 整合。
  • 缺點:

    • 網頁介面操作及規劃十分不理想。
    • 利用性較少,目前只有 C# 程式庫、Excel 巨集、Silverlight 網頁介面三種。

根據 PMKS 的 Graph-grammar,只需要修改 1 種類型--不過我打算做成節點以及連桿 2 種表達,設定節點以及所屬連桿即可。

稍微思考了一下,若是套用至 Pyslvs:

  • 大幅減少 Pyslvs 的資源使用,因為只需要兩個表格即可呈現表示法。

  • Pyslvs 可能得重新規劃資料格式以及檔案格式,並且會花較久的時間。

  • 關於模仿 Linkage 的部分,由於 PMKS 精簡的 grammar,因此可能目前 Pyslvs 的新增選取功能就夠用了。必要的話應也能做拖移節點的功能。

  • 先維持使用 Python-Solvespace 解題,因為 PMKS 拓樸法並不支援 1 個以上的輸入,但是 Pyslvs 這邊能轉給 Solvespace 解多重輸入的功能。

由於 v0.9 目前更新量不大,因此若要加入 PMKS 的概念,就會在此版本發布。

有了 1 年多的 Python 開發經驗,應該能在下學期中完成這個計畫。


Comments

comments powered by Disqus