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; // Неопределенный цвет } }