-
目前 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