using System;
namespace KAPITypes
{
///
/// типы документов
///
public enum DocType
{
///
/// 0- нет активного документа
///
lt_DocUnknown = 0,
///
/// 1- чертеж стандартный
///
lt_DocSheetStandart = 1,
///
/// 2- чертеж нестандартный
///
lt_DocSheetUser,
///
/// 3- фрагмент
///
lt_DocFragment,
///
/// 4- спецификация
///
lt_DocSpc,
///
/// 5- 3d-документ модель
///
lt_DocPart3D,
///
/// 6- 3d-документ сборка
///
lt_DocAssemble3D,
///
/// 7- текстовый документ стандартный
///
lt_DocTxtStandart,
///
/// 8- текстовый документ нестандартный
///
lt_DocTxtUser,
///
/// 9- спецификация нестандартный формат
///
lt_DocSpcUser,
///
/// 10- 3d-документ технологическая сборка
///
lt_DocTechnologyAssemble3D,
}
///
/// система квалитета
///
public enum LtQualSystem
{
///
/// 1 - вала
///
lt_qsShaft = 1,
///
/// 2 - отверстия
///
lt_qsHole = 2,
}
///
/// квалитеты
///
public enum LtQualDir
{
///
/// 1 - предпочтительные
///
lt_qdPreferable = 1,
///
/// 2 - основные
///
lt_qdBasic,
///
/// 3 - дополнительные
///
lt_qdAdditional,
}
///
/// типы данных для LtVariant
///
public enum LtVariantType
{
///
/// 1 - символ
///
ltv_Char = 1,
///
/// 2 - байт
///
ltv_UChar,
///
/// 3 - целое
///
ltv_Int,
///
/// 4 - беззнаковое целое
///
ltv_UInt,
///
/// 5 - длинное целое
///
ltv_Long,
///
/// 6 - вешественное
///
ltv_Float,
///
/// 7 - двойное вешественное
///
ltv_Double,
///
/// 8 - строка 255 символов
///
ltv_Str,
///
/// 9 - пока не используется
///
ltv_NoUsed,
///
/// 10 - короткое целое
///
ltv_Short,
///
/// 11 - строка 255 символов Unicode
///
ltv_WStr,
}
///
/// типы точек привязки текста
///
public enum TextAlign
{
///
/// точка привязки слева
///
txta_Left = 0,
///
/// точка привязки вцентре
///
txta_Center,
///
/// точка привязки справа
///
txta_Right
}
///
/// перечисление возможных типов узла дерева библиотеки документов
///
public enum LtNodeType
{
///
/// корень дерева
///
tn_root,
///
/// папка (директория)
///
tn_dir,
///
/// документ (файл)
///
tn_file
}
///
/// типы значка объекта "Выносной элемент"
///
public enum LtRemoteElmSignType
{
///
/// 0 - окружность
///
re_Circle,
///
/// 1 - прямоугольник
///
re_Rectangle,
///
/// 2 - скругленный прямоугольник
///
re_Ballon
}
///
/// Тип изменения порядка объектов
///
public enum ChangeOrderType
{
///
/// Выше всех
///
co_Top = 1,
///
/// Ниже всех
///
co_Bottom,
///
/// Перед объектом
///
co_BeforeObject,
///
/// За объектом
///
co_AfterObject,
///
/// На уровень вперед
///
co_UpLevel,
///
/// На уровень назад
///
co_DownLevel,
///
/// Перед объектом (расположить объекты группы в порядке их добавления в группу)
///
co_BeforeObjectByGroupOrder,
///
/// За объектом (расположить объекты группы в порядке их добавления в группу)
///
co_AfterObjectByGroupOrder
}
public class ldefin2d
{
public const int TEXT_LENGTH = 128;
public const int MAX_TEXT_LENGTH = 255;
public const int ODBC_DB = 0;
public const int TXT_DB = 1;
public const int TXT_CHAR = 1;
public const int TXT_USHORT = 2;
public const int TXT_SSHORT = 3;
public const int TXT_SLONG = 4;
public const int TXT_ULONG = 5;
public const int TXT_LONG = 6;
public const int TXT_FLOAT = 7;
public const int TXT_DOUBLE = 8;
public const int TXT_INT = 9;
public const int TXT_ALL = 0;
// public const string TXT_INDEX "Index1000"
public const int stACTIVE = 0; //состояние для вида, слоя, документа
public const int stREADONLY = 1; //состояние для вида, слоя
public const int stINVISIBLE = 2; //состояние для вида, слоя
public const int stCURRENT = 3; //состояние для вида, слоя
public const int stPASSIVE = 1; //состояние для документа
// Определения для функции ksSystemPath
public const int sptSYSTEM_FILES = 0; // Выдать путь на каталог системных файлов
public const int sptLIBS_FILES = 1; // Выдать путь на каталог файлов библиотек
public const int sptAPPS_FILES = 1; // Выдать путь на каталог файлов приложений
public const int sptTEMP_FILES = 2; // Выдать путь на каталог сохранения временных файлов
public const int sptCONFIG_FILES = 3; // Выдать путь на каталог сохранения конфигурации системы
public const int sptINI_FILE = 4; // Выдать полное имя INI-файла системы
public const int sptBIN_FILE = 5; // Выдать путь на каталог исполняемых файлов системы
public const int sptPROJECT_FILES = 6; // Выдать путь на каталог сохранения kompas.prj
public const int sptDESKTOP_FILES = 7; // Выдать путь на каталог сохранения kompas.dsk
public const int sptTEMPLATES_FILES = 8; // Выдать путь на каталог шаблонов Компас-документов
public const int sptPROFILES_FILES = 9; // Выдать путь на каталог сохранения профилей пользователя
public const int sptWORK_FILES = 10; // Выдать путь на каталог "Мои документы"
public const int sptSHEETMETAL_FILES = 11; // Выдать путь на каталог таблиц сгибов
public const int sptPARTLIB_FILES = 12; // Выдать путь на каталог PartLib
public const int sptMULTILINE_FILES = 13; // Выдать путь к каталогу шаблонов мультилинии
public const int sptPRINTDEVICE_FILES = 14; // Выдать путь к каталогу конфигураций плоттеров/принтеров
public const int sptCURR_WORK_FILES = 15; // запоминание последних директориев, с которых выполнилось открытие/сохранение файла в диалоге Open|Save
public const int sptCURR_LIBS_FILES = 16; // запоминание последних директориев, с которых выполнилось открытие/сохранение файла в диалоге Open|Save
public const int sptCURR_APPS_FILES = 16; // запоминание последних директориев, с которых выполнилось открытие/сохранение файла в диалоге Open|Save
public const int sptCURR_SYSTEM_FILES = 17; // запоминание последних директориев, с которых выполнилось открытие/сохранение файла в диалоге Open|Save
public const int sptCURR_PROFILES_FILES = 18; // запоминание последних директориев, с которых выполнилось открытие/сохранение файла в диалоге Open|Save
public const int sptCURR_SHEETMETAL_FILES = 19; // запоминание последних директориев, с которых выполнилось открытие/сохранение файла в диалоге Open|Save
public const int sptMULTY_APPS_FILES = 20; // Выдать список каталогов файлов приложений
public const int sptDOC_LIBS_FILES = 21; // Выдать путь на каталог файлов библиотек документов
public const int sptMULTY_DOC_LIBS_FILES = 22; // Выдать список каталогов файлов библиотек документов
public const int sptCUR_DOC_LIBS_FILES = 23; // запоминание последних директориев, с которых выполнилось открытие/сохранение файла в диалоге Open|Save
public const int sptUTILS_FILES = 24; // Выдать путь на каталог утилит
public const int sptMULTY_UTILS_FILES = 25; // Выдать список каталогов утилит
public const int sptCURR_UTILS_FILES = 26; // запоминание последних директориев, с которых выполнилось открытие/сохранение файла в диалоге Open|Save
public const int sptPROGRAMDATA_FILES = 27; // Выдать путь на каталог данных приложения ( C:\ProgramData\ASCON\KOMPAS-3D\18 )
// Определения для результата функции SystemControlStart
public const int scsSTOPPED_FOR_MENU_COMMAND = ( 1); // Выполнена команда меню "Остановить работу библиотеки"
public const int scsSTOPPED_FOR_SYSTEM_STOP = ( 0); // Идет закрытие задачи
public const int scsSTOPPED_FOR_ITSELF = (-1); // Вызов функции SystemControlStop из-под библиотеки
public const int scsSTOPPED_FOR_START_THIS_LIB = (-2); // Принудительный останов при запуске той же библиотеки
public const int scsSTOPPED_FOR_START_ANOTHER_LIB = (-3); // Принудительный останов при запуске другой библиотеки
// Определения для функций GetObjParam и SetObjParam
// '+' отмечены объекты, для которых реализованы GetObjParam и SetObjParam
public const int ALLPARAM = -1; // все параметры объекта в СК объекта владельца
public const int SHEET_ALLPARAM = -2; // тоже что и ALLPARAM но параметры объекта в СК листа
public const int NURBS_CLAMPED_ALLPARAM = -5; // параметры нурбса, преобразовать узловой вектор в зажатый
public const int NURBS_CLAMPED_SHEET_ALLPARAM= -6; // параметры нурбса в СК листа, преобразовать узловой вектор в зажатый
public const int VIEW_ALLPARAM = -7; // все параметры объекта в СК вида
public const int ANGLE_ARC_PARAM = 0; // параметры дуги по углам ( для дуги и эллиптической дуги ) в СК объекта владельца
public const int POINT_ARC_PARAM = 1; // параметры дуги по точкам ( для дуги и эллиптической дуги ) в СК объекта владельца
public const int ANGLE_ARC_SHEET_PARAM = 2; // параметры дуги по углам ( для дуги и эллиптической дуги ) в СК листа
public const int POINT_ARC_SHEET_PARAM = 3; // параметры дуги по точкам ( для дуги и эллиптической дуги ) в СК листа
public const int ANGLE_ARC_VIEW_PARAM = 4; // параметры дуги по углам ( для дуги и эллиптической дуги ) в СК вида
public const int POINT_ARC_VIEW_PARAM = 5; // параметры дуги по точкам ( для дуги и эллиптической дуги ) в СК вида
public const int VIEW_LAYER_STATE = 1; // состояние слоя ,вида
public const int DOCUMENT_STATE = 1; // состояние документа
public const int DOCUMENT_SIZE = 0; // размер листа
public const int DIM_TEXT_PARAM = 0; // параметры текста для размеров
public const int DIM_SOURSE_PARAM = 1; // параметры привязки размера
public const int DIM_DRAW_PARAM = 2; // параметры отрисовки размера
public const int DIM_VALUE = 3; // значение размера - double
public const int DIM_PARTS = 4; // составляющие части для размеров struct DimensionPartsParam
public const int SHEET_DIM_PARTS = 5; // составляющие части для размеров struct DimensionPartsParam в СК листа
public const int TECHNICAL_DEMAND_PAR = -1; // параметры технических требований -
public const int TT_FIRST_STR = 1000;// начало отсчета для получения или замены текста ТТ по строкам
public const int CONIC_PARAM = 2; // параметры для построения конического сечения ( для эллипса и эллтптической дуги )
public const int SPC_TUNING_PARAM = 0; // параметры настроек для стиля СП
public const int HATCH_PARAM_EX = 0; // параметры штриховки расширенные
public const int ASSOCIATION_VIEW_PARAM = 0; // параметры ассоциативного вида
public const int DIM_SOURSE_VIEWPARAM = 7; // параметры привязки размера в ситеме координат вида
public const int DIM_DRAW_VIEWPARAM = 8; // параметры отрисовки размера в ситеме координат вида
public const int DIM_SOURSE_SHEETPARAM = 9; // параметры привязки размера в ситеме координат листа
public const int DIM_DRAW_SHEETPARAM = 10; // параметры отрисовки размера в ситеме координат листа
public const int ALL_OBJ = 0; // все объекты,кроме вспомогательных, которые могут входить в вид -
public const int LINESEG_OBJ = 1; // отрезок +
public const int CIRCLE_OBJ = 2; // окружность +
public const int ARC_OBJ = 3; // дуга +
public const int TEXT_OBJ = 4; // текст +
public const int POINT_OBJ = 5; // точка +
public const int HATCH_OBJ = 7; // штриховка +
public const int BEZIER_OBJ = 8; // bezier сплайн +
public const int LDIMENSION_OBJ = 9; // линейный размер +
public const int ADIMENSION_OBJ = 10; // угловой размер +
public const int DDIMENSION_OBJ = 13; // диаметральный размер +
public const int RDIMENSION_OBJ = 14; // радиальный размер +
public const int RBREAKDIMENSION_OBJ = 15; // радиальный размер с изломом +
public const int ROUGH_OBJ = 16; // шероховатость +
public const int BASE_OBJ = 17; // база +
public const int WPOINTER_OBJ = 18; // стрелка вида +
public const int CUT_OBJ = 19; // линия разреза +
public const int LEADER_OBJ = 20; // простая линия выноски +
public const int POSLEADER_OBJ = 21; // линия выноски для обозначения позиции +
public const int BRANDLEADER_OBJ = 22; // линия выноски для обозначения клеймения +
public const int MARKERLEADER_OBJ = 23; // линия выноски для обозначения маркирования +
public const int TOLERANCE_OBJ = 24; // допуск формы +
public const int TABLE_OBJ = 25; // таблица - //тексты
public const int CONTOUR_OBJ = 26; // контур + //стиль
public const int MACRO_OBJ = 27; // нетипизированный макроэлемент -
public const int LINE_OBJ = 28; // линия +
public const int LAYER_OBJ = 29; // слой +
public const int FRAGMENT_OBJ = 30; // вставной фрагмент +
public const int POLYLINE_OBJ = 31; // полилиния +
public const int ELLIPSE_OBJ = 32; // эллипс +
public const int NURBS_OBJ = 33; // nurbs сплайн +
public const int ELLIPSE_ARC_OBJ = 34; // дуга эллипса +
public const int RECTANGLE_OBJ = 35; // прямоугольник +
public const int REGULARPOLYGON_OBJ = 36; // многоугольник +
public const int EQUID_OBJ = 37; // эквидистанта +
public const int LBREAKDIMENSION_OBJ = 38; // линейный размер с обрывом +
public const int ABREAKDIMENSION_OBJ = 39; // угловой размер с обрывом +
public const int ORDINATEDIMENSION_OBJ = 40; // размер высоты
public const int COLORFILL_OBJ = 41; // фоновая заливка цветом +
public const int CENTREMARKER_OBJ = 42; // обозначение центра +
public const int ARCDIMENSION_OBJ = 43; // размер длины дуги
public const int SPC_OBJ = 44; // объект спецификации +
public const int RASTER_OBJ = 45; // растровый объект +
public const int CHANGE_LEADER_OBJ = 46; // Обозначение изменения -
public const int REMOTE_ELEMENT_OBJ = 47; // выносной элемент +
public const int AXISLINE_OBJ = 48; // Осевая линия +
public const int OLEOBJECT_OBJ = 49; // вставка ole объекта -
public const int KNOTNUMBER_OBJ = 50; // объект номер узла -
public const int BRACE_OBJ = 51; // объект фигурная скобка -
public const int POSNUM_OBJ = 52; // марка/позиционное обозначение с линией-выноской -
public const int MARKONLDR_OBJ = 53; // марка/позиционное обозначение на линии -
public const int MARKWOLDR_OBJ = 54; // марка/позиционное обозначение без линии-выноски -
public const int WAVELINE_OBJ = 55; // волнистая линия -
public const int DIRAXIS_OBJ = 56; // прямая ось -
public const int BROKENLINE_OBJ = 57; // линия обрыва с изломами -
public const int CIRCLEAXIS_OBJ = 58; // круговая ось -
public const int ARCAXIS_OBJ = 59; // дуговая ось -
public const int CUTUNITMARKING = 60; // Обозначение узла в сечении -
public const int UNITMARKING = 61; // Обозначение узла -
public const int MULTITEXTLEADER = 62; // Выносная надпись к многослойным конструкциям. -
public const int EXTERNALVIEW_OBJ = 63; // Вставка внешнего вида -
public const int ANNLINESEG_OBJ = 64; // Аннотационный отрезок +- Для GetObjParam используется структура LineSegParam
public const int ANNCIRCLE_OBJ = 65; // Аннотационная окружность +- Для GetObjParam используется структура CircleParam
public const int ANNELLIPSE_OBJ = 66; // Аннотационный эллипс +- Для GetObjParam используется структура EllipseParam
public const int ANNARC_OBJ = 67; // Аннотационная дуга +- Для GetObjParam используется структура ArcParam
public const int ANNELLIPSE_ARC_OBJ = 68; // Аннотационная дуга эллипса +- Для GetObjParam используется структура EllipseArcParam
public const int ANNPOLYLINE_OBJ = 69; // Аннотационная полилиния +- Для GetObjParam используется структура PolylineParam
public const int ANNPOINT_OBJ = 70; // Аннотационная точка +- Для GetObjParam используется структура PointParam
public const int ANNTEXT_OBJ = 71; // Текст с аннотационной точкой привязки +- Для GetObjParam используется структура TextParam
public const int MULTILINE_OBJ = 72; // Мультилиния -
public const int BUILDINGCUTLINE_OBJ = 73; // Линия разреза/сечения для СПДС + используется структура CutLineParam
public const int ATTACHED_LEADER_OBJ = 74; // Присоединенная линия выноски ( не имеет текстов ) +
public const int CONDITIONCROSSING_OBJ = 75; // Условное пересечение -
public const int REPORTTABLE_OBJ = 76; // ассоциативная таблица отчета
public const int EMBODIMENTSTABLE_OBJ = 77; // таблица исполнений
public const int SPECIALCURVE_OBJ = 78; // Кривая общего вида
public const int ARRAYPARAMTABLE_OBJ = 79; // Таблица параметров массива
public const int NURBS_BY_POINTS_OBJ = 80; // NURBS-кривая по точкам +- Для GetObjParam используется структура NurbsParam
public const int CONIC_CURVE_OBJ = 81; // Коническая кривая +- Для GetObjParam используется структура NurbsParam
public const int CONIC_CURVE_4POINT_OBJ = 82; // Коническая кривая по 4 точками и направлению +- Для GetObjParam используется структура NurbsParam
public const int CONIC_CURVE_5POINT_OBJ = 83; // Коническая кривая по 5 точками +- Для GetObjParam используется структура NurbsParam
public const int CIRCULAR_CENTRES_OBJ = 84; // Круговая сетка центров
public const int LINEAR_CENTRES_OBJ = 85; // Линейная сетка центров
public const int MAX_VIEWTIP_SEARCH = 85; // верхняя граница типов поиска для объектов вида -
public const int SPECIFICATION_OBJ = 121; // спецификация на листе
public const int SPECROUGH_OBJ = 122; // неуказанная шероховатость +
public const int VIEW_OBJ = 123; // вид +
public const int DOCUMENT_OBJ = 124; // документ графический + (лист или фрагмент)
public const int TECHNICALDEMAND_OBJ = 125; // технические требования +
public const int STAMP_OBJ = 126; // штамп - //тексты
public const int SELECT_GROUP_OBJ = 127; // группа селектирования -
public const int NAME_GROUP_OBJ = 128; // именная группа -
public const int WORK_GROUP_OBJ = 129; // рабочая группа -
public const int SPC_DOCUMENT_OBJ = 130; // документ спецификация +
public const int D3_DOCUMENT_OBJ = 131; // 3d документ модели или сборки +
public const int CHANGE_LIST_OBJ = 132; // таблица изменений -
public const int TXT_DOCUMENT_OBJ = 133; // текстовый документ
public const int ALL_DOCUMENTS = 134; // документы всех типов
public const int MAX_TIP_SEARCH = 134; // верхняя граница типов поиска -
public const int ALL_OBJ_SHOW_ORDER = -1000; // все объекты которые могут входить в вид в порядке отрисовки
// Поле тип линии имеет значения( системные стили ) см ksCurveStyleEnum:
// 1 - основная,
// 2 - тонкая,
// 3 - осевая,
// 4 - штриховая,
// 5 - волнистая линия
// 6 - вспомогательная,
// 7 - утолщенная,
// 8 - штрих-пунктир с 2 точками,
// 9 - штриховая толстая
// 10 -осевая толстая
// 11 -тонкая, включаемая в штриховку
// 12 - ISO штриховая линия
// 13 - ISO штриховая линия (дл. пробел)
// 14 - ISO штрихпунктирная линия (дл. штрих)
// 15 - ISO штрихпунктирная линия (дл. штрих 2 пунктира)
// 16 - ISO штрихпунктирная линия (дл. штрих 3 пунктира)
// 17 - ISO пунктирная линия
// 18 - ISO штрихпунктирная линия (дл. и кор. штрихи)
// 19 - ISO штрихпунктирная линия (дл. и 2 кор. штриха)
// 20 - ISO штрихпунктирная линия
// 21 - ISO штрихпунктирная линия (2 штриха)
// 22 - ISO штрихпунктирная линия (2 пунктира)
// 23 - ISO штрихпунктирная линия (3пунктира)
// 24 - ISO штрихпунктирная линия (2 штриха 2 пунктира)
// 25 - ISO штрихпунктирная линия (2 штриха 3 пунктира)
// Поле тип точки для точки( системные стили ) :
//0 - точка
//1 - крестик
//2 - х-точка
//3 - квадрат
//4 - треугольник
//5 - окружность
//6 - звезда
//7 - перечеркнутый квадрат
//8 - утолщенный плюс
// Поле тип штриховки для штриховки( системные стили ) см ksHatchStyleEnum:
// 0 - металл
// 1 - неметалл
// 2 - дерево
// 3 - камень естественный
// 4 - керамика
// 5 - бетон
// 6 - стекло
// 7 - жидкость
// 8 - естественный грунт
// 9 - насыпной грунт
// 10 - камень искусственный
// 11 - железобетон
// 12 - напряженный железобетон
// 13 - дерево в продольном сечении
// 14 - песок
// Определения флагов для текста
public const int INVARIABLE = 0; //не менять флаги текста
public const int NUMERATOR = 0x1; //числитель
public const int DENOMINATOR = 0x2; //знаменатель
public const int END_FRACTION = 0x3; //конец дроби
public const int UPPER_DEVIAT = 0x4; //верхнее отклонение
public const int LOWER_DEVIAT = 0x5; //нижнее отклонение
public const int END_DEVIAT = 0x6; //конец отклонений
public const int S_BASE = 0x7; //основание выражения типа суммы
public const int S_UPPER_INDEX = 0x8; //верхний индекс выражения типа суммы
public const int S_LOWER_INDEX = 0x9; //нижний индекс выражения типа суммы
public const int S_END = 0x10; //конец выражения типа суммы
public const int SPECIAL_SYMBOL = 0x11; //спецзнак
public const int SPECIAL_SYMBOL_END = 0x12; //для спецзнаков с текстом
public const int RETURN_BEGIN = 0x13; //начало для ввода следующих строк в спецзнаке с текстом, дробях, отклонениях
public const int RETURN_DOWN = 0x14; //для ввода следующих строк в спецзнаке с текстом, дробях, отклонениях
public const int RETURN_RIGHT = 0x15; //для ввода строк справа в спецзнаке с текстом, дробях, отклонениях
public const int TAB = 0x16; //табуляция по текущему стилю
public const int FONT_SYMBOL = 0x17; //символ фонта
public const int MARK_SEPARATOR = 0x18; //разделитель в обозначении
public const int FONT_SYMBOL_W = 0x2017; //символ фонта Unicode
public const int HYPER_TEXT = 0x2000; //ссылка на текст или положение объекта
public const int ITALIC_ON = 0x40; //включить наклон
public const int ITALIC_OFF = 0x80; //выключть наклон
public const int BOLD_ON = 0x100; //включить толщину
public const int BOLD_OFF = 0x200; //выключть толщину
public const int UNDERLINE_ON = 0x400; //включить подчеркивание
public const int UNDERLINE_OFF = 0x800; //выключть подчеркивание
public const int NEW_LINE = 0x1000; //новая строка в параграфе
public const int FONT_NAME = 1; //имя фонта
public const int NARROWING = 2; //коэффициент сужения фонта
public const int HEIGHT = 3; //высота фонта
public const int COLOR = 4; //цвет текста
public const int SPECIAL = 5; //спецзнак
public const int FRACTION_TYPE = 6; //высота дроби по отношению к тексту 1-полная высота 2-в 1.5 раза меньше 3-в 2 раза меньше
public const int SUM_TYPE = 7; //высота выражения типа суммы по отношению к тексту 1-полная высота 2-в 1.5 раза больше
//Определения для динамических массивов
public const int CHAR_STR_ARR = 1; // динамический массив указателей на строки символов
public const int POINT_ARR = 2; // динамический массив указателей на математические точки -структура MathPointParam
public const int CURVE_PATTERN_ARR = 2; // динамический массив указателей на участки штриховой линии -структура CurvePattern
public const int TEXT_LINE_ARR = 3; // динамический массив строк текста - структура TextLineParam
public const int TEXT_ITEM_ARR = 4; // динамический массив компонент строк текста структура TextItemParam
public const int ATTR_COLUMN_ARR = 5; // динамический массив колонок атрибутов- структура ColumnInfo
public const int USER_ARR = 6; // динамический пользовательский массив
public const int POLYLINE_ARR = 7; // динамический массив полилиний-(указателей массивов POINT_ARR)
public const int RECT_ARR = 8; // динамический массив габаритных прямоугольников-(структура RectParam)
public const int LIBRARY_STYLE_ARR = 9; // динамический массив структур параметров для стиля в библиотеке стилей( LibraryStyleParam )
public const int VARIABLE_ARR = 10; // динамический массив структур параметров параметрических переменных( VariableParam )
public const int CURVE_PATTERN_ARR_EX = 11; // динамический массив указателей на участки штриховой линии -структура CurvePatternEx
public const int LIBRARY_ATTR_TYPE_ARR = 12; // динамический массив структур параметров для типа атрибута в библиотеке типов атрибутов( LibraryAttrTypeParam )
public const int NURBS_POINT_ARR = 13; // динамический массив структур NurbsPointParam
public const int DOUBLE_ARR = 14; // динамический массив duuble
public const int CONSTRAINT_ARR = 15; // динамический массив параметрических ограничений - структура ConstraintParam
public const int CORNER_ARR = 16; // динамический массив структур параметров углов CornerParam для прямоугольников и многоугольников
public const int DOC_SPCOBJ_ARR = 17; // динамический массив структур параметров прикрепленных документов к объекту спецификации DocAttachedSpcParam
public const int SPCSUBSECTION_ARR = 18; // динамический массив структур параметров подраздела спецификации SpcSubSectionParam
public const int SPCTUNINGSEC_ARR = 19; // динамический массив структур параметров настройки раздела спецификации SpcTuningSectionParam
public const int SPCSTYLECOLUMN_ARR = 20; // динамический массив структур параметров стиля колонки таблицы спецификации SpcStyleColumnParam
public const int SPCSTYLESEC_ARR = 21; // динамический массив структур параметров стиля разделa спецификации SpcStyleSectionParam
public const int QUALITYITEM_ARR = 22; // динамический массив структур QualityItemParam - запись об одном интервале для какого-то квалитета
public const int LTVARIANT_ARR = 23; // динамический массив структур LtVariant
public const int TOLERANCEBRANCH_ARR = 24; // динамический массив структур ToleranceBranch
public const int HATCHLINE_ARR = 25; // динамический массив структур HatchLineParam
public const int TREENODEPARAM_ARR = 26; // динамический массив структур узла дерева TreeNodeParam
// Поле style для текста( системные стили ) см ksTextStyleEnum:
// 0 -умолчательный стиль для данного типа объекта
// 1 текст на чертеже
// 2 текст для технических требований
// 3 текст размерных надписей
// 4 текст шероховатости
// 5 текст для линии выноски ( позиционной )
// 6 текст для линии выноски ( над\под полкой )
// 7 текст для линии выноски ( сбоку )
// 8 текст для допуска формы
// 9 текст для таблицы ( заголовок )
// 10 текст для таблицы ( ячейка )
// 11 текст для линии разреза
// 12 текст для стрелки вида
// 13 текст для для неуказанной шероховатости
// 14 текст для обозначения изменения
// 15 текст для фигурной скобки
// 16 текст для номера узла
// 17 текст для выносной надписи
// 18 текст для обозначения узла
// 19 текст для марки координационной оси
// 20 текст для МПО(марка/позиционное обозначение с линией-выноской)
// 21 текст для МПО(марка/позиционное обозначение) на линии
// 22 текст для МПО(марка/позиционное обозначение) без линии выноски
// 23 текст для заголовков спецификации
// 24 текст для линия разреза для СПДС
// 25 Текст для таблицы отчета ( заголовок ).
// 26 Текст для таблицы отчета ( ячейка ).
// Структуры для работы с табличными атрибутами
public const int CHAR_ATTR_TYPE = 1;
public const int UCHAR_ATTR_TYPE = 2;
public const int INT_ATTR_TYPE = 3;
public const int UINT_ATTR_TYPE = 4;
public const int LINT_ATTR_TYPE = 5;
public const int FLOAT_ATTR_TYPE = 6;
public const int DOUBLE_ATTR_TYPE = 7;
public const int STRING_ATTR_TYPE = 8; //строка фиксированной длины MAX_TEXT_LENGTH
public const int RECORD_ATTR_TYPE = 9;
// признаки формирования размерной надписи
public const int _AUTONOMINAL = 0x1; // >0 автоматическое определение номинального значения размера
public const int _RECTTEXT = 0x2; // >0 текст в рамочке
public const int _PREFIX = 0x4; // >0 есть текст до номинала
public const int _NOMINALOFF = 0x8; // >0 нет номинала
public const int _TOLERANCE = 0x10; // >0 квалитет проставлять
public const int _DEVIATION = 0x20; // >0 отклонения проставлять
public const int _UNIT = 0x40; // >0 единица измерения
public const int _SUFFIX = 0x80; // >0 есть текст после номинала
public const int _DEVIATION_INFORM = 0x100; // >0 при включенном _DEVIATION, отклонения есть в массиве текстов( даже если не ручное проставление отклонений).
// Появляется после функции GetObjParam, чтобы пользователь мог получить отклонения.
public const int _UNDER_LINE = 0x200; // >0 размер с подчеркиванием
public const int _BRACKETS = 0x400; // >0 размер в скобках
public const int _SQUARE_BRACKETS = 0x800; // >0 размер в квадратных скобках, используется вместе с _BRACKETS
// _BRACKETS - размер в круглых скобках
// _BRACKETS | _SQUARE_BRACKETS - размер в квадратных скобках
public const int INDICATIN_TEXT_LINE_ARR = 0xFFFF; //для шероховаиости, позиционной линии выноски, маркировки и клеймения
//признак, что для текста используется динамический массив TEXT_LINE_ARR
// типы стилей
public const int CURVE_STYLE = 1; // стиль криивых
public const int HATCH_STYLE = 2; // стиль штриховок
public const int TEXT_STYLE = 3; // стиль текста
public const int STAMP_STYLE = 4; // стиль штампа
public const int CURVE_STYLE_EX = 5; // стиль криивых расширенный
// curveType | LIKE_BASIC_LINE - параметры пера как у основной линии
public const int LIKE_BASIC_LINE = 0x10; // параметры пера как у основной линии
public const int LIKE_THIN_LINE = 0x20; // параметры пера как у тонкой линии
public const int LIKE_HEAVY_LINE = 0x30; // параметры пера как у утолщенной линии
// Определения для функций Get/SetDocOptions и ksGet/SetSysOptions
public const int DIMENTION_OPTIONS = 1; // Настройки размера
public const int SNAP_OPTIONS = 1; // Настройки привязок
public const int ARROWFILLING_OPTIONS = 2; // Зачернять стрелки ?
public const int SHEET_OPTIONS = 3; // Параметры листа для новых документов
public const int SHEET_OPTIONS_EX = 4; // Параметры листа документа
public const int LENGTHUNITS_OPTIONS = 5; // Настройки единиц измерений
public const int SNAP_OPTIONS_EX = 6; // Настройки привязок документа
public const int VIEWCOLOR_OPTIONS = 7; // Настройки цвета фона рабочего поля 2d - документов
public const int TEXTEDIT_VIEWCOLOR_OPTIONS = 8; // Настройки цвета фона редактирования текста
public const int MODEL_VIEWCOLOR_OPTIONS = 9; // Настройки цвета фона для моделей
public const int OVERLAP_OBJECT_OPTIONS = 10; // Настройки перекрывающихся объектов
public const int DIMENTION_OPTIONS_EX = 11; // Настройки размера
//типы колонок для спецификации
public const int SPC_CLM_FORMAT = 1; // формат
public const int SPC_CLM_ZONE = 2; // зона
public const int SPC_CLM_POS = 3; // позиция
public const int SPC_CLM_MARK = 4; // обозначение
public const int SPC_CLM_NAME = 5; // наименование
public const int SPC_CLM_COUNT = 6; // количество
public const int SPC_CLM_NOTE = 7; // примечание
public const int SPC_CLM_MASSA = 8; // масса
public const int SPC_CLM_MATERIAL = 9; // материал
public const int SPC_CLM_USER = 10; // пользовательская
public const int SPC_CLM_KOD = 11; // код
public const int SPC_CLM_FACTORY = 12; // завод изготовитель
//типы значений для колонки спецификации
// констаны не используются нужно использовать LtVariantType
// public const int SPC_INT = 1; // целый
// public const int SPC_DOUBLE = 2; // вещественный
// public const int SPC_STRING = 3; // строка
// public const int SPC_RECORD = 4; // запись
//типы блиотек стилей
public const int CURVE_STYLE_LIBRARY = 1; // библиотека стилей кривых (*.lcs)
public const int HATCH_STYLE_LIBRARY = 2; // библиотека стилей штриховок (*.lhs)
public const int TEXT_STYLE_LIBRARY = 3; // библиотека стилей текстов (*.lts)
public const int STAMP_LAYOUT_STYLE_LIBRARY = 4; // библиотека стилей описаний штампов (*.lyt)
public const int GRAPHIC_LAYOUT_STYLE_LIBRARY = 5; // библиотека стилей оформлений графических документов (*.lyt)
public const int TEXT_LAYOUT_STYLE_LIBRARY = 6; // библиотека стилей оформлений текстовых документов (*.lyt)
public const int SPC_LAYOUT_STYLE_LIBRARY = 7; // библиотека стилей оформлений спецификаций (*.lyt)
//размерности и типы детали для рассчета массо-ценровочных характеристик
public const int ST_MIX_MM = 0x1; // миллиметры
public const int ST_MIX_SM = 0; // сантиметры
public const int ST_MIX_DM = 0x2; // дециметры
public const int ST_MIX_M = 0x3; // метры
public const int ST_MIX_GR = 0; // граммы
public const int ST_MIX_KG = 0x10; // килограммы
public const int ST_MIX_EXT = 0; // выдавливание
public const int ST_MIX_RV = 0x20; // вращение
// тип локальной привязки
public const int SN_NEAREST_POINT = 1; // Ближайшая точка
public const int SN_NEAREST_MIDDLE = 2; // Середина
public const int SN_CENTRE = 3; // Центр
public const int SN_INTERSECT = 4; // Пересечение
public const int SN_GRID = 5; // По сетке
public const int SN_XY_ALIGN = 6; // Выравнивание
public const int SN_ANGLE = 7; // Угловая привязка
public const int SN_POINT_CURVE = 8; // Точка на кривой
// типы общих настроек для привязок
public const int SN_DYNAMICALLY = 0x1; // Привязки отслеживать динамически
public const int SN_ASSISTANT = 0x2; // Писать текст
public const int SN_BACKGROUND_LAYER = 0x4; // Учитывать фоновые слои и виды
public const int SN_SUSPENDED = 0x8; // Подавить привязки
public const int SN_VISIBLE_GRID_POINTS_ONLY = 0x10; // Привязка только к видимым точкам сетки
// Типы параметрических ограничений
public const int CONSTRAINT_FIXED_POINT = 1; // фиксировать точку
public const int CONSTRAINT_POINT_ON_CURVE = 2; // точка на кривой
public const int CONSTRAINT_HORIZONTAL = 3; // горизонталь
public const int CONSTRAINT_VERTICAL = 4; // вертикаль
public const int CONSTRAINT_PARALLEL = 5; // параллельность двух прямых или отрезков
public const int CONSTRAINT_PERPENDICULAR = 6; // перпендикулярность двух прямых или отрезков
public const int CONSTRAINT_EQUAL_LENGTH = 7; // равенство длин двух отрезков
public const int CONSTRAINT_EQUAL_RADIUS = 8; // равенство радиусов двух дуг/окружностей
public const int CONSTRAINT_HOR_ALIGN_POINTS = 9; // выравнивать две точки по горизонтали
public const int CONSTRAINT_VER_ALIGN_POINTS = 10; // выравнивать две точки по вертикали
public const int CONSTRAINT_MERGE_POINTS = 11; // совпадение двух точек
public const int CONSTRAINT_TANGENT_TWO_CURVES = 15; // касание двух кривых
public const int CONSTRAINT_SYMMETRY_TWO_POINTS = 16; // симетрия двух точек
public const int CONSTRAINT_COLLINEAR = 17; // колинеарность отрезков
public const int CONSTRAINT_FIXED_ANGLE = 18; // фиксированный угол
public const int CONSTRAINT_FIXED_LENGHT = 19; // фиксированная длина
public const int CONSTRAINT_POINT_ON_CURVE_MIDDLE = 20; // точка на серидине кривой
public const int CONSTRAINT_BISECTOR = 21; // биссектриса
public const int CONSTRAINT_CONCENTRICITY = 22; // совпадение центров окружностей, дуг, эллипсов и точек
// типы объектов спецификации
public const int SPC_BASE_OBJECT = 1; // базовый объект (редактируется пользователем)
public const int SPC_COMMENT = 2; // комментарий (редактируется пользователем)
public const int SPC_SECTION_NAME = 3; // наименование раздела ( создается по стилю СП автоматически )
public const int SPC_BLOCK_NAME = 4; // наименование блока исполнений ( создается по стилю СП автоматически )
public const int SPC_RESERVE_STR = 5; // резервная строка ( создается по стилю СП автоматически )
public const int SPC_EMPTY_STR = 6; // пустая строка ( создается по стилю СП автоматически )
// типы сортировки
public const int SPC_SORT_OFF = 0; // нет сортировки
public const int SPC_SORT_COMPOS = 1; // составная сортировка
public const int SPC_SORT_ALPHABET = 2; // сортировка по алфавиту (1.06.01 - больше не используется)
public const int SPC_SORT_UP = 3; // сортировка по возрастанию колонок
public const int SPC_SORT_DOCUMENT = 4; // сортировка раздела документация
public const int SPC_SORT_DOWN = 5; // сортировка по убыванию колонок
public const int SPC_SORT_COMPOSDOWN = 6; // составная сортировка по убыванию
////////////////////////////////////////////////////////////////////////////////
//
// типы специальных символов ( аннотационный объект )
//
////////////////////////////////////////////////////////////////////////////////
public const int ARROW_INSIDE_SYMBOL = 1; // стрелка (ласточкин хвост) изнутри
public const int ARROW_OUT_SIDE_SYMBOL = 2; // стрелка (ласточкин хвост) снаружи
public const int TICK_TAIL_SYMBOL = 3; // засечка с продолжением кривой (с хвостиком)
public const int UP_HALF_ARROW_SYMBOL = 4; // верхняя половина стрелки изнутри
public const int DOWN_HALF_ARROW_SYMBOL = 5; // нижняя половина стрелки изнутри
public const int BIG_ARROW_INSIDE_SYMBOL = 6; // большая стрелка изнутри (7мм)
public const int ARROW_ORDINATE_DIM_SYMBOL = 7; // стрелка для размера высоты(штрихи длиной 4 мм под углом 45 гр)
public const int TRIANGLE_SYMBOL = 8; // треугольник по напр-нию кривой
public const int CIRCLE_RAD2_SYMBOL = 9; // окружность радиусом 2 мм тонкой линией - для шер-сти и линии-выноски
public const int CENTRE_MARKER_SYMBOL = 10; // обозначение фиктивного центра в виде большого креста
public const int GLUE_SIGN_SYMBOL = 11; // знак склеивания
public const int SOLDER_SIGN_SYMBOL = 12; // знак пайки
public const int SEWING_SIGN_SYMBOL = 13; // знак сшивания
public const int CRAMP_SIGN_SYMBOL = 14; // знак соединения внахлестку металл.скобами
public const int CORNER_CRAMP_SIGN_SYMBOL = 15; // знак углового соединения металл.скобами
public const int MONTAGE_JOINT_SYMBOL = 16; // знак монтажного шва
public const int TICK_SYMBOL = 17; // засечка без продолжения кривой (без хвостика)
public const int TRIANGLE_CURR_CS = 18; // треугольник по текущей СК - для базы
public const int ARROW_CLOSED_INSIDE = 19; // закрытая стрелка изнутри
public const int ARROW_CLOSED_OUTSIDE = 20; // закрытая стрелка снаружи
public const int ARROW_OPEN_INSIDE = 21; // открытая стрелка изнутри
public const int ARROW_OPEN_OUTSIDE = 22; // открытая стрелка снаружи
public const int ARROW_RIGHTANGLE_INSIDE = 23; // стрелка 90 град изнутри
public const int ARROW_RIGHTANGLE_OUTSIDE = 24; // стрелка 90 град снаружи
public const int SYMBOL_DOT = 25; // точка (диаметр равен длины стрелки размера)
public const int SYMBOL_SMALLDOT = 26; // точка маленькая (диаметр равен 0.6 длины стрелки размера)
public const int AUXILIARY_POINT = 27; // вспомогательная точка
public const int LEFT_TICK_SYMBOL = 28; // засечка с наклоном влево
//------------------------------------------------------------------------------
// Битовые флаги для функции ksSetMacroParam;
// указание какой тип редактирования поддерживает макро
// ---
public const int MP_DBL_CLICK_OFF = 0x01; //>0 редактирование по двойному нажанию выключено
public const int MP_HOTPOINTS = 0x02; //>0 интерфейс hot точек включен
public const int MP_EXTERN_EDIT = 0x04; //>0 интерфейс внешнего управления
//-----------------------------------------------------------------------------
//определения для конвертации в растровый формат
// ---
public const int FORMAT_BMP = 0;
public const int FORMAT_GIF = 1;
public const int FORMAT_JPG = 2;
public const int FORMAT_PNG = 3;
public const int FORMAT_TIF = 4;
public const int FORMAT_TGA = 5;
public const int FORMAT_PCX = 6;
public const int FORMAT_WMF = 16;
public const int FORMAT_EMF = 17;
//-----------------------------------------------------------------------------
//определения для настройки цвета растрового формата
// ---
public const int BLACKWHITE = 0; //цвет черный
public const int COLORVIEW = 1; //цвет установленный для вида
public const int COLORLAYER = 2; //цвет установленный для слоя
public const int COLOROBJECT = 3; //цвет установленный для объекта
//-----------------------------------------------------------------------------
// орределения бит на пиксел для конвертации в растровый формат
// ---
public const int BPP_COLOR_01 = 1; //"Черный"
public const int BPP_COLOR_02 = 2; //"4 цвета"
public const int BPP_COLOR_04 = 4; //"16 цветов"
public const int BPP_COLOR_08 = 8; //"256 цветов"
public const int BPP_COLOR_16 = 16; //"16 разрядов"
public const int BPP_COLOR_24 = 24; //"24 разряда"
public const int BPP_COLOR_32 = 32; //"32 разряда"
//------------------------------------------------------------------------------
// Типы стандартных видов
// ---
public const int VIEW_FRONT = 0x1; // Спереди
public const int VIEW_REAR = 0x2; // Сзади
public const int VIEW_UP = 0x4; // Сверху
public const int VIEW_DOWN = 0x8; // Снизу
public const int VIEW_LEFT = 0x10; // Слева
public const int VIEW_RIGHT = 0x20; // Справа
public const int VIEW_ISO = 0x40; // Изометрия
//------------------------------------------------------------------------------
// Стандартые курсоры Компас
// ---
public const int OCR_SELECT = 0xFFFE; // Курсор ввиде SELECT
public const int OCR_SNAP = 0xFFFD; // Курсор ввиде SNAP
public const int OCR_CATCH = 0xFFFC; // Курсор ввиде CATCH
public const int OCR_DEFAULT = 0; // Курсор в виде креста
public const int OCR_DEDAULT = 0; // Курсор в виде креста
//-----------------------------------------------------------------------------
// Неопределенный цвет для TextItemFont.color
// В стиле может быть выставлен по умолчанию цвет отличный он 0
// В этом случае если TextItemFont.color будет значение 0 то создастся
// модификатор на цвет и он не будет отображаться как цвет по умолчанию
// для того чтобы модификатор цвета не создался нужно
// или прислать цвет из настроек или константу FREE_COLOR
// ---
public const uint FREE_COLOR = 0xff000000; // Неопределенный цвет
}
}