Pyslvs v0.9 大更新進度

  • 輸入 (Inputs) 介面
  • Version 0.9 Bata 計畫

輸入 (Inputs) 介面

製作了藉由自由度輸入變數至機構的 GUI,介面盡量設計得直覺一些。

Points 清單的更新模式是跟畫布 (Canvas) 同步的,無論是新增、刪除節點,還是選取、取消選取,Points 清單都會保持最新狀態,方便使用者設計時不再需要一直跳出視窗設定。

首先由 Points 清單選擇節點,接著選擇基準桿件與驅動桿件,例如圖中 link_1 和機架 ground 做相對運動,按下「Add to variable list」鈕加入到下方的變數清單。

由於自由度 (DOF) 的數學定義是能取決該機構節點位置的變數數量,因此 Variables 清單的長度不可大於自由度。

選取變數後,可以藉由右邊的轉盤增減量。

由於還有幾個部份還沒確定,因此還未將控制添加給 Solvespace API。

待決定事項

關於輸入 (Inputs) 介面功能的未決定事項,想在這裡列出來,看看是否靈光一現,能有兩全其美的規劃。

  1. 因為此介面是與機構 (Mechanism) 完全同步,是否改變機構外觀時就要更新變數的內容了呢?

  2. 正在規劃錄製 (Records) 清單的角色定位,至少能達成 Solvespace 中紀錄並繪製點座標的功能,但也因上述問題,不知是否處理已錄製的數據。

  3. 搭配下述新的版次管理,希望錄製 (Records) 清單能保存每個版本機構的路徑資料。

Version 0.9 Bata 計畫

當新的 PMKS 表示法和輸入功能建立好後,會封鎖還未完成的功能(例如輸出輸入與舊範例),釋出這兩個新系統的 Bata 版本。

而 Bata 版的推出是一系列的,釋出時將會標明測試哪部份的功能。

預計將分批測試以下項目(順序可變):

  • PMKS 表示法和輸入功能
  • 具有版次紀錄的檔案格式
  • 大量機構範例
  • 外部格式輸出

具有版次紀錄的檔案格式

  • 新的檔案格式採用 SQL Database。
  • 僅會紀錄機構變更內容
  • 設計一組符合 PMKS 表示法的索引值,讓 Pyslvs 可以更快更動機構內容。
  • 「變更內容」搭配「索引值」,可以比較出機構差異,若要合併分支,需要設計差異疊加的判斷功能。
  • Undo Redo 清單仍只會依順序重新建立機構,以免造成程式負擔。

大量機構範例

  • 這部份想學習顏鴻森教授的「一般化」,嘗試將不同組合的運動鍊轉換後導入。
  • 機構範例用 PMKS 網址參數就能紀錄了,可以較以前省下更多資源空間。

外部格式輸出

  • 修正舊的 Solvespace 導出功能,會再向開發人員詢問問題。

  • 導出格式:

    • PMKS 網址(完成
    • 截圖用 Qt 轉檔或複製到剪貼簿(完成
    • Pyslvs 格式
    • Solvespace 格式
    • DXF 平面格式

Comments

comments powered by Disqus