Skip to content

Instantly share code, notes, and snippets.

@AlexandrDragunkin
Created July 11, 2023 20:55
Show Gist options
  • Save AlexandrDragunkin/292ee1163212635c866719ce16422f32 to your computer and use it in GitHub Desktop.
Save AlexandrDragunkin/292ee1163212635c866719ce16422f32 to your computer and use it in GitHub Desktop.
TE13Minifi
#coding:utf-8
"""
Author: Aleksandr Dragunkin
Purpose: Расстановка крепежа по макро с 8-ю параметраами
Created: 13/02/22
"""
...
def main():
""""""
calculate_positions_fixes(LENGTH_X_POS, BUILD_X_POS)
_idnom = mAttribute.getattrobject(Params.params.hPanel, 'priceid', 0)
if _idnom:
thickness = core_k.rdnomenclature.priceinfo(_idnom, 'thickness', 0)
pan = furntype.Panel(Params.params.hPanel)
butts = list(filter(lambda a: a.type_ == furntype.constants.BUTTTYPE.CHAMFER,
pan.get_butts_fltr(request_panel=Params.params.hPanel, idpoly = Params.params.Poly, idline = Params.params.Side)
)
)
if butts:
fixdetinfo = core_k.fixinfo.fixdetinfo(Params.params.FixPars.unit_id)
angle_butt = math.tan(math.radians( butts[0].params[2]))
# коррекция на смещение(d)
z_shift = butts[0].params[1] * angle_butt
# Логика зависимости угла и положения эксцентрика
if (Params.params.FixPars.put_from == Params.params.FixPars.mirrored) :
# Эксцентрик расположен на нижней пласти полки. 0 по толщине
if butts[0].params[0] == 1 and butts[0].params[2] < 0:
# Скос направлен от нижней пласти вверх
yfixreal = thickness / 2 + (fixdetinfo.Ky * thickness) + fixdetinfo.Y
yfixreal *= -1
z_shift *= -1
else:
# Скос направлен сверху вниз
yfixreal = thickness - (thickness / 2 + (fixdetinfo.Ky * thickness) + fixdetinfo.Y)
yfixreal *= 1
z_shift *= -1
else:
# Эксцентрик расположен на верхней пласти полки. 25 или 16 по толщине, на верхней пласти
if butts[0].params[0] == 1 and butts[0].params[2] < 0:
# Скос направлен от нижней пласти вверх
yfixreal = thickness - (thickness / 2 + (fixdetinfo.Ky * thickness) + fixdetinfo.Y)
yfixreal *= -1
z_shift *= -1
else:
# Скос направлен сверху вниз
yfixreal = thickness / 2 + (fixdetinfo.Ky * thickness) + fixdetinfo.Y
yfixreal *= 1
z_shift *= -1
# -----------------------------------------------------------------------------------
# вычислить сдвиг деталей по оси Z крепежа в зависимост от угла торцевой обработки
zdelta = yfixreal * angle_butt + z_shift
if zdelta:
for i, zhol in enumerate(Params.params.ZHol):
# Применить сдвиг детали по оси Z
Params.params.ZHol[i].value += zdelta
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment