furntype.Entities package#
Submodules#
furntype.Entities.cupboard module#
furntype.Entities.entity module#
Author: –<alexandr69@gmail.com> Purpose: Created: 06/28/21
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>)
- 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#
- 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]] = ()#
- cuts: Tuple[float, float, float, float] = (0, 0, 0, 0)#
- formpath: float = None#
- isaxeY: bool = False#
- issymmetry: bool = False#
- length: float = 1000#
- length1: float = 0#
- length2: float = 0#
- majorplace: float = 12#
- maxcut: float = 0#
- panelform: float = 2#
- panmater: float = 0#
- radius: float = 0#
- 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.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#