Pyslvs 開發進度:

  • 三角求解器格式
  • 偵測合併功能
  • 加入四連桿步幅範例

Pyslvs 開發進度

三角求解器格式

如上次更新的資料格式,求解器改用 class Direction 取代 dict 儲存資料。

class Direction:
    ITEM = ['merge', 'p1', 'p2', 'p3', 'len1', 'len2', 'angle', 'other']
    def __init__(self, **Args):
        if not Args.get('Type', False) is False:
            self._type = Args['Type']
            del Args['Type']
        self.__dict__.update(Args)
    @property
    def Type(self): return self._type
    @Type.setter
    def Type(self, Type): self._type = Type

    def set(self, name, value):
        if name in self.ITEM: self.__dict__.update({name:value})
    def get(self, name, elseObject=None): return getattr(self, name) if hasattr(self, name) else elseObject
    def items(self): return {t:getattr(self, t) for t in self.ITEM if hasattr(self, t)}

    def __str__(self): return "{}".format(self.items())

建立方法如下:

Direction(p1=(-60, 0), p2=(0, 0), len1=30, angle=50)

相關視窗處理皆測試完畢。

偵測合併功能

連桿與呆鍊的自動合併功能已開發完畢,預設啟用該選項。

新增或修改實體時會移除共用 2 點(連桿對連桿、連桿對呆鍊)或是共用 3 點(呆鍊對呆鍊)的實體。

加入四連桿步幅範例

新增以下範例:


Comments

comments powered by Disqus