furntype.Entities package#

Submodules#

furntype.Entities.cupboard module#

furntype.Entities.entity module#

Author: –<alexandr69@gmail.com> Purpose: Created: 06/28/21

class furntype.Entities.entity.Entity[source]#

Bases: object

интерфейс для isinstance Все сущности наследуются от этого класса

furntype.Entities.panel module#

Author: –<alexandr69@gmail.com> Purpose: Модуль Мебельной Панели и всех сущностей из которых она состоит Created: 06/28/21

class furntype.Entities.panel.AngleTypes[source]#

Bases: Entity

Параметры подрезки угла

__init__(typeang=0, param=<factory>)#
Parameters
  • typeang (float) –

  • param (List[float]) –

Return type

None

param: List[float]#
typeang: float = 0#
class furntype.Entities.panel.Band[source]#

Bases: Entity

кромка на сторону панели

args:
  • type - тип кромки

  • idpoly - ID контура сегмента

  • idline - ID элемента сегмента

  • mask - маска наложения кромки
    • 0x00000001 - Кромка включена в размер панели;

    • 0x00000002 - Кромка строится с предварительной фрезеровкой;

    • 0x00000004 - Кромка (фрезеровка) строится с поворотом по оси Z (по вертикали);

    • 0x00000008 - Кромку можно резать;

    • 0x80000000 - Лицевая кромка;

    • 0x40000000 - Текстуру кромки повернуть на 90 градусов

__init__(type_, idpoly, idline, mask=1)#
Parameters
  • type_ (float) –

  • idpoly (int) –

  • idline (int) –

  • mask (int) –

Return type

None

idline: int#
idpoly: int#
mask: int = 1#
type_: float#
class furntype.Entities.panel.Butt[source]#

Bases: Entity

Торцевая обработка#

args:
  • butttype - тип торцевой обработки:
    • constants.BUTTTYPE.NONE=”None” # Торцевая обработка отсутствует

    • constants.BUTTTYPE.GROOVE=”Groove” # Паз

    • constants.BUTTTYPE.CHAMFER=”Chamfer” # Скос

    • constants.BUTTTYPE.ROUNDING=”Rounding” # Скругление

  • map - номер секции раскрашивания

  • idpoly - ID контура сегмента

  • idline - ID элемента сегмента

  • shift - сдвиг торцевой обработки от начала сегмента

  • length - длина торцевой обработки (0 - на всю длину сегмента)

  • frombeg - если True, признак того, что торцевая обработки строится с начала сегмента.

    иначе, торцевая обработки строится с конца сегмента.

  • islength - если True, то length - длина торцевой обработки. Иначе - расстояние от края сегмента, до которого должна идти обработка. Обработка будет расположена до точки, находящейся от конца торца на расстоянии, равном модулю length

params - параметры торцевой обработки:
Для паза - коэффициент сдвига от пласти А в долях толщины

глубина паза ширина паза

Для скоса - коэффициент сдвига от пласти А в долях толщины

смещение от пласти А в мм угол в градусах

Для скругления - коэффициент сдвига от пласти А в долях толщины

верхний радиус в мм нижний радиус в мм

__init__(type_='None', map_=1, idpoly=0, idline=0, shift=0, length=0, frombeg=True, islength=True, params=(0.0, 0.0, 0.0))#
Parameters
  • type_ (float) –

  • map_ (float) –

  • idpoly (float) –

  • idline (float) –

  • shift (float) –

  • length (float) –

  • frombeg (bool) –

  • islength (bool) –

  • params (Tuple[float, float, float]) –

Return type

None

frombeg: bool = True#
idline: float = 0#
idpoly: float = 0#
islength: bool = True#
length: float = 0#
map_: float = 1#
params: Tuple[float, float, float] = (0.0, 0.0, 0.0)#
shift: float = 0#
type_: float = 'None'#
class furntype.Entities.panel.Cutline[source]#

Bases: Entity

Cutline(segments: ‘List[Segment]’ = <factory>)

__init__(segments=<factory>)#
Parameters

segments (List[Segment]) –

Return type

None

segments: List[Segment]#
class furntype.Entities.panel.Decorate[source]#

Bases: Entity

Класс отделки панели#

args:
  • map_ - секция отделки

  • variantID - Вариант отделки

  • matID - Материал отделки

  • isvisible -Признак видимости отделки

__init__(map_=5, variantID=0, matID=0, isvisible=False)#
Parameters
  • map_ (float) –

  • variantID (int) –

  • matID (float) –

  • isvisible (bool) –

Return type

None

isvisible: bool = False#
map_: float = 5#
matID: float = 0#
variantID: int = 0#
class furntype.Entities.panel.FixLine[source]#

Bases: Entity

линейка крепежа

args:
  • type - тип крепежа;

  • idpoly - ID контура сегмента;

  • idline - ID элемента сегмента;

  • mask - маска крепежа;

    *0x00000001 - Крепеж ставится от конца сегмента (0 - от начала); *0x00000002 - Ось Z направлена вниз (0 - вверх); *0x00000004 - Использовать пятно контакта; *0x00000040 - Если установлен, то не используется умолчание на пятно контакта,

    задаваемое типом крепежа;

    *0x00000400 - Если установлен, то крепеж ставится без сверловки;

  • shift - сдвиг линии крепежа от начала сегмента;

  • length - длина линейки крепежа (0 - на всю длину сегмента);

  • rule - номер правила крепежа (0 - правило по умолчанию);

  • ischangeshift - признак того, что сдвиги крепежа по толщине панели отличаются от тех, что заданы в правиле

  • shiftky - сдвиг по толщине в долях толщины панели (если ischangeshift==True)

  • shifty - сдвиг по толщине в мм (если ischangeshift==True)

__init__(type_, idpoly, idline, rule=0, mask=0, shift=0, length=0, ischangeshift=0, shiftky=0, shifty=0, ismanual=False, pointfrom=(0, 0, 0), pointy=(0, 0, 0), pointto=(0, 0, 0), fixpos=())#
Parameters
  • type_ (float) –

  • idpoly (float) –

  • idline (float) –

  • rule (float) –

  • mask (int) –

  • shift (float) –

  • length (float) –

  • ischangeshift (float) –

  • shiftky (float) –

  • shifty (float) –

  • ismanual (bool) –

  • pointfrom (Tuple[float, float, float]) –

  • pointy (Tuple[float, float, float]) –

  • pointto (Tuple[float, float, float]) –

  • fixpos (List[Tuple[float, float, float]]) –

Return type

None

fixpos: List[Tuple[float, float, float]] = ()#
idline: float#
idpoly: float#
ischangeshift: float = 0#
ismanual: bool = False#
length: float = 0#
mask: int = 0#
pointfrom: Tuple[float, float, float] = (0, 0, 0)#
pointto: Tuple[float, float, float] = (0, 0, 0)#
pointy: Tuple[float, float, float] = (0, 0, 0)#
rule: float = 0#
shift: float = 0#
shiftky: float = 0#
shifty: float = 0#
type_: float#
class furntype.Entities.panel.MbPanel[source]#

Bases: Entity

Мебельная панель

__init__(majorplace=12, length=1000, width=1000, panmater=0, texangle=0, slots=<factory>, butts=<factory>, fixlines=<factory>, decorates=<factory>, bands=<factory>, b_incise=False, type_form=2, angles=(AngleTypes(typeang=0, param=[]), AngleTypes(typeang=0, param=[]), AngleTypes(typeang=0, param=[]), AngleTypes(typeang=0, param=[])), caves=(0, 0, 0, 0), cuts=(0, 0, 0, 0), maxcut=0, cutlines=<factory>, mills=<factory>, panelform=2, formpath=None, coords=(), chordlength=0, chordarc=0, isaxeY=False, length1=0, length2=0, angle=90, radius=0, issymmetry=False)#
Parameters
  • majorplace (float) –

  • length (float) –

  • width (float) –

  • panmater (float) –

  • texangle (float) –

  • slots (List[Slot]) –

  • butts (List[Butt]) –

  • fixlines (List[FixLine]) –

  • decorates (List[Decorate]) –

  • bands (List[Band]) –

  • b_incise (bool) –

  • type_form (float) –

  • angles (Tuple[AngleTypes, AngleTypes, AngleTypes, AngleTypes]) –

  • caves (Tuple[float, float, float, float]) –

  • cuts (Tuple[float, float, float, float]) –

  • maxcut (float) –

  • cutlines (List[Cutline]) –

  • mills (List[Mill]) –

  • panelform (float) –

  • formpath (Optional[float]) –

  • coords (Tuple[Tuple[float, float], Tuple[float, float], Tuple[float, float], Tuple[float, float]]) –

  • chordlength (float) –

  • chordarc (float) –

  • isaxeY (bool) –

  • length1 (float) –

  • length2 (float) –

  • angle (float) –

  • radius (float) –

  • issymmetry (bool) –

Return type

None

angle: float = 90#
angles: Tuple[AngleTypes, AngleTypes, AngleTypes, AngleTypes] = (AngleTypes(typeang=0, param=[]), AngleTypes(typeang=0, param=[]), AngleTypes(typeang=0, param=[]), AngleTypes(typeang=0, param=[]))#
b_incise: bool = False#
bands: List[Band]#
butts: List[Butt]#
caves: Tuple[float, float, float, float] = (0, 0, 0, 0)#
chordarc: float = 0#
chordlength: float = 0#
coords: Tuple[Tuple[float, float], Tuple[float, float], Tuple[float, float], Tuple[float, float]] = ()#
cutlines: List[Cutline]#
cuts: Tuple[float, float, float, float] = (0, 0, 0, 0)#
decorates: List[Decorate]#
fixlines: List[FixLine]#
formpath: float = None#
isaxeY: bool = False#
issymmetry: bool = False#
length: float = 1000#
length1: float = 0#
length2: float = 0#
majorplace: float = 12#
maxcut: float = 0#
mills: List[Mill]#
panelform: float = 2#
panmater: float = 0#
radius: float = 0#
slots: List[Slot]#
texangle: float = 0#
type_form: float = 2#
width: float = 1000#
class furntype.Entities.panel.Mill[source]#

Bases: Entity

Инициализация фрезеровки

args:
  • millid - ID фрезы из Номенклатурного справочника

  • coeff - Сдвиг фрезеровки внутри панели в долях единицы

  • sdv - Сдвиг фрезеровки внутрь панели в мм

  • idpoly - ID контура сегмента

  • idline - ID элемента сегмента

  • map - Номер секции раскрашивания

  • issymmetry - Признак симметрии образующей относительно оси OX

  • isplaneA - Пласть фрезеровки (A или F)

  • isrotate - Признак того, что фрезеровка производится вращением образующей

  • name - Имя фрезеровки

  • path - Контур образующей фрезы

  • shifty - Сдвиг фрезеровки по Y

__init__(millid=0, coeff=0, sdv=0, idpoly=0, idline=0, map_=5, issymmetry=False, isplaneA=True, isrotate=False, name='', path=None, shifty=0)#
Parameters
  • millid (float) –

  • coeff (float) –

  • sdv (float) –

  • idpoly (float) –

  • idline (float) –

  • map_ (float) –

  • issymmetry (bool) –

  • isplaneA (bool) –

  • isrotate (bool) –

  • name (str) –

  • path (Optional[Any]) –

  • shifty (float) –

Return type

None

coeff: float = 0#
idline: float = 0#
idpoly: float = 0#
isplaneA: bool = True#
isrotate: bool = False#
issymmetry: bool = False#
map_: float = 5#
millid: float = 0#
name: str = ''#
path: Any = None#
sdv: float = 0#
shifty: float = 0#
class furntype.Entities.panel.Segment[source]#

Bases: Entity

Сегмент контура или выреза панели#

Применяется для кромок, крепежа, обработок

srgs:
  • idpoly - ID контура

  • idline - ID элемента контура (или -1, если весь контур)

__init__(idpoly, idline)#
Parameters
  • idpoly (float) –

  • idline (float) –

Return type

None

idline: float#
idpoly: float#
class furntype.Entities.panel.Slot[source]#

Bases: Entity

Пропил для панели#

args:
  • num - Номер пропила в панели. Присваивается при добавлении пропила в панель

  • planeA - Пласть пропила (False - F, True - A)

  • side - Привязка пропила к стороне

  • cpr - Отступ от стороны

  • cpw - Ширина

  • cpd - Глубина

  • cps - Отступ от начала

  • cpl - Длина

  • angle - Угол

  • map_ - Map-секция пропила

  • bIncise - Признак автопропила

__init__(num=0, planeA=False, side=9, cpr=0, cpw=0, cpd=0, cps=0, cpl=0, angle=0, map_=0, bIncise=False)#
Parameters
  • num (float) –

  • planeA (float) –

  • side (float) –

  • cpr (float) –

  • cpw (float) –

  • cpd (float) –

  • cps (float) –

  • cpl (float) –

  • angle (float) –

  • map_ (float) –

  • bIncise (bool) –

Return type

None

angle: float = 0#
bIncise: bool = False#
cpd: float = 0#
cpl: float = 0#
cpr: float = 0#
cps: float = 0#
cpw: float = 0#
map_: float = 0#
num: float = 0#
planeA: float = False#
side: float = 9#

Module contents#