<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wikilog.k3-cottage.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SVP</id>
	<title>К3-Коттедж - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wikilog.k3-cottage.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SVP"/>
	<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/SVP"/>
	<updated>2026-11-01T07:25:04Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3252</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3252"/>
		<updated>2026-03-27T14:23:39Z</updated>

		<summary type="html">&lt;p&gt;SVP: /* GetBoardMat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
= Функции работы с доской =&lt;br /&gt;
== GetBoardMat ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetBoardMat&amp;lt;/code&amp;gt; — возвращает номер текущего материала&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;idCut=GetBoardMat(idWood,idCut)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Выходные параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;idWood&amp;lt;/code&amp;gt; || ID породы материала доски из глобальной структуры &amp;lt;code&amp;gt;currBoard&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|idCut&lt;br /&gt;
|ID сечения доски из глобальной структуры &amp;lt;code&amp;gt;currBoard&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| ID сечения доски или '''0''' в случае ошибки&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SetBoardMat ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;SetBoardMat&amp;lt;/code&amp;gt; — установить материал доски по указанному сечению и породе&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Устанавливает в глобальной структуре &amp;lt;code&amp;gt;currBoard&amp;lt;/code&amp;gt; материал доски по указанному сечению и породе&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;code=SetBoardMat(idCut,idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;idCut&amp;lt;/code&amp;gt; || ID сечения доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;idWood&amp;lt;/code&amp;gt; || ID породы материала доски&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| ID породы материала доски в случае успеха или '''0''' в случае ошибки&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SetCurrBoard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;SetCurrBoard&amp;lt;/code&amp;gt; — вызов диалога смены текущего материала доски&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Вызывает диалог смены текущего материала доски&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;code=SetCurrBoard()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
| Нет&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| '''1''' — если в диалоге выбран новый материал (установлен в &amp;lt;code&amp;gt;currBoard&amp;lt;/code&amp;gt;)&amp;lt;br&amp;gt;&lt;br /&gt;
'''0''' — если отказались от смены текущего материала&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetBoardEnd ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetBoardEnd&amp;lt;/code&amp;gt; — в массив положить текущие параметры подрезки&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Возвращает параметры подрезок левого и правого торца доски из глобальной структуры &amp;lt;code&amp;gt;currBoard&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;code=GetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL&amp;lt;/code&amp;gt; || Массив из 5 элементов для параметров подрезки левого торца (выходной)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR&amp;lt;/code&amp;gt; || Массив из 5 элементов для параметров подрезки правого торца (выходной)&lt;br /&gt;
|}&lt;br /&gt;
Выходные параметры:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;OrientW&amp;lt;/code&amp;gt; || Ориентация по ширине: -1 (по левому краю), 0 (по центру), 1 (по правому краю)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;OrientH&amp;lt;/code&amp;gt; || Ориентация по толщине: -1 (по низу), 0 (по центру), 1 (по верху)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Angle&amp;lt;/code&amp;gt; || Угол поворота доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wcutL&amp;lt;/code&amp;gt; || Отпил в мм по длине доски слева&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wcutR&amp;lt;/code&amp;gt; || Отпил в мм по длине доски справа&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[1]&amp;lt;/code&amp;gt; || Тип подрезки левого торца&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[2]&amp;lt;/code&amp;gt; || 1-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[3]&amp;lt;/code&amp;gt; || 2-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[4]&amp;lt;/code&amp;gt; || 3-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[5]&amp;lt;/code&amp;gt; || Битовые маски подрезки левого торца&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[1]&amp;lt;/code&amp;gt; || Тип подрезки правого торца&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[2]&amp;lt;/code&amp;gt; || 1-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[3]&amp;lt;/code&amp;gt; || 2-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[4]&amp;lt;/code&amp;gt; || 3-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[5]&amp;lt;/code&amp;gt; || Битовые маски подрезки правого торца&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| '''15''' — в случае успеха&amp;lt;br&amp;gt;'''0''' — в случае ошибки&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SetBoardEnd ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;SetBoardEnd&amp;lt;/code&amp;gt; — установить текущие параметры подрезки доски&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Устанавливает текущие параметры подрезки доски в глобальную структуру &amp;lt;code&amp;gt;currBoard&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;code=SetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;OrientW&amp;lt;/code&amp;gt; || Ориентация по ширине: -1 (по левому краю), 0 (по центру), 1 (по правому краю)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;OrientH&amp;lt;/code&amp;gt; || Ориентация по толщине: -1 (по низу), 0 (по центру), 1 (по верху)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Angle&amp;lt;/code&amp;gt; || Угол поворота доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wcutL&amp;lt;/code&amp;gt; || Отпил в мм по длине доски слева&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wcutR&amp;lt;/code&amp;gt; || Отпил в мм по длине доски справа&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[1]&amp;lt;/code&amp;gt; || Тип подрезки левого торца&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[2]&amp;lt;/code&amp;gt; || 1-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[3]&amp;lt;/code&amp;gt; || 2-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[4]&amp;lt;/code&amp;gt; || 3-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrL[5]&amp;lt;/code&amp;gt; || Битовые маски подрезки левого торца&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[1]&amp;lt;/code&amp;gt; || Тип подрезки правого торца&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[2]&amp;lt;/code&amp;gt; || 1-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[3]&amp;lt;/code&amp;gt; || 2-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[4]&amp;lt;/code&amp;gt; || 3-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arrR[5]&amp;lt;/code&amp;gt; || Битовые маски подрезки правого торца&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| '''15''' — в случае успеха&amp;lt;br&amp;gt;'''0''' — в случае ошибки&lt;br /&gt;
|-&lt;br /&gt;
! Примечание&lt;br /&gt;
| Значения типов подрезки и битовых масок см. в описании функции &amp;lt;code&amp;gt;GetBoardEnd&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetBoardPMat ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetBoardPMat&amp;lt;/code&amp;gt; — возвращает номер текущего материала и параметры текущего материала&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Возвращает ID текущего материала и заполняет переменные параметрами текущего сечения доски из глобальной структуры &amp;lt;code&amp;gt;currBoard&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;idCut=GetBoardPMat(TypeShave,Width,Height,WorkWidth)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры (выходные)&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TypeShave&amp;lt;/code&amp;gt; || Тип сечения: 0 (прямоугольная), 1 (фальцованная), 2 (шпунтованная), 3 (вагонка), 4 (блок-хаус)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Width&amp;lt;/code&amp;gt; || Ширина доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; || Толщина доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WorkWidth&amp;lt;/code&amp;gt; || Ширина полезной части доски (используется при покрытии)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| ID сечения доски или '''0''' в случае ошибки&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetBoardMatP ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetBoardMatP&amp;lt;/code&amp;gt; — возвращает ID материала, ближайшего к заданным параметрам&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Находит ID сечения доски с параметрами, наиболее близкими к заданным, но не меньше заданных&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;idCut=GetBoardMatP(TypeShave,Width,Height)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TypeShave&amp;lt;/code&amp;gt; || Тип сечения: 0 (прямоугольная), 1 (фальцованная), 2 (шпунтованная), 3 (вагонка), 4 (блок-хаус)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Width&amp;lt;/code&amp;gt; || Ширина доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; || Толщина доски&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| ID сечения доски или '''0''' — если не найдено или в случае ошибки&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetBoardName ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetBoardName&amp;lt;/code&amp;gt; — получить групповое имя досок по умолчанию&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Получает групповое имя досок по умолчанию&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;GrpName=GetBoardName()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
| Нет&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Строка с групповым именем досок. Если строка пустая — групповое имя досок по умолчанию в текущем проекте не задано&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SetBoardName ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;SetBoardName&amp;lt;/code&amp;gt; — установить групповое имя досок по умолчанию&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Устанавливает групповое имя досок по умолчанию в текущий проект&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;code=SetBoardName(GrpName)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;GrpName&amp;lt;/code&amp;gt; || Строка с групповым именем досок (может быть пустой строкой)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Всегда возвращает '''0'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetBoardCr ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetBoardCr&amp;lt;/code&amp;gt; — создать доску по трем точкам и параметрам из currBoard&lt;br /&gt;
|-&lt;br /&gt;
! Назначение&lt;br /&gt;
| Создает доску по трем точкам, используя параметры из глобальной структуры &amp;lt;code&amp;gt;currBoard&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;hBrd=GetBoardCr(arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[1]&amp;lt;/code&amp;gt; || X координата начальной точки доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[2]&amp;lt;/code&amp;gt; || Y координата начальной точки доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[3]&amp;lt;/code&amp;gt; || Z координата начальной точки доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[4]&amp;lt;/code&amp;gt; || X координата конечной точки доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[5]&amp;lt;/code&amp;gt; || Y координата конечной точки доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[6]&amp;lt;/code&amp;gt; || Z координата конечной точки доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[7]&amp;lt;/code&amp;gt; || X координата точки, определяющей плоскость расположения доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[8]&amp;lt;/code&amp;gt; || Y координата точки, определяющей плоскость расположения доски&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[9]&amp;lt;/code&amp;gt; || Z координата точки, определяющей плоскость расположения доски&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Ссылка на &amp;lt;code&amp;gt;pK3Obj&amp;lt;/code&amp;gt; созданной доски или &amp;lt;code&amp;gt;nullptr&amp;lt;/code&amp;gt;, если доску создать не смогли&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Типы подрезки торца доски =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Значение !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Без подрезки&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Скос (по Z): 1 — угол (от -80 до +80), 2 — высота (от 0 до Height)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Вырез по дуге: 1 — радиус&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Просто вырез: 1 — глубина&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Шип1 (прямой): 1 — глубина, 2 — ширина шипа, 3 — угол (от 0 до M_PI), 4 — зазор сверху, 5 — зазор снизу&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Шип2 (трапеция): 1 — глубина, 2 — ширина основания шипа, 3 — ширина шипа, 4 — угол (от -M_PI/2 до M_PI/2), 5 — зазор сверху, 6 — зазор снизу&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Врезка: 1 — глубина (по длине бревна), 2 — ширина (по ширине бревна), 3 — угол с торцем&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Под бревно: 1 — глубина, 2 — радиус, 3 — поворот вокруг X&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Шип: 1 — заглубление, 2 — высота шипа, 3 — зазор слева, 4 — зазор справа, 5 — зазор снизу, 6 — зазор сверху&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Вертикальный скос с прямым пазом: 1 — угол (от -M_PI/2 до M_PI/2), 2 — ширина паза, 3 — глубина паза&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Вертикальный двусторонний выпуклый скос: 1 — угол слева, 2 — угол справа, 3 — сдвиг от середины бревна&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Фаска: 1 — срез по Y, 2 — длина среза по X&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Двойная дуга: 1 — радиус выреза слева, 2 — радиус выреза справа&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Скругление: 1 — радиус скругления слева, 2 — радиус скругления справа&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Трапеция (для замка): 1 — глубина выреза, 2 — ширина основания выреза, 3 — ширина выреза (на глубине)&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Подрезка произвольной плоскостью: 1 — расстояние от вершины до плоскости, 2 — поворот нормали вокруг X, 3 — поворот нормали вокруг Z&lt;br /&gt;
|-&lt;br /&gt;
| 16 || Вертикальный двусторонний впуклый скос: 1 — угол слева, 2 — угол справа, 3 — сдвиг от середины бревна&lt;br /&gt;
|-&lt;br /&gt;
| 17 || Двойной скос (по Z): 1 — угол снизу, 2 — угол сверху, 3 — высота скоса снизу, 4 — высота скоса сверху&lt;br /&gt;
|-&lt;br /&gt;
| 18 || Стык Гербера (ГОСТ) — без параметров, расчет от ширины габарита&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Стык Гербера1: 1 — длина стыка, 2 — глубина стыка&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Стык Гербера2: 1 — длина стыка, 2 — глубина стыка, 3 — высота остатка, 4 — длина выемки&lt;br /&gt;
|-&lt;br /&gt;
| 21 || Стык Гербера3: 1 — длина стыка, 2 — глубина стыка, 3 — высота остатка, 4 — длина выемки&lt;br /&gt;
|-&lt;br /&gt;
| 22 || Ступеньки с дугой выпуклой: 0 — радиус, 1,2 — параметры внешней ступеньки, 3,4 — параметры внутренней ступеньки&lt;br /&gt;
|-&lt;br /&gt;
| 23 || Ступеньки с дугой впуклой: 0 — радиус, 1,2 — параметры внешней ступеньки, 3,4 — параметры внутренней ступеньки&lt;br /&gt;
|-&lt;br /&gt;
| 24 || Шип прямоугольный: 1 — заглубление, 2 — высота шипа, 3 — размер шипа (ширина), 4 — размер шипа (высота), 5 — скругление&lt;br /&gt;
|-&lt;br /&gt;
| 25 || Сокращенный ласточкин хвост: 0 — высота до хвоста, 1 — радиус скругления, 2 — угол сужения, 3 — толщина хвоста, 4 — угол фрезы, 5 — угол фаски&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Битовые маски =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Маска !! Значение !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_ST_UP&amp;lt;/code&amp;gt; || 0x00000001 || Режется верхняя половина бревна&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_ST_OTKOS&amp;lt;/code&amp;gt; || 0x00000002 || У торца есть лыска под наличник&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_ST_RIGTH&amp;lt;/code&amp;gt; || 0x00000004 || Правая подрезка&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_ADD_SLOPEN&amp;lt;/code&amp;gt; || 0x00000008 || Только для подрезки стены скатами — выпуск задан по нормали&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_ADD_SLOPEV&amp;lt;/code&amp;gt; || 0x00000010 || Только для подрезки стены скатами — выпуск задан по вертикали&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_ST_ROTATE&amp;lt;/code&amp;gt; || 0x00000020 || Подрезка в другой плоскости (Гербер при делении досок)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_LEP_FIXANG&amp;lt;/code&amp;gt; || 0x00000040 || Подрезка с фиксацией угла (у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_SL_LIMITGAB&amp;lt;/code&amp;gt; || 0x00000080 || Только для подрезки стены скатами — с ограничением длины по нижней точке&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_SL_GORCUT&amp;lt;/code&amp;gt; || 0x00000100 || Только для подрезки стены скатами — горизонтальная подрезка&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_LEP_BTL&amp;lt;/code&amp;gt; || 0x10000000 || Подрезка образмеривается по принципу BTL&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DOM_LEP_BODY&amp;lt;/code&amp;gt; || 0x20000000 || Подрезка образмеривается по принципу BODY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Функции работы с проёмами =&lt;br /&gt;
&lt;br /&gt;
== GetWndPar ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWndPar&amp;lt;/code&amp;gt; — получить параметры проёма&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;code=GetWndPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hWnd&amp;lt;/code&amp;gt; || Адрес объекта (pK3Obj)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; || Массив из 7 элементов (выходные параметры)&lt;br /&gt;
|}&lt;br /&gt;
Выходные параметры:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Индекс !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[1]&amp;lt;/code&amp;gt; || Тип проёма: 0 (дверь), 1 (окно), 2 (проём), 3 (ниша)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[2]&amp;lt;/code&amp;gt; || Форма проёма&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[3]&amp;lt;/code&amp;gt; || Ширина проёма&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[4]&amp;lt;/code&amp;gt; || Высота проёма (мм)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[5]&amp;lt;/code&amp;gt; || Высота 1-го дополнительного параметра формы (мм)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[6]&amp;lt;/code&amp;gt; || Высота 2-го дополнительного параметра формы (мм)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[7]&amp;lt;/code&amp;gt; || Толщина стены&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Уникальный номер проёма или '''-1''' в случае ошибки&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetWndName ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWndName&amp;lt;/code&amp;gt; — дай имя проёма&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;WndName=GetWndName(hWnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hWnd&amp;lt;/code&amp;gt; || Ссылка на pK3Obj проёма&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Имя проёма (строка)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetWndVPar ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWndVPar&amp;lt;/code&amp;gt; — параметры подрезки на вертикальном торце&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;GetWndVPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hWnd&amp;lt;/code&amp;gt; || Ссылка на pK3Obj проёма&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; || Массив из 8 элементов (выходные параметры)&lt;br /&gt;
|}&lt;br /&gt;
Выходные параметры:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Индекс !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[1]&amp;lt;/code&amp;gt; || Тип подрезки прямого конца бревна&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[2]&amp;lt;/code&amp;gt; || Битовые маски подрезки прямого конца бревна&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[3]&amp;lt;/code&amp;gt; || 1-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[4]&amp;lt;/code&amp;gt; || 2-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[5]&amp;lt;/code&amp;gt; || 3-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[6]&amp;lt;/code&amp;gt; || 4-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[7]&amp;lt;/code&amp;gt; || 5-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[8]&amp;lt;/code&amp;gt; || 6-й параметр подрезки&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetWndAPar ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWndAPar&amp;lt;/code&amp;gt; — параметры подрезки на скошенном торце&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;GetWndAPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hWnd&amp;lt;/code&amp;gt; || Адрес объекта (hobj)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; || Массив из 8 элементов (выходные параметры)&lt;br /&gt;
|}&lt;br /&gt;
Выходные параметры:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Индекс !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[1]&amp;lt;/code&amp;gt; || Тип подрезки скошенного конца бревна&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[2]&amp;lt;/code&amp;gt; || Битовые маски подрезки скошенного конца бревна&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[3]&amp;lt;/code&amp;gt; || 1-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[4]&amp;lt;/code&amp;gt; || 2-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[5]&amp;lt;/code&amp;gt; || 3-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[6]&amp;lt;/code&amp;gt; || 4-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[7]&amp;lt;/code&amp;gt; || 5-й параметр подрезки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;arr[8]&amp;lt;/code&amp;gt; || 6-й параметр подрезки&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Примечание&lt;br /&gt;
| Типы подрезки и битовые маски см. в описании функции &amp;lt;code&amp;gt;GetWndVPar&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetWndMatr ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWndMatr&amp;lt;/code&amp;gt; — дай матрицу проёма&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;code=GetWndMatr(hWnd,matr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hWnd&amp;lt;/code&amp;gt; || Адрес объекта (hobj)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;matr&amp;lt;/code&amp;gt; || Матрица (массив из 16 элементов) — выходной параметр&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| '''16''' — в случае успеха&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetWndObj ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWndObj&amp;lt;/code&amp;gt; — дай указатель на проём&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;hWnd=GetWndObj()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
| Нет&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Указатель на глобальный pK3Obj current_window или &amp;lt;code&amp;gt;nullptr&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetWndPoint ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWndPoint&amp;lt;/code&amp;gt; — по параметрам проёма заполнить массив точек&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;num=GetWndPoint(params,points)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;params[1]&amp;lt;/code&amp;gt; || Не используется&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;params[2]&amp;lt;/code&amp;gt; || Форма проёма&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;params[3]&amp;lt;/code&amp;gt; || Ширина (d)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;params[4]&amp;lt;/code&amp;gt; || Высота (h)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;params[5]&amp;lt;/code&amp;gt; || Дополнительный параметр 1 (param1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;params[6]&amp;lt;/code&amp;gt; || Дополнительный параметр 2 (param2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;params[7]&amp;lt;/code&amp;gt; || Не используется&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points&amp;lt;/code&amp;gt; || Массив из 24 элементов (8 точек × 3 координаты) — выходной параметр&lt;br /&gt;
|}&lt;br /&gt;
Выходные параметры:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Индекс !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points[1..3]&amp;lt;/code&amp;gt; || X, Y, Z координаты 1-й точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points[4..6]&amp;lt;/code&amp;gt; || X, Y, Z координаты 2-й точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points[7..9]&amp;lt;/code&amp;gt; || X, Y, Z координаты 3-й точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points[10..12]&amp;lt;/code&amp;gt; || X, Y, Z координаты 4-й точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points[13..15]&amp;lt;/code&amp;gt; || X, Y, Z координаты 5-й точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points[16..18]&amp;lt;/code&amp;gt; || X, Y, Z координаты 6-й точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points[19..21]&amp;lt;/code&amp;gt; || X, Y, Z координаты 7-й точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;points[22..24]&amp;lt;/code&amp;gt; || X, Y, Z координаты 8-й точки&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Количество точек (зависит от формы проёма)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetWndById ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWndById&amp;lt;/code&amp;gt; — найти указатель на проём по id&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;hWnd=GetWndById(idWnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;idWnd&amp;lt;/code&amp;gt; || Уникальный номер проёма&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Указатель на pK3Obj или '''0''' в случае ошибки&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TransPoint ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;TransPoint&amp;lt;/code&amp;gt; — умножить точку на матрицу&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;TransPoint(point,matr)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;point&amp;lt;/code&amp;gt; || Точка (массив из 3 элементов) — входной и выходной параметр&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;matr&amp;lt;/code&amp;gt; || Матрица (массив из 16 элементов)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Формы проёма (DOM_WND_FORM) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Значение !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Прямоугольник&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Шестиугольник: Param1 — срез по оси X, Param2 — срез по оси Y&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Арка: радиус скругления — в полширины&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Скошенный прямоугольник: Param1 — левая высота&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Пятиугольник: Param1 — меньшая высота&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Трапеция: Param1 — верхнее основание трапеции&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Треугольник (прямой угол — левый нижний)&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Треугольник (прямой угол — правый нижний)&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Треугольник (прямой угол — левый верхний)&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Треугольник (прямой угол — правый верхний)&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Восьмиугольник: Param1 — срез по оси X, Param2 — срез по оси Y&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Прямоугольник с фаской слева сверху: Param1 — срез по оси X, Param2 — срез по оси Y&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Прямоугольник с фаской справа сверху: Param1 — срез по оси X, Param2 — срез по оси Y&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Круглый: радиус — половина высоты&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Арка с радиусом: Param1 — высота дуги&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Прямоугольник со скругленными верхними углами: Param1 — радиус скругления&lt;br /&gt;
|-&lt;br /&gt;
| 16 || Вертикальная трапеция вправо: Param1 — угол снизу, Param2 — угол сверху&lt;br /&gt;
|-&lt;br /&gt;
| 17 || Вертикальная трапеция влево: Param1 — угол снизу, Param2 — угол сверху&lt;br /&gt;
|-&lt;br /&gt;
| 18 || Г-образная правая: Param1 — ширина окна, Param2 — высота окна&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Г-образная левая: Param1 — ширина окна, Param2 — высота окна&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Скругленная ниша&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Функции работы со стенами, балками и проектом =&lt;br /&gt;
&lt;br /&gt;
== GetWall ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetWall&amp;lt;/code&amp;gt; — дай указатель на стену по имени&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;hWall=GetWall(Name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; || Имя стены (строка)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Ссылка на pK3Obj стены&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetBeam ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetBeam&amp;lt;/code&amp;gt; — дай указатель на балку по номеру&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;hBeam=GetBeam(num)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;num&amp;lt;/code&amp;gt; || Номер балки (целое число)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Ссылка на pK3Obj балки&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== HRow ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;HRow&amp;lt;/code&amp;gt; — возвращает верхнюю точку ряда в мм по номеру ряда (для текущего материала)&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;h=HRow(num)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;num&amp;lt;/code&amp;gt; || Номер ряда (целое число)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Верхняя точка ряда (мм)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== HBeam ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;HBeam&amp;lt;/code&amp;gt; — возвращает верхнюю точку балки&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;h=HBeam(num)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;num&amp;lt;/code&amp;gt; || Номер балки (целое число)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Верхняя точка балки (мм)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== HWall ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;HWall&amp;lt;/code&amp;gt; — возвращает верхнюю точку стены&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;h=HWall(Name)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; || Имя стены (строка)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Верхняя точка стены&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetPrjPath ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetPrjPath&amp;lt;/code&amp;gt; — возвращает путь до папки проекта&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;PrjPath=GetPrjPath()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
| Нет&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
| Путь до папки проекта (строка). Если проект не открыт — возвращает пустую строку&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GetPrjUnit ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &amp;lt;code&amp;gt;GetPrjUnit&amp;lt;/code&amp;gt; — возвращает единицы измерения проекта&lt;br /&gt;
|-&lt;br /&gt;
! Синтаксис&lt;br /&gt;
| &amp;lt;code&amp;gt;UnitType=GetPrjUnit()&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Параметры&lt;br /&gt;
| Нет&lt;br /&gt;
|-&lt;br /&gt;
! Возвращаемое значение&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Значение !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| 0 (&amp;lt;code&amp;gt;DOM_MM&amp;lt;/code&amp;gt;) || Миллиметры&lt;br /&gt;
|-&lt;br /&gt;
| 1 (&amp;lt;code&amp;gt;DOM_INCH&amp;lt;/code&amp;gt;) || Дюймы&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3243</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3243"/>
		<updated>2026-03-27T09:17:37Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
'''Функции работы с доской'''&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardMat''' - возвращает номер текущего материала&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iDCut=GetBoardMat(idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дай IDWood - ID породы материала и ID сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
idWood - IDWood - ID породы материала ljcrb&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски &lt;br /&gt;
&lt;br /&gt;
           или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
2 '''SetBoardMat''' - установить материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
установить в глобальной структуре currBoard материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardMat(idCut,idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idCut - ID сечения доски&lt;br /&gt;
&lt;br /&gt;
idWood - ID породы материала доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID породы материала доски в случае успеха&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''SetCurrBoard''' - вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetCurrBoard()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возвращает 1 если в диалоге выбран новый материала доски, который установили в глобальную структуры currBoard&lt;br /&gt;
&lt;br /&gt;
или 0, если отказались от смены текущего материала&lt;br /&gt;
&lt;br /&gt;
7 '''GetBoardEnd''' - в массив положить текущие параметры подрезки&lt;br /&gt;
&lt;br /&gt;
Дай параметры подрезок левого и правого торца доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=GetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе &lt;br /&gt;
&lt;br /&gt;
arrL - массив из 5 элементов для параметров подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR - массив из 5 элементов для параметров подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева &lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Типы подрезки торца доски&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
Битовые маски&lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
7 '''SetBoardEnd''' - установить текущие параметры подрезки доски&lt;br /&gt;
&lt;br /&gt;
установить текущие параметры подрезки доски в глобальную структуру currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева&lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Значения типов подрезки и битовых массок смотри в описании фукции GetBoardEnd&lt;br /&gt;
&lt;br /&gt;
4 '''GetBoardPMat''' - возвращает номер текущего материала, а в переменных - параметры текущего материала&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;idCut=GetBoardPMat(TypeShave,Width,Height,WorkWidth)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дай параметры текущего сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
WorkWidth - ширина полезной части доски - используется при покрытии&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
3 '''GetBoardMatP''' - возвращает ID номер материала, ближайшего к заданным параметрам&lt;br /&gt;
&lt;br /&gt;
Найти ID сечения доски с параметрами, наиболее близкими к заданным, но не меньше заданных&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;idCut=GetBoardMatP(TypeShave,Width,Height)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе:&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски или 0, если не нашли или в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''GetBoardName''' - получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;GrpName=GetBoardName()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возвращает строку. Если строка пустая, то групповое имя досок по умолчанию в текущем проекте не задано&lt;br /&gt;
&lt;br /&gt;
1 '''SetBoardName''' - установить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
установить Групповое имя досок по умолчанию в текущий проект&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardName(GrpName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
GrpName - строка с групповым именем досок. Может быть пустой строкой&lt;br /&gt;
&lt;br /&gt;
Возвращает 0&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardCr''' - создать доску по трем точкам и параметрам из currBoard&lt;br /&gt;
&lt;br /&gt;
создать доску по трем точкам и параметрам из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;hBrd=GetBoardCr(arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
arr[1] - x координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[2] - y координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[3] - z координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[4] - x координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[5] - y координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[6] - z координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[7] - x координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[8] - y координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[9] - z координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ссылку на pK3Obj созданной доски или nullptr, если доску создать не смогли&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы с проёмами'''&lt;br /&gt;
&lt;br /&gt;
'''GetWndPar'''&lt;br /&gt;
&lt;br /&gt;
получить параметры проёма&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=GetWndPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Первый параметр - адрес объекта (pK3Obj)&lt;br /&gt;
&lt;br /&gt;
Второй параметр - массив из 7 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип проёма (0 - дверь, 1 - окно, 2 - проём, 3 - ниша)&lt;br /&gt;
&lt;br /&gt;
arr[2] - форма проёма&lt;br /&gt;
&lt;br /&gt;
arr[3] - ширина проёма&lt;br /&gt;
&lt;br /&gt;
arr[4] - высота проёма в мм&lt;br /&gt;
&lt;br /&gt;
arr[5] - высота в мм 1-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[6] - высота в мм 2-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[7] - толщина стены&lt;br /&gt;
&lt;br /&gt;
Возвращает уникальный номер проёма, или -1, в случае ошибки&lt;br /&gt;
&lt;br /&gt;
формы проёма enum DOM_WND_FORM&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проём - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проём - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проём - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проём - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проём - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проём - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проём - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проём - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проём - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проём - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проём - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проём - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проём - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проём - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проём - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проём - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проём - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проём - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проём - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проём - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проём - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndName'''&lt;br /&gt;
&lt;br /&gt;
дай имя проёма&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;WndName=GetWndName(hWnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
возвращает имя проёма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndVPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на вертикальном торце&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;void GetWndVPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
arr - массив из 8-и элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки конца бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
битовые маски &lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndAPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на скошенном торце&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;void GetWndAPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
arr  - массив из 8 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки и параметры скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки и битовые маски смотри ф описании функции GetWndVPar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndMatr'''&lt;br /&gt;
&lt;br /&gt;
дай матрицу проёма&lt;br /&gt;
&lt;br /&gt;
code=GetWndMatr(hWnd,matr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
matr матрица (массив 16)&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
matr - матрица проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает 16&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndObj'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на проём&lt;br /&gt;
&lt;br /&gt;
hWnd=GetWndObj()&lt;br /&gt;
&lt;br /&gt;
Возвращает указатель на глобальный pK3Obj current_window. Может быть nullptr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndPoint'''&lt;br /&gt;
&lt;br /&gt;
по параметрам проёма заполнить массив точек&lt;br /&gt;
&lt;br /&gt;
num=GetWndPoint(params,points)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
params параметры проёма (массив 7)&lt;br /&gt;
&lt;br /&gt;
params[1] - не используется&lt;br /&gt;
&lt;br /&gt;
params[2] - форма проёма &lt;br /&gt;
&lt;br /&gt;
params[3] - d&lt;br /&gt;
&lt;br /&gt;
params[4] - h&lt;br /&gt;
&lt;br /&gt;
params[5] - param1&lt;br /&gt;
&lt;br /&gt;
params[6] - param2&lt;br /&gt;
&lt;br /&gt;
params[7] - не используется&lt;br /&gt;
&lt;br /&gt;
points - массив 8*3&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
points[1..3] - x,y,z координаты 1-ой точки&lt;br /&gt;
&lt;br /&gt;
points[4..6] - x,y,z координаты 2-ой точки&lt;br /&gt;
&lt;br /&gt;
points[7..9] - x,y,z координаты 3-ей точки&lt;br /&gt;
&lt;br /&gt;
points[10..12] - x,y,z координаты 4-ой точки&lt;br /&gt;
&lt;br /&gt;
points[13..15] - x,y,z координаты 5-ой точки&lt;br /&gt;
&lt;br /&gt;
points[16..18] - x,y,z координаты 6-ой точки&lt;br /&gt;
&lt;br /&gt;
points[19..21] - x,y,z координаты 7-ой точки&lt;br /&gt;
&lt;br /&gt;
points[22..24] - x,y,z координаты 8-ой точки&lt;br /&gt;
&lt;br /&gt;
Возвращает количество точек&lt;br /&gt;
&lt;br /&gt;
Формы проёма&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проем - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проем - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проем - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проем - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проем - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проем - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проем - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проем - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проем - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проем - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проем - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проем - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проем - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проем - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проем - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проем - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проем - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проем - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проем - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проем - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проем - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndById'''&lt;br /&gt;
&lt;br /&gt;
найти указатель на проём по id&lt;br /&gt;
&lt;br /&gt;
hWnd=GetWndById(idWnd)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idWnd - уникальный номер проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает hWnd - адрес объекта (pK3Obj), или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TransPoint'''&lt;br /&gt;
&lt;br /&gt;
умножить точку на матрицу&lt;br /&gt;
&lt;br /&gt;
void TransPoint(point,matr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
point - точка (массив 3)&lt;br /&gt;
&lt;br /&gt;
matr - матрица (массив 16)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы со стенами, балками и проектом'''&lt;br /&gt;
&lt;br /&gt;
'''GetWall'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на стену по имени&lt;br /&gt;
&lt;br /&gt;
hWall=GetWall(Name)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Name - строка с именем стены&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
hWall - ссылку на pK3Obj стены&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetBeam'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на балку по номеру&lt;br /&gt;
&lt;br /&gt;
hBeam=GetBeam(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - целое число, номер балки&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
hBeam - ссылка на Pk3Obj балки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HRow'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку ряда в мм по номеру ряда (для текущего материала)&lt;br /&gt;
&lt;br /&gt;
h=HRow(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - номер ряда (целое число)&lt;br /&gt;
&lt;br /&gt;
Вовзращает&lt;br /&gt;
&lt;br /&gt;
h - верхнюю точку ряда в мм&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HBeam'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку балки&lt;br /&gt;
&lt;br /&gt;
h=HBeam(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - номер балки (целое число)&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
h - верхнюю точку балки в мм&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HWall'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку стены&lt;br /&gt;
&lt;br /&gt;
h=HWall(Name)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Name - имя стены (строка)&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
h - верхняя точка стены&lt;br /&gt;
&lt;br /&gt;
'''GetPrjPath'''&lt;br /&gt;
&lt;br /&gt;
PrjPath=GetPrjPath()&lt;br /&gt;
&lt;br /&gt;
возвращает путь до папки проекта (строка). Если проект не открыт, то возвращает пустую строку&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetPrjUnit'''&lt;br /&gt;
&lt;br /&gt;
возвращает единицы измерения проекта&lt;br /&gt;
&lt;br /&gt;
UnitType=GetPrjUnit()&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
UnitType - единицы измерения проекта&lt;br /&gt;
&lt;br /&gt;
DOM_MM (0) - миллиметры&lt;br /&gt;
&lt;br /&gt;
DOM_INCH (1) - дюймы&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3242</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3242"/>
		<updated>2026-03-27T09:13:52Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
'''Функции работы с доской'''&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardMat''' - возвращает номер текущего материала&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iDCut=GetBoardMat(idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дай IDWood - ID породы материала и ID сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
idWood - IDWood - ID породы материала ljcrb&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски &lt;br /&gt;
&lt;br /&gt;
           или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
2 '''SetBoardMat''' - установить материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
установить в глобальной структуре currBoard материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardMat(idCut,idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idCut - ID сечения доски&lt;br /&gt;
&lt;br /&gt;
idWood - ID породы материала доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID породы материала доски в случае успеха&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''SetCurrBoard''' - вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetCurrBoard()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возвращает 1 если в диалоге выбран новый материала доски, который установили в глобальную структуры currBoard&lt;br /&gt;
&lt;br /&gt;
или 0, если отказались от смены текущего материала&lt;br /&gt;
&lt;br /&gt;
7 '''GetBoardEnd''' - в массив положить текущие параметры подрезки&lt;br /&gt;
&lt;br /&gt;
Дай параметры подрезок левого и правого торца доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=GetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе &lt;br /&gt;
&lt;br /&gt;
arrL - массив из 5 элементов для параметров подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR - массив из 5 элементов для параметров подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева &lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Типы подрезки торца доски&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
Битовые маски&lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
7 '''SetBoardEnd''' - установить текущие параметры подрезки доски&lt;br /&gt;
&lt;br /&gt;
установить текущие параметры подрезки доски в глобальную структуру currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева&lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Значения типов подрезки и битовых массок смотри в описании фукции GetBoardEnd&lt;br /&gt;
&lt;br /&gt;
4 '''GetBoardPMat''' - возвращает номер текущего материала, а в переменных - параметры текущего материала&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;idCut=GetBoardPMat(TypeShave,Width,Height,WorkWidth)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дай параметры текущего сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
WorkWidth - ширина полезной части доски - используется при покрытии&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
3 '''GetBoardMatP''' - возвращает ID номер материала, ближайшего к заданным параметрам&lt;br /&gt;
&lt;br /&gt;
Найти ID сечения доски с параметрами, наиболее близкими к заданным, но не меньше заданных&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;idCut=GetBoardMatP(TypeShave,Width,Height)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе:&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски или 0, если не нашли или в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''GetBoardName''' - получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;GrpName=GetBoardName()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возвращает строку. Если строка пустая, то групповое имя досок по умолчанию в текущем проекте не задано&lt;br /&gt;
&lt;br /&gt;
1 '''SetBoardName''' - установить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
установить Групповое имя досок по умолчанию в текущий проект&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardName(GrpName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
GrpName - строка с групповым именем досок. Может быть пустой строкой&lt;br /&gt;
&lt;br /&gt;
Возвращает 0&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardCr''' - создать доску по трем точкам и параметрам из currBoard&lt;br /&gt;
&lt;br /&gt;
создать доску по трем точкам и параметрам из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;hBrd=GetBoardCr(arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
arr[1] - x координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[2] - y координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[3] - z координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[4] - x координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[5] - y координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[6] - z координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[7] - x координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[8] - y координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[9] - z координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ссылку на pK3Obj созданной доски или nullptr, если доску создать не смогли&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы с проёмами'''&lt;br /&gt;
&lt;br /&gt;
'''GetWndPar'''&lt;br /&gt;
&lt;br /&gt;
получить параметры проёма&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=GetWndPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Первый параметр - адрес объекта (pK3Obj)&lt;br /&gt;
&lt;br /&gt;
Второй параметр - массив из 7 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип проёма (0 - дверь, 1 - окно, 2 - проём, 3 - ниша)&lt;br /&gt;
&lt;br /&gt;
arr[2] - форма проёма&lt;br /&gt;
&lt;br /&gt;
arr[3] - ширина проёма&lt;br /&gt;
&lt;br /&gt;
arr[4] - высота проёма в мм&lt;br /&gt;
&lt;br /&gt;
arr[5] - высота в мм 1-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[6] - высота в мм 2-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[7] - толщина стены&lt;br /&gt;
&lt;br /&gt;
Возвращает уникальный номер проёма, или -1, в случае ошибки&lt;br /&gt;
&lt;br /&gt;
формы проёма enum DOM_WND_FORM&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проём - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проём - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проём - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проём - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проём - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проём - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проём - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проём - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проём - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проём - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проём - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проём - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проём - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проём - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проём - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проём - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проём - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проём - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проём - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проём - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проём - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndName'''&lt;br /&gt;
&lt;br /&gt;
дай имя проёма&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;WndName=GetWndName(hWnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
возвращает имя проёма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndVPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на вертикальном торце&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;void GetWndVPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
arr - массив из 8-и элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки конца бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
битовые маски &lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndAPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на скошенном торце&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;void GetWndAPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
arr  - массив из 8 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки и параметры скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки и битовые маски смотри ф описании функции GetWndVPar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndMatr'''&lt;br /&gt;
&lt;br /&gt;
дай матрицу проёма&lt;br /&gt;
&lt;br /&gt;
code=GetWndMatr(hWnd,matr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
matr матрица (массив 16)&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
matr - матрица проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает 16&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndObj'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на проём&lt;br /&gt;
&lt;br /&gt;
hWnd=GetWndObj()&lt;br /&gt;
&lt;br /&gt;
Возвращает указатель на глобальный pK3Obj current_window. Может быть nullptr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndPoint'''&lt;br /&gt;
&lt;br /&gt;
по параметрам проёма заполнить массив точек&lt;br /&gt;
&lt;br /&gt;
num=GetWndPoint(params,points)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
params параметры проёма (массив 7)&lt;br /&gt;
&lt;br /&gt;
params[1] - не используется&lt;br /&gt;
&lt;br /&gt;
params[2] - форма проёма &lt;br /&gt;
&lt;br /&gt;
params[3] - d&lt;br /&gt;
&lt;br /&gt;
params[4] - h&lt;br /&gt;
&lt;br /&gt;
params[5] - param1&lt;br /&gt;
&lt;br /&gt;
params[6] - param2&lt;br /&gt;
&lt;br /&gt;
params[7] - не используется&lt;br /&gt;
&lt;br /&gt;
points - массив 8*3&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
points[1..3] - x,y,z координаты 1-ой точки&lt;br /&gt;
&lt;br /&gt;
points[4..6] - x,y,z координаты 2-ой точки&lt;br /&gt;
&lt;br /&gt;
points[7..9] - x,y,z координаты 3-ей точки&lt;br /&gt;
&lt;br /&gt;
points[10..12] - x,y,z координаты 4-ой точки&lt;br /&gt;
&lt;br /&gt;
points[13..15] - x,y,z координаты 5-ой точки&lt;br /&gt;
&lt;br /&gt;
points[16..18] - x,y,z координаты 6-ой точки&lt;br /&gt;
&lt;br /&gt;
points[19..21] - x,y,z координаты 7-ой точки&lt;br /&gt;
&lt;br /&gt;
points[22..24] - x,y,z координаты 8-ой точки&lt;br /&gt;
&lt;br /&gt;
Возвращает количество точек&lt;br /&gt;
&lt;br /&gt;
Формы проёма&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проем - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проем - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проем - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проем - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проем - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проем - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проем - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проем - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проем - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проем - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проем - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проем - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проем - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проем - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проем - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проем - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проем - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проем - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проем - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проем - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проем - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndById'''&lt;br /&gt;
&lt;br /&gt;
найти указатель на проём по id&lt;br /&gt;
&lt;br /&gt;
hWnd=GetWndById(idWnd)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idWnd - уникальный номер проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает hWnd - адрес объекта (pK3Obj), или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TransPoint'''&lt;br /&gt;
&lt;br /&gt;
умножить точку на матрицу&lt;br /&gt;
&lt;br /&gt;
void TransPoint(point,matr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
point - точка (массив 3)&lt;br /&gt;
&lt;br /&gt;
matr - матрица (массив 16)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы со стенами, балками и проектом'''&lt;br /&gt;
&lt;br /&gt;
'''GetWall'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на стену по имени&lt;br /&gt;
&lt;br /&gt;
hWall=GetWall(Name)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Name - строка с именем стены&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
hWall - ссылку на pK3Obj стены&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetBeam'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на балку по номеру&lt;br /&gt;
&lt;br /&gt;
hBeam=GetBeam(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - целое число, номер балки&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
hBeam - ссылка на Pk3Obj балки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HRow'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку ряда в мм по номеру ряда (для текущего материала)&lt;br /&gt;
&lt;br /&gt;
h=HRow(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - номер ряда (целое число)&lt;br /&gt;
&lt;br /&gt;
Вовзращает&lt;br /&gt;
&lt;br /&gt;
h - верхнюю точку ряда в мм&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HBeam'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку балки&lt;br /&gt;
&lt;br /&gt;
h=HBeam(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - номер балки (целое число)&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
h - верхнюю точку балки в мм&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HWall'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку стены&lt;br /&gt;
&lt;br /&gt;
h=HWall(Name)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Name - имя стены (строка)&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
h - верхняя точка стены&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetPrjUnit'''&lt;br /&gt;
&lt;br /&gt;
возвращает единицы измерения проекта&lt;br /&gt;
&lt;br /&gt;
UnitType=GetPrjUnit()&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
UnitType - единицы измерения проекта&lt;br /&gt;
&lt;br /&gt;
DOM_MM (0) - миллиметры&lt;br /&gt;
&lt;br /&gt;
DOM_INCH (1) - дюймы&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3241</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3241"/>
		<updated>2026-03-27T09:08:13Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
'''Функции работы с доской'''&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardMat''' - возвращает номер текущего материала&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iDCut=GetBoardMat(idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дай IDWood - ID породы материала и ID сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
idWood - IDWood - ID породы материала ljcrb&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски &lt;br /&gt;
&lt;br /&gt;
           или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
2 '''SetBoardMat''' - установить материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
установить в глобальной структуре currBoard материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardMat(idCut,idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idCut - ID сечения доски&lt;br /&gt;
&lt;br /&gt;
idWood - ID породы материала доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID породы материала доски в случае успеха&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''SetCurrBoard''' - вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetCurrBoard()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возвращает 1 если в диалоге выбран новый материала доски, который установили в глобальную структуры currBoard&lt;br /&gt;
&lt;br /&gt;
или 0, если отказались от смены текущего материала&lt;br /&gt;
&lt;br /&gt;
7 '''GetBoardEnd''' - в массив положить текущие параметры подрезки&lt;br /&gt;
&lt;br /&gt;
Дай параметры подрезок левого и правого торца доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=GetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе &lt;br /&gt;
&lt;br /&gt;
arrL - массив из 5 элементов для параметров подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR - массив из 5 элементов для параметров подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева &lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Типы подрезки торца доски&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
Битовые маски&lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
7 '''SetBoardEnd''' - установить текущие параметры подрезки доски&lt;br /&gt;
&lt;br /&gt;
установить текущие параметры подрезки доски в глобальную структуру currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева&lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Значения типов подрезки и битовых массок смотри в описании фукции GetBoardEnd&lt;br /&gt;
&lt;br /&gt;
4 '''GetBoardPMat''' - возвращает номер текущего материала, а в переменных - параметры текущего материала&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;idCut=GetBoardPMat(TypeShave,Width,Height,WorkWidth)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дай параметры текущего сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
WorkWidth - ширина полезной части доски - используется при покрытии&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
3 '''GetBoardMatP''' - возвращает ID номер материала, ближайшего к заданным параметрам&lt;br /&gt;
&lt;br /&gt;
Найти ID сечения доски с параметрами, наиболее близкими к заданным, но не меньше заданных&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;idCut=GetBoardMatP(TypeShave,Width,Height)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе:&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски или 0, если не нашли или в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''GetBoardName''' - получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;GrpName=GetBoardName()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возвращает строку. Если строка пустая, то групповое имя досок по умолчанию в текущем проекте не задано&lt;br /&gt;
&lt;br /&gt;
1 '''SetBoardName''' - установить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
установить Групповое имя досок по умолчанию в текущий проект&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardName(GrpName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
GrpName - строка с групповым именем досок. Может быть пустой строкой&lt;br /&gt;
&lt;br /&gt;
Возвращает 0&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardCr''' - создать доску по трем точкам и параметрам из currBoard&lt;br /&gt;
&lt;br /&gt;
создать доску по трем точкам и параметрам из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;hBrd=GetBoardCr(arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
arr[1] - x координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[2] - y координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[3] - z координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[4] - x координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[5] - y координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[6] - z координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[7] - x координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[8] - y координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[9] - z координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ссылку на pK3Obj созданной доски или nullptr, если доску создать не смогли&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы с проёмами'''&lt;br /&gt;
&lt;br /&gt;
'''GetWndPar'''&lt;br /&gt;
&lt;br /&gt;
получить параметры проёма&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=GetWndPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Первый параметр - адрес объекта (pK3Obj)&lt;br /&gt;
&lt;br /&gt;
Второй параметр - массив из 7 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип проёма (0 - дверь, 1 - окно, 2 - проём, 3 - ниша)&lt;br /&gt;
&lt;br /&gt;
arr[2] - форма проёма&lt;br /&gt;
&lt;br /&gt;
arr[3] - ширина проёма&lt;br /&gt;
&lt;br /&gt;
arr[4] - высота проёма в мм&lt;br /&gt;
&lt;br /&gt;
arr[5] - высота в мм 1-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[6] - высота в мм 2-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[7] - толщина стены&lt;br /&gt;
&lt;br /&gt;
Возвращает уникальный номер проёма, или -1, в случае ошибки&lt;br /&gt;
&lt;br /&gt;
формы проёма enum DOM_WND_FORM&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проём - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проём - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проём - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проём - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проём - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проём - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проём - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проём - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проём - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проём - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проём - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проём - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проём - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проём - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проём - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проём - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проём - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проём - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проём - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проём - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проём - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndName'''&lt;br /&gt;
&lt;br /&gt;
дай имя проёма&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;WndName=GetWndName(hWnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
возвращает имя проёма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndVPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на вертикальном торце&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;void GetWndVPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
arr - массив из 8-и элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки конца бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
битовые маски &lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndAPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на скошенном торце&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;void GetWndAPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
arr  - массив из 8 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки и параметры скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки и битовые маски смотри ф описании функции GetWndVPar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndMatr'''&lt;br /&gt;
&lt;br /&gt;
дай матрицу проёма&lt;br /&gt;
&lt;br /&gt;
code=GetWndMatr(hWnd,matr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
matr матрица (массив 16)&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
matr - матрица проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает 16&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndObj'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на проём&lt;br /&gt;
&lt;br /&gt;
hWnd=GetWndObj()&lt;br /&gt;
&lt;br /&gt;
Возвращает указатель на глобальный pK3Obj current_window. Может быть nullptr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndPoint'''&lt;br /&gt;
&lt;br /&gt;
по параметрам проёма заполнить массив точек&lt;br /&gt;
&lt;br /&gt;
num=GetWndPoint(params,points)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
params параметры проёма (массив 7)&lt;br /&gt;
&lt;br /&gt;
params[1] - не используется&lt;br /&gt;
&lt;br /&gt;
params[2] - форма проёма &lt;br /&gt;
&lt;br /&gt;
params[3] - d&lt;br /&gt;
&lt;br /&gt;
params[4] - h&lt;br /&gt;
&lt;br /&gt;
params[5] - param1&lt;br /&gt;
&lt;br /&gt;
params[6] - param2&lt;br /&gt;
&lt;br /&gt;
params[7] - не используется&lt;br /&gt;
&lt;br /&gt;
points - массив 8*3&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
points[1..3] - x,y,z координаты 1-ой точки&lt;br /&gt;
&lt;br /&gt;
points[4..6] - x,y,z координаты 2-ой точки&lt;br /&gt;
&lt;br /&gt;
points[7..9] - x,y,z координаты 3-ей точки&lt;br /&gt;
&lt;br /&gt;
points[10..12] - x,y,z координаты 4-ой точки&lt;br /&gt;
&lt;br /&gt;
points[13..15] - x,y,z координаты 5-ой точки&lt;br /&gt;
&lt;br /&gt;
points[16..18] - x,y,z координаты 6-ой точки&lt;br /&gt;
&lt;br /&gt;
points[19..21] - x,y,z координаты 7-ой точки&lt;br /&gt;
&lt;br /&gt;
points[22..24] - x,y,z координаты 8-ой точки&lt;br /&gt;
&lt;br /&gt;
Возвращает количество точек&lt;br /&gt;
&lt;br /&gt;
Формы проёма&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проем - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проем - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проем - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проем - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проем - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проем - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проем - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проем - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проем - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проем - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проем - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проем - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проем - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проем - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проем - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проем - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проем - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проем - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проем - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проем - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проем - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndById'''&lt;br /&gt;
&lt;br /&gt;
найти указатель на проём по id&lt;br /&gt;
&lt;br /&gt;
hWnd=GetWndById(idWnd)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idWnd - уникальный номер проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает hWnd - адрес объекта (pK3Obj), или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TransPoint'''&lt;br /&gt;
&lt;br /&gt;
умножить точку на матрицу&lt;br /&gt;
&lt;br /&gt;
void TransPoint(point,matr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
point - точка (массив 3)&lt;br /&gt;
&lt;br /&gt;
matr - матрица (массив 16)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы со стенами, балками'''&lt;br /&gt;
&lt;br /&gt;
'''GetWall'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на стену по имени&lt;br /&gt;
&lt;br /&gt;
hWall=GetWall(Name)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Name - строка с именем стены&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
hWall - ссылку на pK3Obj стены&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetBeam'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на балку по номеру&lt;br /&gt;
&lt;br /&gt;
hBeam=GetBeam(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - целое число, номер балки&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
hBeam - ссылка на Pk3Obj балки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HRow'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку ряда в мм по номеру ряда (для текущего материала)&lt;br /&gt;
&lt;br /&gt;
h=HRow(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - номер ряда (целое число)&lt;br /&gt;
&lt;br /&gt;
Вовзращает&lt;br /&gt;
&lt;br /&gt;
h - верхнюю точку ряда в мм&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HBeam'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку балки&lt;br /&gt;
&lt;br /&gt;
h=HBeam(num)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
num - номер балки (целое число)&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
h - верхнюю точку балки в мм&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''HWall'''&lt;br /&gt;
&lt;br /&gt;
возвращает верхнюю точку стены&lt;br /&gt;
&lt;br /&gt;
h=HWall(Name)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Name - имя стены (строка)&lt;br /&gt;
&lt;br /&gt;
Возвращает&lt;br /&gt;
&lt;br /&gt;
h - верхняя точка стены&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3240</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3240"/>
		<updated>2026-03-27T08:45:13Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
'''Функции работы с доской'''&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardMat''' - возвращает номер текущего материала&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iDCut=GetBoardMat(idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дай IDWood - ID породы материала и ID сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
idWood - IDWood - ID породы материала ljcrb&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски &lt;br /&gt;
&lt;br /&gt;
           или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
2 '''SetBoardMat''' - установить материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
установить в глобальной структуре currBoard материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardMat(idCut,idWood)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idCut - ID сечения доски&lt;br /&gt;
&lt;br /&gt;
idWood - ID породы материала доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID породы материала доски в случае успеха&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''SetCurrBoard''' - вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetCurrBoard()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возвращает 1 если в диалоге выбран новый материала доски, который установили в глобальную структуры currBoard&lt;br /&gt;
&lt;br /&gt;
или 0, если отказались от смены текущего материала&lt;br /&gt;
&lt;br /&gt;
7 '''GetBoardEnd''' - в массив положить текущие параметры подрезки&lt;br /&gt;
&lt;br /&gt;
Дай параметры подрезок левого и правого торца доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=GetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе &lt;br /&gt;
&lt;br /&gt;
arrL - массив из 5 элементов для параметров подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR - массив из 5 элементов для параметров подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева &lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Типы подрезки торца доски&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
Битовые маски&lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
7 '''SetBoardEnd''' - установить текущие параметры подрезки доски&lt;br /&gt;
&lt;br /&gt;
установить текущие параметры подрезки доски в глобальную структуру currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева&lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Значения типов подрезки и битовых массок смотри в описании фукции GetBoardEnd&lt;br /&gt;
&lt;br /&gt;
4 '''GetBoardPMat''' - возвращает номер текущего материала, а в переменных - параметры текущего материала&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;idCut=GetBoardPMat(TypeShave,Width,Height,WorkWidth)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дай параметры текущего сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
WorkWidth - ширина полезной части доски - используется при покрытии&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
3 '''GetBoardMatP''' - возвращает ID номер материала, ближайшего к заданным параметрам&lt;br /&gt;
&lt;br /&gt;
Найти ID сечения доски с параметрами, наиболее близкими к заданным, но не меньше заданных&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;idCut=GetBoardMatP(TypeShave,Width,Height)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе:&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски или 0, если не нашли или в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''GetBoardName''' - получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;GrpName=GetBoardName()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возвращает строку. Если строка пустая, то групповое имя досок по умолчанию в текущем проекте не задано&lt;br /&gt;
&lt;br /&gt;
1 '''SetBoardName''' - установить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
установить Групповое имя досок по умолчанию в текущий проект&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=SetBoardName(GrpName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
GrpName - строка с групповым именем досок. Может быть пустой строкой&lt;br /&gt;
&lt;br /&gt;
Возвращает 0&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardCr''' - создать доску по трем точкам и параметрам из currBoard&lt;br /&gt;
&lt;br /&gt;
создать доску по трем точкам и параметрам из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;hBrd=GetBoardCr(arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
arr[1] - x координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[2] - y координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[3] - z координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[4] - x координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[5] - y координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[6] - z координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[7] - x координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[8] - y координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[9] - z координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ссылку на pK3Obj созданной доски или nullptr, если доску создать не смогли&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы с проёмами'''&lt;br /&gt;
&lt;br /&gt;
'''GetWndPar'''&lt;br /&gt;
&lt;br /&gt;
получить параметры проёма&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;code=GetWndPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Первый параметр - адрес объекта (pK3Obj)&lt;br /&gt;
&lt;br /&gt;
Второй параметр - массив из 7 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип проёма (0 - дверь, 1 - окно, 2 - проём, 3 - ниша)&lt;br /&gt;
&lt;br /&gt;
arr[2] - форма проёма&lt;br /&gt;
&lt;br /&gt;
arr[3] - ширина проёма&lt;br /&gt;
&lt;br /&gt;
arr[4] - высота проёма в мм&lt;br /&gt;
&lt;br /&gt;
arr[5] - высота в мм 1-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[6] - высота в мм 2-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[7] - толщина стены&lt;br /&gt;
&lt;br /&gt;
Возвращает уникальный номер проёма, или -1, в случае ошибки&lt;br /&gt;
&lt;br /&gt;
формы проёма enum DOM_WND_FORM&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проём - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проём - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проём - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проём - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проём - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проём - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проём - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проём - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проём - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проём - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проём - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проём - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проём - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проём - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проём - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проём - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проём - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проём - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проём - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проём - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проём - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndName'''&lt;br /&gt;
&lt;br /&gt;
дай имя проёма&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;WndName=GetWndName(hWnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
возвращает имя проёма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndVPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на вертикальном торце&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;void GetWndVPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
arr - массив из 8-и элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки конца бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
битовые маски &lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndAPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на скошенном торце&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;void GetWndAPar(hWnd,arr)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
arr  - массив из 8 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки и параметры скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки и битовые маски смотри ф описании функции GetWndVPar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndMatr'''&lt;br /&gt;
&lt;br /&gt;
дай матрицу проёма&lt;br /&gt;
&lt;br /&gt;
code=GetWndMatr(hWnd,matr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
matr матрица (массив 16)&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
matr - матрица проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает 16&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndObj'''&lt;br /&gt;
&lt;br /&gt;
дай указатель на проём&lt;br /&gt;
&lt;br /&gt;
hWnd=GetWndObj()&lt;br /&gt;
&lt;br /&gt;
Возвращает указатель на глобальный pK3Obj current_window. Может быть nullptr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndPoint'''&lt;br /&gt;
&lt;br /&gt;
по параметрам проёма заполнить массив точек&lt;br /&gt;
&lt;br /&gt;
num=GetWndPoint(params,points)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
params параметры проёма (массив 7)&lt;br /&gt;
&lt;br /&gt;
params[1] - не используется&lt;br /&gt;
&lt;br /&gt;
params[2] - форма проёма &lt;br /&gt;
&lt;br /&gt;
params[3] - d&lt;br /&gt;
&lt;br /&gt;
params[4] - h&lt;br /&gt;
&lt;br /&gt;
params[5] - param1&lt;br /&gt;
&lt;br /&gt;
params[6] - param2&lt;br /&gt;
&lt;br /&gt;
params[7] - не используется&lt;br /&gt;
&lt;br /&gt;
points - массив 8*3&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
points[1..3] - x,y,z координаты 1-ой точки&lt;br /&gt;
&lt;br /&gt;
points[4..6] - x,y,z координаты 2-ой точки&lt;br /&gt;
&lt;br /&gt;
points[7..9] - x,y,z координаты 3-ей точки&lt;br /&gt;
&lt;br /&gt;
points[10..12] - x,y,z координаты 4-ой точки&lt;br /&gt;
&lt;br /&gt;
points[13..15] - x,y,z координаты 5-ой точки&lt;br /&gt;
&lt;br /&gt;
points[16..18] - x,y,z координаты 6-ой точки&lt;br /&gt;
&lt;br /&gt;
points[19..21] - x,y,z координаты 7-ой точки&lt;br /&gt;
&lt;br /&gt;
points[22..24] - x,y,z координаты 8-ой точки&lt;br /&gt;
&lt;br /&gt;
Возвращает количество точек&lt;br /&gt;
&lt;br /&gt;
Формы проёма&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проем - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проем - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проем - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проем - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проем - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проем - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проем - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проем - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проем - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проем - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проем - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проем - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проем - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проем - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проем - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проем - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проем - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проем - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проем - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проем - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проем - скругленная ниша&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3237</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3237"/>
		<updated>2026-03-27T08:22:13Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
'''Функции работы с доской'''&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardMat''' - возвращает номер текущего материала&lt;br /&gt;
&lt;br /&gt;
iDCut=GetBoardMat(idWood)&lt;br /&gt;
&lt;br /&gt;
Дай IDWood - ID породы материала и ID сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
idWood - IDWood - ID породы материала ljcrb&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски &lt;br /&gt;
&lt;br /&gt;
           или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
2 '''SetBoardMat''' - установить материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
установить в глобальной структуре currBoard материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
code=SetBoardMat(idCut,idWood)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idCut - ID сечения доски&lt;br /&gt;
&lt;br /&gt;
idWood - ID породы материала доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID породы материала доски в случае успеха&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''SetCurrBoard''' - вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
code=SetCurrBoard()&lt;br /&gt;
&lt;br /&gt;
Возвращает 1 если в диалоге выбран новый материала доски, который установили в глобальную структуры currBoard&lt;br /&gt;
&lt;br /&gt;
или 0, если отказались от смены текущего материала&lt;br /&gt;
&lt;br /&gt;
7 '''GetBoardEnd''' - в массив положить текущие параметры подрезки&lt;br /&gt;
&lt;br /&gt;
Дай параметры подрезок левого и правого торца доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
code=GetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&lt;br /&gt;
&lt;br /&gt;
На входе &lt;br /&gt;
&lt;br /&gt;
arrL - массив из 5 элементов для параметров подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR - массив из 5 элементов для параметров подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева &lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Типы подрезки торца доски&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
Битовые маски&lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
7 '''SetBoardEnd''' - установить текущие параметры подрезки доски&lt;br /&gt;
&lt;br /&gt;
установить текущие параметры подрезки доски в глобальную структуру currBoard&lt;br /&gt;
&lt;br /&gt;
code=SetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева&lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Значения типов подрезки и битовых массок смотри в описании фукции GetBoardEnd&lt;br /&gt;
&lt;br /&gt;
4 '''GetBoardPMat''' - возвращает номер текущего материала, а в переменных - параметры текущего материала&lt;br /&gt;
&lt;br /&gt;
idCut=GetBoardPMat(TypeShave,Width,Height,WorkWidth)&lt;br /&gt;
&lt;br /&gt;
Дай параметры текущего сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
WorkWidth - ширина полезной части доски - используется при покрытии&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
3 '''GetBoardMatP''' - возвращает ID номер материала, ближайшего к заданным параметрам&lt;br /&gt;
&lt;br /&gt;
Найти ID сечения доски с параметрами, наиболее близкими к заданным, но не меньше заданных&lt;br /&gt;
&lt;br /&gt;
idCut=GetBoardMatP(TypeShave,Width,Height)&lt;br /&gt;
&lt;br /&gt;
На входе:&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски или 0, если не нашли или в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''GetBoardName''' - получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
GrpName=GetBoardName()&lt;br /&gt;
&lt;br /&gt;
Возвращает строку. Если строка пустая, то групповое имя досок по умолчанию в текущем проекте не задано&lt;br /&gt;
&lt;br /&gt;
1 '''SetBoardName''' - установить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
установить Групповое имя досок по умолчанию в текущий проект&lt;br /&gt;
&lt;br /&gt;
code=SetBoardName(GrpName)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
GrpName - строка с групповым именем досок. Может быть пустой строкой&lt;br /&gt;
&lt;br /&gt;
Возвращает 0&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardCr''' - создать доску по трем точкам и параметрам из currBoard&lt;br /&gt;
&lt;br /&gt;
создать доску по трем точкам и параметрам из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
hBrd=GetBoardCr(arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
arr[1] - x координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[2] - y координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[3] - z координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[4] - x координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[5] - y координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[6] - z координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[7] - x координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[8] - y координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[9] - z координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ссылку на pK3Obj созданной доски или nullptr, если доску создать не смогли&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы с проёмами'''&lt;br /&gt;
&lt;br /&gt;
'''GetWndPar'''&lt;br /&gt;
&lt;br /&gt;
получить параметры проёма&lt;br /&gt;
&lt;br /&gt;
code=GetWndPar(hWnd,arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Первый параметр - адрес объекта (pK3Obj)&lt;br /&gt;
&lt;br /&gt;
Второй параметр - массив из 7 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип проёма (0 - дверь, 1 - окно, 2 - проём, 3 - ниша)&lt;br /&gt;
&lt;br /&gt;
arr[2] - форма проёма&lt;br /&gt;
&lt;br /&gt;
arr[3] - ширина проёма&lt;br /&gt;
&lt;br /&gt;
arr[4] - высота проёма в мм&lt;br /&gt;
&lt;br /&gt;
arr[5] - высота в мм 1-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[6] - высота в мм 2-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[7] - толщина стены&lt;br /&gt;
&lt;br /&gt;
Возвращает уникальный номер проёма, или -1, в случае ошибки&lt;br /&gt;
&lt;br /&gt;
формы проёма enum DOM_WND_FORM&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проём - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проём - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проём - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проём - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проём - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проём - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проём - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проём - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проём - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проём - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проём - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проём - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проём - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проём - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проём - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проём - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проём - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проём - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проём - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проём - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проём - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndName'''&lt;br /&gt;
&lt;br /&gt;
дай имя проёма&lt;br /&gt;
&lt;br /&gt;
WndName=GetWndName(hWnd)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
возвращает имя проёма&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndVPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на вертикальном торце&lt;br /&gt;
&lt;br /&gt;
void GetWndVPar(hWnd,arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
arr - массив из 8-и элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки прямого конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки конца бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
битовые маски &lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndAPar'''&lt;br /&gt;
&lt;br /&gt;
параметры подрезки на скошенном торце&lt;br /&gt;
&lt;br /&gt;
void GetWndAPar(hWnd,arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
arr  - массив из 8 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип подрезки и параметры скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[2] - битовые маски подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[3] - 1-ый параметр подрезки скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[4] - 2-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[5] - 3-ий параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[6] - 4-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[7] - 5-ый параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
arr[8] - 6-ой параметр подрезки	скошенного конца бревна&lt;br /&gt;
&lt;br /&gt;
Типы подрезки и битовые маски смотри ф описании функции GetWndVPar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndMatr'''&lt;br /&gt;
&lt;br /&gt;
дай матрицу проёма&lt;br /&gt;
&lt;br /&gt;
code=GetWndMatr(hWnd,matr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - адрес объекта (hobj)&lt;br /&gt;
&lt;br /&gt;
matr матрица (массив 16)&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
matr - матрица проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает 16&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3236</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3236"/>
		<updated>2026-03-27T07:56:48Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
'''Функции работы с доской'''&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardMat''' - возвращает номер текущего материала&lt;br /&gt;
&lt;br /&gt;
iDCut=GetBoardMat(idWood)&lt;br /&gt;
&lt;br /&gt;
Дай IDWood - ID породы материала и ID сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
idWood - IDWood - ID породы материала ljcrb&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски &lt;br /&gt;
&lt;br /&gt;
           или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
2 '''SetBoardMat''' - установить материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
установить в глобальной структуре currBoard материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
code=SetBoardMat(idCut,idWood)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idCut - ID сечения доски&lt;br /&gt;
&lt;br /&gt;
idWood - ID породы материала доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID породы материала доски в случае успеха&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''SetCurrBoard''' - вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
code=SetCurrBoard()&lt;br /&gt;
&lt;br /&gt;
Возвращает 1 если в диалоге выбран новый материала доски, который установили в глобальную структуры currBoard&lt;br /&gt;
&lt;br /&gt;
или 0, если отказались от смены текущего материала&lt;br /&gt;
&lt;br /&gt;
7 '''GetBoardEnd''' - в массив положить текущие параметры подрезки&lt;br /&gt;
&lt;br /&gt;
Дай параметры подрезок левого и правого торца доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
code=GetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&lt;br /&gt;
&lt;br /&gt;
На входе &lt;br /&gt;
&lt;br /&gt;
arrL - массив из 5 элементов для параметров подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR - массив из 5 элементов для параметров подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева &lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Типы подрезки торца доски&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
Битовые маски&lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
7 '''SetBoardEnd''' - установить текущие параметры подрезки доски&lt;br /&gt;
&lt;br /&gt;
установить текущие параметры подрезки доски в глобальную структуру currBoard&lt;br /&gt;
&lt;br /&gt;
code=SetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева&lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Значения типов подрезки и битовых массок смотри в описании фукции GetBoardEnd&lt;br /&gt;
&lt;br /&gt;
4 '''GetBoardPMat''' - возвращает номер текущего материала, а в переменных - параметры текущего материала&lt;br /&gt;
&lt;br /&gt;
idCut=GetBoardPMat(TypeShave,Width,Height,WorkWidth)&lt;br /&gt;
&lt;br /&gt;
Дай параметры текущего сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
WorkWidth - ширина полезной части доски - используется при покрытии&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
3 '''GetBoardMatP''' - возвращает ID номер материала, ближайшего к заданным параметрам&lt;br /&gt;
&lt;br /&gt;
Найти ID сечения доски с параметрами, наиболее близкими к заданным, но не меньше заданных&lt;br /&gt;
&lt;br /&gt;
idCut=GetBoardMatP(TypeShave,Width,Height)&lt;br /&gt;
&lt;br /&gt;
На входе:&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски или 0, если не нашли или в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''GetBoardName''' - получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
GrpName=GetBoardName()&lt;br /&gt;
&lt;br /&gt;
Возвращает строку. Если строка пустая, то групповое имя досок по умолчанию в текущем проекте не задано&lt;br /&gt;
&lt;br /&gt;
1 '''SetBoardName''' - установить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
установить Групповое имя досок по умолчанию в текущий проект&lt;br /&gt;
&lt;br /&gt;
code=SetBoardName(GrpName)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
GrpName - строка с групповым именем досок. Может быть пустой строкой&lt;br /&gt;
&lt;br /&gt;
Возвращает 0&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardCr''' - создать доску по трем точкам и параметрам из currBoard&lt;br /&gt;
&lt;br /&gt;
создать доску по трем точкам и параметрам из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
hBrd=GetBoardCr(arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
arr[1] - x координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[2] - y координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[3] - z координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[4] - x координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[5] - y координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[6] - z координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[7] - x координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[8] - y координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[9] - z координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ссылку на pK3Obj созданной доски или nullptr, если доску создать не смогли&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы с проёмами'''&lt;br /&gt;
&lt;br /&gt;
'''GetWndPar'''&lt;br /&gt;
&lt;br /&gt;
параметры проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает уникальный номер проёма, или -1, в случае ошибки&lt;br /&gt;
&lt;br /&gt;
code=GetWndPar(hWnd,arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Первый параметр - адрес объекта (pK3Obj)&lt;br /&gt;
&lt;br /&gt;
Второй параметр - массив из 7 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип проёма (0 - дверь, 1 - окно, 2 - проём, 3 - ниша)&lt;br /&gt;
&lt;br /&gt;
arr[2] - форма проёма&lt;br /&gt;
&lt;br /&gt;
arr[3] - ширина проёма&lt;br /&gt;
&lt;br /&gt;
arr[4] - высота проёма в мм&lt;br /&gt;
&lt;br /&gt;
arr[5] - высота в мм 1-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[6] - высота в мм 2-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[7] - толщина стены&lt;br /&gt;
&lt;br /&gt;
формы проёма enum DOM_WND_FORM&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проём - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проём - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проём - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проём - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проём - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проём - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проём - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проём - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проём - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проём - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проём - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проём - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проём - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проём - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проём - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проём - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проём - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проём - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проём - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проём - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проём - скругленная ниша&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''GetWndName'''&lt;br /&gt;
&lt;br /&gt;
дай имя проёма&lt;br /&gt;
&lt;br /&gt;
WndName=GetWndName(hWnd)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
hWnd - ссылка на pK3Obj проёма&lt;br /&gt;
&lt;br /&gt;
возвращает имя проёма&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3235</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3235"/>
		<updated>2026-03-27T07:53:17Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
'''Функции работы с доской'''&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardMat''' - возвращает номер текущего материала&lt;br /&gt;
&lt;br /&gt;
iDCut=GetBoardMat(idWood)&lt;br /&gt;
&lt;br /&gt;
Дай IDWood - ID породы материала и ID сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
idWood - IDWood - ID породы материала ljcrb&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски &lt;br /&gt;
&lt;br /&gt;
           или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
2 '''SetBoardMat''' - установить материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
установить в глобальной структуре currBoard материал доски по указанному сечению и породе&lt;br /&gt;
&lt;br /&gt;
code=SetBoardMat(idCut,idWood)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
idCut - ID сечения доски&lt;br /&gt;
&lt;br /&gt;
idWood - ID породы материала доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID породы материала доски в случае успеха&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''SetCurrBoard''' - вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
вызов диалога смены текущего материала доски&lt;br /&gt;
&lt;br /&gt;
code=SetCurrBoard()&lt;br /&gt;
&lt;br /&gt;
Возвращает 1 если в диалоге выбран новый материала доски, который установили в глобальную структуры currBoard&lt;br /&gt;
&lt;br /&gt;
или 0, если отказались от смены текущего материала&lt;br /&gt;
&lt;br /&gt;
7 '''GetBoardEnd''' - в массив положить текущие параметры подрезки&lt;br /&gt;
&lt;br /&gt;
Дай параметры подрезок левого и правого торца доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
code=GetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&lt;br /&gt;
&lt;br /&gt;
На входе &lt;br /&gt;
&lt;br /&gt;
arrL - массив из 5 элементов для параметров подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR - массив из 5 элементов для параметров подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева &lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Типы подрезки торца доски&lt;br /&gt;
&lt;br /&gt;
TYPECUT0	,//		0      // без подрезки&lt;br /&gt;
&lt;br /&gt;
TYPECUT1	,//		1      // Скос( по Z): 1 - угол=d(от -80 до +80), 2 - высота=d (от 0 до Height)&lt;br /&gt;
&lt;br /&gt;
TYPECUT2	,//		2      // вырез по дуге: 1 - радиус=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT3	,//		3      // просто вырез: 1 - глубина=d&lt;br /&gt;
&lt;br /&gt;
TYPECUT4	,//		4      // шип1 - прямой: 1 - глубина=h, 2 ширина шипа=l, 3 угол=alfa( от 0 до M_PI), 4 - зазор сверху, 5 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT5	,//		5      // шип2 - трапеция: 1 - глубина=h, 2 - ширина основания шипа=l1, 3 - ширина шипа=l2, 4 - угол( от -M_PI/2. до M_PI/2.), 5 - зазор сверху, 6 - зазор снизу&lt;br /&gt;
&lt;br /&gt;
TYPECUT6	,//		6      // врезка: 1 - глубина(по длине бревна), 2 - ширина(по ширине бревна), 3 - угол с торцем&lt;br /&gt;
&lt;br /&gt;
TYPECUT7	,//		7      // под бревно: 1 - глубина=h, 2 - радиус, 3 - поворот вокруг Х&lt;br /&gt;
&lt;br /&gt;
TYPECUT8	,//		8      // шип: 1 - заглубление=h, 2 - высота шипа, 3 - зазор слева, 4 - зазор справа, 5 - зазор снизу, 6 - зазор сверху(старая подрезка ушла в 24)&lt;br /&gt;
&lt;br /&gt;
TYPECUT9	,//		9      // верт.скос с прямым пазом(для стен с одинаковой рядностью): 1 - угол( от -M_PI/2. до M_PI/2.), 2 - ширина паза, 3 - глубина паза&lt;br /&gt;
&lt;br /&gt;
TYPECUT10	,//	 10      // верт.двусторонний выпуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT11	,//	 11      // фаска: 1 - срез по y, 2 - длина среза по х, Up - слева,справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT12	,//	 12      // двойная дуга: 1 - радиус выреза слева, 2 - радиус выреза справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT13	,//	 13      // скругление: 1 - радиус скругления слева, 2 - радиус скругления справа&lt;br /&gt;
&lt;br /&gt;
TYPECUT14	,//	 14      // трапеция(для замка): 1 - глубина выреза, 2 - ширина основания выреза, 3 - ширина выреза(на глубине)&lt;br /&gt;
&lt;br /&gt;
TYPECUT15	,//	 15      // подрезка произвольной плоскостью: 1 - расстояние от вершины до плоскости, 2 - поворот нормали плоскости вокруг Х, 3 - поворот нормали плоскости вокруг Z&lt;br /&gt;
&lt;br /&gt;
TYPECUT16	,//	 16      // верт.двусторонний впуклый скос: 1 - угол слева, 2 - угол справа, 3 - сдвиг от середины бревна&lt;br /&gt;
&lt;br /&gt;
TYPECUT17	,//	 17      // двойной скос( по Z): 1 - угол снизу, 2 - угол сверху, 3 - высота скоса снизу, 4 - высота скоса сверху&lt;br /&gt;
&lt;br /&gt;
TYPECUT18	,//	 18      // стык Гербера ( ГОСТ) без параметров - расчет от ширины габарита&lt;br /&gt;
&lt;br /&gt;
TYPECUT19	,//	 19      // стык Гербера1: 1 - длина стыка, 2 - глубина стыка&lt;br /&gt;
&lt;br /&gt;
TYPECUT20	,//	 20      // стык Гербера2: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT21	,//	 21      // стык Гербера3: 1 - длина стыка, 2 - глубина стыка, 3 - высота остатка, 4 - длина выемки&lt;br /&gt;
&lt;br /&gt;
TYPECUT22	,//	 22      // ступеньки с дугой выпуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT23	,//	 23      // ступеньки с дугой впуклой: 0 - радиус, 1,2 - параметры внешней ступеньки, 3,4 - параметры внутренней ступеньки&lt;br /&gt;
&lt;br /&gt;
TYPECUT24	,//	 24      // шип прямоугольный: 1 - заглубление=h, 2 - высота шипа, 3 - размер шипа(ширина), 4 - размер шипа(высота), 5 - скругление&lt;br /&gt;
&lt;br /&gt;
TYPECUT25	//	 25      // сокращенный ласточкин хвост: 0 - высота до хвоста, 1 - радиус скругления, 2 - угол сужения, 3 - толщина хвоста, 4 - угол фрезы, 5 - угол фаски&lt;br /&gt;
&lt;br /&gt;
Битовые маски&lt;br /&gt;
&lt;br /&gt;
DOM_ST_UP				= 0x00000001,     // режется верхняя половина бревна&lt;br /&gt;
&lt;br /&gt;
DOM_ST_OTKOS		= 0x00000002,     // у торца есть лыска под наличник&lt;br /&gt;
&lt;br /&gt;
DOM_ST_RIGTH		= 0x00000004,     // правая подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEN	= 0x00000008,     // только для подрезки стены скатами ! - выпуск задан по нормали&lt;br /&gt;
&lt;br /&gt;
DOM_ADD_SLOPEV	= 0x00000010,     // только для подрезки стены скатами ! - выпуск задан по вертикали&lt;br /&gt;
&lt;br /&gt;
DOM_ST_ROTATE	  = 0x00000020,     // подрезка в другой плоскости( Гербер при делении досок)&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_FIXANG  = 0x00000040,     // подрезка с фиксацией угла(у скоса при заполнении не пересчитывается угол)&lt;br /&gt;
&lt;br /&gt;
DOM_SL_LIMITGAB = 0x00000080,     // только для подрезки стены скатами ! - с ограничением длины по нижней точке&lt;br /&gt;
&lt;br /&gt;
DOM_SL_GORCUT		= 0x00000100,     // только для подрезки стены скатами ! - горизонтальная подрезка&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BTL			= 0x10000000,     // подрезка образмеривается по принципу BTL - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
DOM_LEP_BODY		= 0x20000000,     // подрезка образмеривается по принципу BODY - не менять! - одна битовая маска для пазов и подрезок&lt;br /&gt;
&lt;br /&gt;
7 '''SetBoardEnd''' - установить текущие параметры подрезки доски&lt;br /&gt;
&lt;br /&gt;
установить текущие параметры подрезки доски в глобальную структуру currBoard&lt;br /&gt;
&lt;br /&gt;
code=SetBoardEnd(OrientW,OrientH,Angle,wcutL,wcutR,arrL,arrR)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
OrientW - ориентация по ширине:  -1 - по левому краю, 0 - по центру, 1 - по правому краю&lt;br /&gt;
&lt;br /&gt;
OrientH - ориентация по толщине: -1 - по низу, 0 - по центру, 1 - по верху&lt;br /&gt;
&lt;br /&gt;
Angle - угол поворота доски&lt;br /&gt;
&lt;br /&gt;
wcutL - отпил в мм по длине доски слева&lt;br /&gt;
&lt;br /&gt;
wcutR - отпил в мм по длине доски справа&lt;br /&gt;
&lt;br /&gt;
arrL[1] - тип подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrL[2] - 1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[3] - 2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[4] - 3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrL[5] - битовые маски подрезки левого торца&lt;br /&gt;
&lt;br /&gt;
arrR[1] - тип подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
arrR[2] -	1-ый параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[3] -	2-ой параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[4] -	3-ий параметр подрезки&lt;br /&gt;
&lt;br /&gt;
arrR[5] -	битовые маски подрезки правого торца&lt;br /&gt;
&lt;br /&gt;
Возвращает 15 в случае успеха&lt;br /&gt;
&lt;br /&gt;
0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
Значения типов подрезки и битовых массок смотри в описании фукции GetBoardEnd&lt;br /&gt;
&lt;br /&gt;
4 '''GetBoardPMat''' - возвращает номер текущего материала, а в переменных - параметры текущего материала&lt;br /&gt;
&lt;br /&gt;
idCut=GetBoardPMat(TypeShave,Width,Height,WorkWidth)&lt;br /&gt;
&lt;br /&gt;
Дай параметры текущего сечения доски из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
WorkWidth - ширина полезной части доски - используется при покрытии&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски&lt;br /&gt;
&lt;br /&gt;
или 0 в случае ошибки&lt;br /&gt;
&lt;br /&gt;
3 '''GetBoardMatP''' - возвращает ID номер материала, ближайшего к заданным параметрам&lt;br /&gt;
&lt;br /&gt;
Найти ID сечения доски с параметрами, наиболее близкими к заданным, но не меньше заданных&lt;br /&gt;
&lt;br /&gt;
idCut=GetBoardMatP(TypeShave,Width,Height)&lt;br /&gt;
&lt;br /&gt;
На входе:&lt;br /&gt;
&lt;br /&gt;
TypeShave - тип сечения: 0 - прямоугольная, 1 - фальцованная, 2 - шпунтованная, 3 - вагонка, 4 – блок-хаус&lt;br /&gt;
&lt;br /&gt;
Width - ширина доски&lt;br /&gt;
&lt;br /&gt;
Height - толщина доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ID сечения доски или 0, если не нашли или в случае ошибки&lt;br /&gt;
&lt;br /&gt;
0 '''GetBoardName''' - получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
получить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
GrpName=GetBoardName()&lt;br /&gt;
&lt;br /&gt;
Возвращает строку. Если строка пустая, то групповое имя досок по умолчанию в текущем проекте не задано&lt;br /&gt;
&lt;br /&gt;
1 '''SetBoardName''' - установить Групповое имя досок по умолчанию&lt;br /&gt;
&lt;br /&gt;
установить Групповое имя досок по умолчанию в текущий проект&lt;br /&gt;
&lt;br /&gt;
code=SetBoardName(GrpName)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
GrpName - строка с групповым именем досок. Может быть пустой строкой&lt;br /&gt;
&lt;br /&gt;
Возвращает 0&lt;br /&gt;
&lt;br /&gt;
1 '''GetBoardCr''' - создать доску по трем точкам и параметрам из currBoard&lt;br /&gt;
&lt;br /&gt;
создать доску по трем точкам и параметрам из глобальной структуры currBoard&lt;br /&gt;
&lt;br /&gt;
hBrd=GetBoardCr(arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
arr[1] - x координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[2] - y координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[3] - z координата начальной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[4] - x координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[5] - y координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[6] - z координата конечной точки доски&lt;br /&gt;
&lt;br /&gt;
arr[7] - x координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[8] - y координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
arr[9] - z координата точки определяющей плоскость расположения доски&lt;br /&gt;
&lt;br /&gt;
Возвращает ссылку на pK3Obj созданной доски или nullptr, если доску создать не смогли&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Функции работы с проёмами'''&lt;br /&gt;
&lt;br /&gt;
'''GetWndPar'''&lt;br /&gt;
&lt;br /&gt;
параметры проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает уникальный номер проёма, или -1, в случае ошибки&lt;br /&gt;
&lt;br /&gt;
code=GetWndPar(hWnd,arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Первый параметр - адрес объекта (pK3Obj)&lt;br /&gt;
&lt;br /&gt;
Второй параметр - массив из 7 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип проёма (0 - дверь, 1 - окно, 2 - проём, 3 - ниша)&lt;br /&gt;
&lt;br /&gt;
arr[2] - форма проёма&lt;br /&gt;
&lt;br /&gt;
arr[3] - ширина проёма&lt;br /&gt;
&lt;br /&gt;
arr[4] - высота проёма в мм&lt;br /&gt;
&lt;br /&gt;
arr[5] - высота в мм 1-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[6] - высота в мм 2-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[7] - толщина стены&lt;br /&gt;
&lt;br /&gt;
формы проёма enum DOM_WND_FORM&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проём - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проём - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проём - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проём - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проём - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проём - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проём - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проём - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проём - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проём - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проём - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проём - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проём - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проём - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проём - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проём - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проём - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проём - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проём - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проём - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проём - скругленная ниша&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3234</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3234"/>
		<updated>2026-03-27T07:49:42Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
Функции работы с доской&lt;br /&gt;
&lt;br /&gt;
Функции работы с проёмами&lt;br /&gt;
&lt;br /&gt;
'''GetWndPar'''&lt;br /&gt;
&lt;br /&gt;
параметры проёма&lt;br /&gt;
&lt;br /&gt;
Возвращает уникальный номер проёма, или -1, в случае ошибки&lt;br /&gt;
&lt;br /&gt;
code=GetWndPar(hWnd,arr)&lt;br /&gt;
&lt;br /&gt;
На входе&lt;br /&gt;
&lt;br /&gt;
Первый параметр - адрес объекта (pK3Obj)&lt;br /&gt;
&lt;br /&gt;
Второй параметр - массив из 7 элементов&lt;br /&gt;
&lt;br /&gt;
На выходе&lt;br /&gt;
&lt;br /&gt;
arr[1] - тип проёма (0 - дверь, 1 - окно, 2 - проём, 3 - ниша)&lt;br /&gt;
&lt;br /&gt;
arr[2] - форма проёма&lt;br /&gt;
&lt;br /&gt;
arr[3] - ширина проёма&lt;br /&gt;
&lt;br /&gt;
arr[4] - высота проёма в мм&lt;br /&gt;
&lt;br /&gt;
arr[5] - высота в мм 1-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[6] - высота в мм 2-го дополнительного параметра формы&lt;br /&gt;
&lt;br /&gt;
arr[7] - толщина стены&lt;br /&gt;
&lt;br /&gt;
формы проёма enum DOM_WND_FORM&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM0,	// 0  - проём - прямоугольник&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM1,	// 1  - проём - шестиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM2,	// 2  - проём - арка: радиус скругления - в полширины&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM3,	// 3  - проём - скошенный прямоугольник: Param1 - левая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM4,	// 4  - проём - пятиугольник: Param1 - меньшая высота&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM5,	// 5  - проём - трапеция: Param1 -верхнее основание трапеции&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM6,	// 6  - проём - треугольник( прямой угол - левый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM7,	// 7  - проём - треугольник( прямой угол - правый нижний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM8,	// 8  - проём - треугольник( прямой угол - левый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM9,	// 9  - проём - треугольник( прямой угол - правый верхний)&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM10,	// 10 - проём - восьмиугольник: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM11,	// 11 - проём - прямоугольник с фаской слева сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM12,	// 12 - проём - прямоугольник с фаской справа сверху: Param1 - cpeз по оси х, Param2 - срез по оси y&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM13,	// 13 - проём - круглый: радиус - половина высоты&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM14,	// 14 - проём - арка с радиусом: Param1 - высота дуги&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM15,	// 15 - проём - прямоугольник со скругленными верхними углами: Param1 - радиус скругления&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM16,	// 16 - проём - вертикальная трапеция вправо: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM17,	// 17 - проём - вертикальная трапеция влево: Param1 - угол снизу, Param2 - угол сверху&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM18,	// 18 - проём - Г-образная правая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM19,	// 19 - проём - Г-образная левая: Param1 - Ширина окна, Param2 - Высота окна,&lt;br /&gt;
&lt;br /&gt;
DOMWNDFORM20,	// 20 - проём - скругленная ниша&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
	<entry>
		<id>https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3233</id>
		<title>Функции макропрограммирования в К3-Коттедж</title>
		<link rel="alternate" type="text/html" href="https://wikilog.k3-cottage.ru/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_%D0%9A3-%D0%9A%D0%BE%D1%82%D1%82%D0%B5%D0%B4%D0%B6&amp;diff=3233"/>
		<updated>2026-03-27T07:40:27Z</updated>

		<summary type="html">&lt;p&gt;SVP: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:К3-Коттедж Бревно&amp;amp;Брус]]&lt;br /&gt;
Функции работы с доской&lt;/div&gt;</summary>
		<author><name>SVP</name></author>
	</entry>
</feed>