1. 表格管理與程式碼

  2. 路徑計算問題

Pyslvs 界面

表格管鏈

新增調整連桿和呆鍊順序的功能。

但是 slvs 程式庫處理的結果似乎和約束順序無關。

不論是調整表格順序,還是調動範例 code 裡的順序,結果都一樣。

點座標的表格現在多了當前座標欄位,和初始座標區隔開。

運算時是使用初始座標,當前座標是繪圖用的。

這樣按理說產生的點座標和約束條件就和範例一樣了,但是仍然沒解決。

程式碼輸出

將字串和文字區塊作合併,存成一個 object,但是還未回傳主程式。

以下是加入點座標的範例。

Script = ""
#初始化
Script += """
sys = System(1000)
p0 = sys.add_param(0.0)
p1 = sys.add_param(0.0)
p2 = sys.add_param(0.0)
Point0 = Point3d(p0, p1, p2)
qw, qx, qy, qz = Slvs_MakeQuaternion(1, 0, 0, 0, 1, 0)
p3 = sys.add_param(qw)
p4 = sys.add_param(qx)
p5 = sys.add_param(qy)
p6 = sys.add_param(qz)
Normal1 = Normal3d(p3, p4, p5, p6)
Workplane1 = Workplane(Point0, Normal1)

p7 = sys.add_param(0.0)
p8 = sys.add_param(0.0)
Point1 = Point2d(Workplane1, p7, p8)
Constraint.dragged(Workplane1, Point1)
"""
...
#加入點
Script += """p"""+str(i+7)+""" = sys.add_param("""+str(float(table_point.item(i, 1).text()))+""")
p"""+str(i+8)+""" = sys.add_param("""+str(float(table_point.item(i, 2).text()))+""")
Point"""+str(i+1)+""" = Point2d(Workplane1, p"""+str(i+8)+""", p"""+str(i+9)+""")
"""
#如果點固定
Script += """Constraint.dragged(Workplane1, Point"""+str(i+1)+""")
"""

路徑計算

今天嘗試過許多方法,但是未能讓路徑運算功能的結果與 Python 3 執行範例的結果一樣。

逐步將其他功能做起來,也許能幫助檢查為何無法算出正確的結果。

以下是直接將執行範例的結果畫在圖層上,違和感滿大的。

接著會先著重於程式碼輸出的部份,拿來和範例比對,希望能找出錯誤。

如果必要的話,也許有些複雜的能會暫時移除。


Comments

comments powered by Disqus