Пример #1
0
def move_mtrl(mem, mtrl, orig_point, locator, offset, xform):
    locator.SetPrompt('Locate second point:')
    locator.SetCurrentSnap('INCL')
    locator.SetAnchorGlobal(orig_point)
    new_point = Point3D.Point3D()
    mtrl_idx = mtrl._as_tuple[2]
    ok = locator.AcquireGlobalPoint(new_point)
    if ok:
        xform.SetTranslation(new_point + offset)
        MemberBase.GetMemberLink(mem.number, True, True)
        MemberBase.GetMemberLink(mtrl._as_tuple[0], True, True)
        MemberBase.SetMaterialXform(mem.number, mtrl_idx, xform)
        MemberBase.GetMemberLink(mem.number, False, False)
        MemberBase.GetMemberLink(mtrl._as_tuple[0], False, False)
        mtrl_poly = Polygon.PolyList(mtrl.poly)
        with Polygon.Preview(
                mtrl_poly
        ) as preview:  # graphicaly shows the new location of the mirrored material
            if not param.yes_or_no('Confirm material location: '):
                mtrlToGenMtrl(mtrl).erase()

        return True
    else:
        return False