(*************************************** System : КОМПАС-График API Module : LibTool dll : kAPI2D5.dll ****************************************) unit Libtool; {$ALIGN OFF} interface uses Windows, ks2DCOM_TLB, Ltdefine; //SysUtils, type Reference = Longint; Double2 = Array[ 1..2 ] of Double; Double4 = Array[ 1..4 ] of Double; Double2_2 = Array[ 1..2, 1..2 ] of Double; PByte = ^Byte; PIObject2DNotifyResult = ^IObject2DNotifyResult; PIParametrizationParam = ^IParametrizationParam; PIDispatch = ^IDispatch; const {$IFDEF __LIGHT_VERSION__} APPTOOL5 = 'klAPI2D5.DLL'; {$ELSE} APPTOOL5 = 'kAPI2D5.dll'; {$ENDIF} //////////////////////////////////////////////////////////////////////////////// // Libtool.h //////////////////////////////////////////////////////////////////////////////// // Экспортный номер - 2 //----------------------------------------------------------------------------- // Возвращается результат работы библиотеки. //----------------------------------------------------------------------------- function ReturnResult : Integer; stdcall; // Экспортный номер - 3 //----------------------------------------------------------------------------- // Обнулить результат работы библиотеки, если ошибка не фатальная. //----------------------------------------------------------------------------- function ResultNULL: Integer; stdcall; // Экспортный номер - 4 //----------------------------------------------------------------------------- // Возвращается строка сообщения, соответствующая результату работы библиотеки. //----------------------------------------------------------------------------- procedure StrResult( str : PChar; // строка сообщения limit : Integer ); stdcall; // длина строки str // Экспортный номер - 6 //----------------------------------------------------------------------------- // Возвращается дескриптор главного окна КОМПАСА(HWND). //----------------------------------------------------------------------------- function GetHWindow : HWND; stdcall; // Экспортный номер - 86 //------------------------------------------------------------------------------ // Получить цвет фона рабочего окна // --- function ksGetWorkWindowColor : DWord; stdcall; // Экспортный номер - 142 //----------------------------------------------------------------------------- // Разрешить или запретить доступ к задаче со стороны пользователя. //------------------------- ---------------------------------------------------- procedure EnableTaskAccess( enable : Integer ); stdcall;// 0-запретить, 1-разрешить // Экспортный номер - 142 //----------------------------------------------------------------------------- // Функция сообщает разрешен( 1 ) или запрещен( 0 ) доступ к задаче со стороны пользователя. //----------------------------------------------------------------------------- function IsEnableTaskAccess : Integer; stdcall; // Экспортный номер - 238 //----------------------------------------------------------------------------- // Обработать все сообщения, имеющиеся в очереди сообщений задачи. //----------------------------------------------------------------------------- procedure PumpWaitingMessages; stdcall; // Экспортный номер - 260 //------------------------------------------------------------------------------ // Установить критический процесс // До завершения Cursor, Placement или конца библиотечной команды // системе не разрешается принудительно завершать работу библиотеки // --- function ksSetCriticalProcess : Integer; stdcall; // Экспортный номер - 141 //----------------------------------------------------------------------------- // Запрос к системе на создание окна с деревом команд. // В качестве функции обратной связи передается указатель на функцию типа // CommandWindowCallBack. // Если в качестве функции обратной связи задан NULL, то управление из // CommandWindow возвращается немедленно, как только пользователь выберет команду // в дереве команд. При этом возвращается идентификатор выбранной команды. // В противном случае управление вернется, если пользователь закроет окно // или функция обратной связи вернет FALSE. При этом возвращается -1. // Если в качестве commands задана строка в формате Компас 4.X, // например "!Команда_1 !Команда_2 ..." // то идентификатором команды является ее позиция в строке (начиная с 1), // т.е. идентификатором команды "Команда_1" является 1. // Если в качестве commands задан идентификатор меню, то идентификатором команды // является идентификатор соответствующего пункта меню. //----------------------------------------------------------------------------- function CommandWindow( info : PRequestInfo ) : Integer; // информация для запроса stdcall; // Экспортный номер -744 //----------------------------------------------------------------------------- // [11/6/2004] // Запрос к системе на получение точки. // В качестве функции обратной связи передается указатель // на функцию типа CursorCallBack. //----------------------------------------------------------------------------- function ksCursor( info : PRequestInfo; // информация для запроса Var x : Double; // возвращаемые координаты точки Var y : Double; phantom : Pointer ) : Integer; // указатель на структуру фантома stdcall; // Экспортный номер - 17 //----------------------------------------------------------------------------- // Запрос к системе на получение точки. // В качестве функции обратной связи передается указатель // на функцию типа CursorCallBack. //----------------------------------------------------------------------------- function ksCursorEx( info : PRequestInfo; // информация для запроса Var x : Double; // возвращаемые координаты точки Var y : Double; phantom : Pointer; // указатель на структуру фантома processParam : PIUnknown ): // параметры процесса Integer; stdcall; // Экспортный номер - 18 //------------------------------------------------------------------------------ // Запрос к системе на получение точки и угла. // В качестве функции обратной связи передается указатель // на функцию типа PlacementCallBack. //------------------------------------------------------------------------------ function Placement( info : PRequestInfo; // информация для запроса Var x : Double; // возвращаемые координаты точки Var y : Double; Var angle : Double; // возвращаемое значение угла phantom : Pointer ) : Integer; // указатель на структуру фантома stdcall; // Экспортный номер -745 //------------------------------------------------------------------------------ // [11/6/2004] // Запрос к системе на получение точки и угла. // В качестве функции обратной связи передается указатель // на функцию типа PlacementCallBack. //------------------------------------------------------------------------------ function PlacementEx( info : PRequestInfo; // информация для запроса Var x : Double; // возвращаемые координаты точки Var y : Double; Var angle : Double; // возвращаемое значение угла phantom : Pointer; // указатель на структуру фантома processParam : PIUnknown ): // параметры процесса Integer; stdcall; // Экспортный номер - 165 //----------------------------------------------------------------------------- // Во время работы Cursor и Placement может возникнуть необходимость изменить фантом // или компоненты команд. Функция позволяет передать изменения в цикл Cursor и // Placement. Это может понадобиться для отработки команд пользовательских // инструментальных панелей. // Предварительно нужно убедиться что вызов Cursor и требование к Cursor передаются в // одном документе. // Если какой-либо параметр 0 - не обрабатывается, // если оба параметра 0 - прервать процесс Cursor и Placement. Аналогично нажатию Esc. // После завершения функции, вызвавшей останов процесса, управление будет передано в // Cursor или Placement, а затем в функцию пользователя, которая вызывала // Cursor или Placement. //----------------------------------------------------------------------------- function ksChangeObjectInLibRequest( info : PRequestInfo; // указатель на область памяти для замены состава команд phantom : Pointer ) : Integer; // указатель на фантомную группу stdcall; // Экспортный номер - 166 //----------------------------------------------------------------------------- // Поверка: является ли текущий документ тем, в котором запустили процесс // (Cursor или Placement). // Возвращает 1 в случае совпадения, 0 - нет. //----------------------------------------------------------------------------- function ksIsCursorOrPlacementDocument : Integer; stdcall; // Экспортный номер - 87 //----------------------------------------------------------------------------- // Проверить запущен ли в текущем графическом документе построительный процесс. // В случае ошибки функция возвращает -1, если процесс не запущен, возвращается 0, // в противном случае возвращается 1. // --- function ksIsActiveProcessRunnig : Integer; stdcall; // Экспортный номер - 166 //----------------------------------------------------------------------------- // Погасить(show=0) или включить(show=1) фантом //----------------------------------------------------------------------------- function ksPhantomShowHide( show : Byte ) : Integer; stdcall; // Экспортный номер - 244 //-------------------------------------------------------------------------- // Вернуть координаты курсора // функция возвращает 1 - если успешное завершение, // 0 -если ошибка или курсор не на поле чертежа. //-------------------------------------------------------------------------- function ksGetCursorPosition( var x,y : double; // координаты курсора в миллиметрах, _type : integer ) : integer; // type - признак какие координаты возвращать: stdcall; // 0 - без учета привязок 1 - с учетом привязок, // Экспортный номер - 19 //------------------------------------------------------------------------------ // Выход под управление системы. // Возвращаемый результат (см. LtDefine.h): // scsSTOPPED_FOR_MENU_COMMAND ( 1) Выполнена команда меню "Остановить работу библиотеки". // scsSTOPPED_FOR_SYSTEM_STOP ( 0) Идет закрытие задачи. // scsSTOPPED_FOR_ITSELF (-1) Вызов функции SystemControlStop из-под библиотеки. // scsSTOPPED_FOR_START_THIS_LIB (-2) Принудительный останов при запуске той же библиотеки. // scsSTOPPED_FOR_START_ANOTHER_LIB (-3) Принудительный останов при запуске другой библиотеки. //------------------------------------------------------------------------------ function SystemControlStart( menuCommand : PChar ) : Integer; // указатель на строку, stdcall; // помещаемую в меню для // возврата в библиотеку stdcall; // Экспортный номер - 20 //----------------------------------------------------------------------------- // Вернуть управление в библиотеку. //----------------------------------------------------------------------------- procedure SystemControlStop; stdcall; // Экспортный номер - 753 //----------------------------------------------------------------------------- // 28.12.04 // Проверить запущен SystemControlStart или нет // ( 0) - процесс не запущен // scsSTOPPED_FOR_ITSELF (-1) - уже вызван SystemControlStop, но цикл еще не завершон // scsSTOPPED_FOR_START_THIS_LIB (-2) - запрос из библиотеки, из которй вызвали SystemControlStart // scsSTOPPED_FOR_START_THIS_LIB (-3) - запрос из другой библиотеки, // (-4) - ошибка // --- function ksGetSystemControlStartResult() : Integer; stdcall; // Экспортный номер - 21 // ---------------------------------------------------------------------------- // Запомнить указатель на объект для использования при повторном // выполнении библиотеки. // Объект переносится из динамической таблицы объектов в глобальную. // В результате reference доступен из другой функции данной библиотеки. // ---------------------------------------------------------------------------- function KeepReference( r : Reference ) : Integer; // указатель на графический объект stdcall; // Экспортный номер - 125 //----------------------------------------------------------------------------- // Проверить имя файла и, если не полное имя, добавить к нему текущий директорий. // Возвращает требуемую длину буфера для нового имени. // Если bufSize меньше требуемой длины - newName не формируется. //----------------------------------------------------------------------------- function FullFileName( oldName : PChar; // старое имя файла newName : PChar; // буфер для полного имени файла bufSize : Cardinal ) : Cardinal; stdcall;// размер отведенного буфера newName // Экспортный номер - 128 //----------------------------------------------------------------------------- // Формируется и регистрируется в системе уникальное имя служебного файла. //----------------------------------------------------------------------------- function UniqueFileName( buff : PChar; // буфер для имени служебного файла bufSize : Cardinal ) : Cardinal; stdcall;// размер буфера buff // Экспортный номер - 129 //----------------------------------------------------------------------------- // Удаляется служебный файл. //----------------------------------------------------------------------------- procedure RemoveUniqueFile( fileName : PChar ); stdcall; // Экспортный номер - 134 //----------------------------------------------------------------------------- function GetRightFileName( fileName : PChar; // буфер для имени файла bufSize : Cardinal ) : Cardinal; stdcall;// размер отведенного буфера fileName // Экспортный номер - 163 //--------------------------------------------------------------------------- // Получить длину текста в миллиметрах // функция может принимать строку в синтаксисе 4 версии //--------------------------------------------------------------------------- function GetTextLength( text : PChar; //строка текста style : Word ) : Double; //стиль текста, style ==0 для стиля по умолчанию stdcall; // Экспортный номер - 173 kAPI2D5.dll //--------------------------------------------------------------------------- // Получить длину текста в миллиметрах //--------------------------------------------------------------------------- function GetTextLengthFromReference( pText : Reference ) : double; //- указатель на объект "текст" stdcall; // Экспортный номер - 194 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Выдать системный путь установленного типа (типы определены в ltdefine.h) // sptSYSTEM_FILES - Выдать путь на каталог системных файлов // sptLIBS_FILES - Выдать путь на каталог файлов библиотек // sptTEMP_FILES - Выдать путь на каталог сохранения временных файлов // sptCONFIG_FILES - Выдать путь на каталог сохранения конфигурации системы // sptINI_FILE - Выдать полное имя INI-файла системы // Если buff не равен NULL и sizeBuff больше или равен реальной длине строки пути // (включая завершающий 0), возвращается количество переписанных байт // В противном случае возвращается требуемый размер буфера // Пути не завершаются символом '\' (за исключением случая корневого каталога // устройства - ":\") //------------------------------------------------------------------------------------------------ function ksSystemPath( buff : PChar; sizeBuff : Integer; pathType : Integer) : Integer; stdcall; // Экспортный номер - 200 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Сформировать относительный путь к файлу из заданного полного пути к файлу // и системного пути установленного типа (типы определены в ltdefine.h) // sptSYSTEM_FILES - Относительно каталога системных файлов // sptLIBS_FILES - Относительно каталога файлов библиотек // sptTEMP_FILES - Относительно каталога сохранения временных файлов // sptCONFIG_FILES - Относительно каталога сохранения конфигурации системы // sptINI_FILE - Относительно полного имени INI-файла системы //------------------------------------------------------------------------------------------------ procedure ksGetRelativePathFromSystemPath( sourcePath : Pchar; //полный путь к файлу destBuff : Pchar; //(результат) относительный путь к файлу( без системного пути ) sizeDestBuff : Integer; //размер буффера pathType : Integer ); //путь установленного типа см. ksSystemPath stdcall; // Экспортный номер - 201 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Сформировать полный путь к файлу из заданного относительного пути к файлу // и системного пути установленного типа (типы определены в ltdefine.h) // sptSYSTEM_FILES - Относительно каталога системных файлов // sptLIBS_FILES - Относительно каталога файлов библиотек // sptTEMP_FILES - Относительно каталога сохранения временных файлов // sptCONFIG_FILES - Относительно каталога сохранения конфигурации системы // sptINI_FILE - Относительно полного имени INI-файла системы //------------------------------------------------------------------------------------------------ procedure ksGetFullPathFromSystemPath( relativePath : PChar; // относительный путь к файлу( без системного пути ) destBuff : PChar; // (результат) полный путь к файлу sizeDestBuff : Integer; // размер буффера pathType : Integer ); // путь установленного типа см. ksSystemPath stdcall; // Экспортный номер - 202 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Сформировать относительный путь к файлу из полного пути к задающему файлу // и полного пути к файлу //------------------------------------------------------------------------------------------------ procedure ksGetRelativePathFromFullPath( mainFilePath : PChar; //полный путь к задающему файлу sourcePath : PChar; //полный путь к требуемому файлу destBuff : PChar; //(результат) относительный путь к требуемому файлу( без общей с задающим файлом части пути ) sizeDestBuff : Integer ); // размер буффера stdcall; // Экспортный номер - 203 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Сформировать полный путь к файлу из заданного пути к задающему файлу // и относительного пути к файлу //------------------------------------------------------------------------------------------------ procedure ksGetFullPathFromRelativePath( mainFilePath : PChar; //полный путь к задающему файлу relativePath : PChar; //относительный путь к требуемому файлу( без общей с задающим файлом части пути ) destBuff : PChar; //(результат) полный путь к требуемому файлу sizeDestBuff : Integer ); // размер буффера stdcall; // Экспортный номер - 204 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Получить версию системы // Пример : // Для версии 5.4 Release 2 Build 1 // iMajor = 5 // iMinor = 4 // iRelease = 2 // iBuild = 1 // Любой из указателей может быть равен 0, тогда соответствующеее значение // не выдается // функция возвращает полный номер версии //------------------------------------------------------------------------------------------------ function ksGetSystemVersion( Var iMajor : Integer; //Старшее слово версии Var iMinor : Integer; //Младшее слово версии Var iRelease : Integer; //Номер выпуска внутри одной версии Var iBuild : Integer ) : DWord; //Номер сборки внутри одного выпуска stdcall; // Экспортный номер - 205 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Получить строку из INI-файла системы или из Registry // Если lpReturnedString = 0 или iSize = 0, то возвращается необходимый размер буфера, // Иначе - возвращается количество переписанных байт (с учетом завершающего 0) // Если результат функции = 0, значит секция или ключ не были найдены ни в INI-файле, // ни в Registry // Пример : // lpSection = "Directories" // lpKey = "Sys" // Результат : // lpReturnedString = "c:\Program Files\Kompas54\Sys" // iSize = 29 //------------------------------------------------------------------------------------------------ function ksGetSystemProfileString( lpSection : PChar; //Имя секции lpKey : PChar; //Имя ключа lpReturnedString : PChar; //Буфер для выходной строки iSize : Integer ) : Integer; //Размер буфера stdcall; // Экспортный номер - 62 kAPI2D5.dll //---------------------------------------------------------------------------------- // Открыть файл помощи // синтаксис соответствует ::WinHelp // Функция открывает файл помощи из под системы. При закрытиии системы // окно помощи закроется автоматически //----------------------------------------------------------------------------------- procedure ksOpenHelpFile( helpFile : PChar; //полное имя help-файла command : Cardinal; //тип help iD : Cardinal ); //идентификатор темы помощи stdcall; // Экспортный номер - 66 kAPI2D5.dll //-------------------------------------------------------------------------- // получить настройки документа // DIMENTION_OPTIONS - param -> структура DimensionsOptions // ARROWFILLING_OPTIONS - param -> int 1- стрелки зачерняют 0- не зачерняют // SHEET_OPTIONS - param -> структура SheetPar настроек новых документов // LENGTHUNITS_OPTIONS - param -> short ST_MIX_MM - мм, ST_MIX_SM - см, ST_MIX_M - метры //-------------------------------------------------------------------------- function GetDocOptions( optionsType: Integer; // тип настройки ( реализовано для настройки размера param : Pointer; //указатель на структуру параметров sizePar : Integer ) : Integer; //размер структуры параметров stdcall; // Экспортный номер - 705 //------------------------------------------------------------------------------ // изменить настройки документа // DIMENTION_OPTIONS - param -> структура DimensionsOptions // ARROWFILLING_OPTIONS - param -> int 1- стрелки зачерняют 0- не зачерняют // SHEET_OPTIONS - param -> структура SheetPar настроек новых документов // LENGTHUNITS_OPTIONS - param -> short ST_MIX_MM - мм, ST_MIX_SM - см, ST_MIX_M - метры // --- function SetDocOptions( optionsType: Integer; // тип настройки ( реализовано для настройки размера param : Pointer; //указатель на структуру параметров sizePar : Integer ) : Integer; //размер структуры параметров stdcall; // Экспортный номер - 82 kAPI2D5.dll //------------------------------------------------------------------------------ // заменить системные настройки // * param - указатель на структуру параметров // sizePar - размер структуры параметров // optionsType - тип настройки ( реализовано для привязок ) // Функция возвращает 1 в случае успеха или 0 в случае неудачи // --- function ksSetSysOptions( optionsType : Integer; param : Pointer; sizePar : Integer ) : Integer; stdcall; // Экспортный номер - 83 kAPI2D5.dll //------------------------------------------------------------------------------ // получить системные настройки // * param - указатель на структуру параметров // sizePar - размер структуры параметров // optionsType - тип настройки ( реализовано для привязок ) // Функция возвращает 1 в случае успеха или 0 в случае неудачи // --- function ksGetSysOptions( optionsType : Integer; param : Pointer; sizePar : Integer ) : Integer; stdcall; // Экспортный номер - 112 kAPI2D5.dll //------------------------------------------------------------------------------ // Выполнение команды другой библиотеки // fileName - путь к библиотеке (если задан короткий путь - поиск библиотеки в директории Libs) // --- function ksExecuteLibraryCommand( fileName : PChar; command : Integer ) : Integer; stdcall; //------------------------------------------------------------------------------ // Функция Возвращает : можно ли выполнять библиотеку или нет // 1 - можно выполнять библиотеку 0 - нет // Имя библиотеки либо полное либо относительно директория LIBS // --- function ksIsLibraryEnabled( libName : PChar ) : Integer; stdcall; // имя библиотеки //------------------------------------------------------------------------------ // Получить отклонения // name - поле допуска("H7"); dimValue - значение размера; high, low - отклонения; // inMM = true - dimValue, high, low - в мм, false - в единицах измерения текущего документа // --- function ksGetQualityDefects( name : PChar; dimValue : Double; Var high : Double; Var low : Double; inMM : Bool ) : Integer; stdcall; //------------------------------------------------------------------------------ // Создать итератор по квалитетам // system - 1 - для отверстия, 0 - для вала // withLimitation - 0 - без учёта ограничений, 1 - с учётом ограничений наложенных // в системе // Возвращает ссылку на итератор или 0 если итератор не создан // --- function ksCreateQualityIterator( system : Byte; withLimitation : Byte ) : Reference; stdcall; //------------------------------------------------------------------------------ // Двигаться по квалитетам // ch = 'F' - первый, ch = 'N' - следующий // inMM = 1 - minLimit, maxLimit, high, low - в мм, // 0 - в единицах измерения текущего документа // --- function ksMoveQualityIterator( iterator : Reference; param : PQualityContensParam; inMM : Byte; ch : Byte ) : Integer; stdcall; //------------------------------------------------------------------------------ // Получить отклонения // name - поле допуска // inMM = 1 - minLimit, maxLimit, high, low - в мм, // 0 - в единицах измерения текущего документа // --- function ksGetQualityContensParam( name : PChar; param : QualityContensParam; inMM : Byte ) : Integer; stdcall; //------------------------------------------------------------------------------ // Получить массив полей допусков, которые поддерживают размер dimValue и не превышают // указанных отклонений // names - динамический массив полей допусков // dimValue, high, low - строго в мм // system - 1 - для отверстия, 0 - для вала // withLimitation - 0 - без учёта ограничений, 1 - с учётом ограничений наложенных // в системе // --- function ksGetQualityNames( names : Reference; dimValue : Double; high : Double; low : Double; system : Byte; withLimitation : Byte ) : Integer; stdcall; //------------------------------------------------------------------------------ // Установить текущую библиотеку // Необходимо вызывать для библиотек, которые используют SystemControlStart - выход под управление // системой. // Установить текущесть можно либо по идентификатору модуля Dll библиотеки, // либо по имени библиотеки, которое задают в функции LibraryName(). // Функция возвращает 1, если удалось установить текущесть - признак, что библиотека // может продолжать работу. Если возвращает 0 - текущесть не установлена и работу продолжать нельзя // в это время работает другая библиотека, работу которой нельзя прекратить // --- function ksSetCurrentLibrary( libname : PChar; hModule : LongInt ) : Integer; stdcall; //------------------------------------------------------------------------------ // Конвертировать строку src в dst в соответствии с текущим словарем // --- function ksConvertLangStr( src :PChar; dst : PChar; dstMaxLen:integer ) : Integer; stdcall; // Экспортный номер - 725 //------------------------------------------------------------------------------ // Конвертировать строку с идентификатором strID в dst в соответствии с текущим словарем // --- function ksConvertLangStrEx( hInstance : LongWord; strID : LongWord; dst : PChar; dstMaxLen : Integer ) : Integer; stdcall; //------------------------------------------------------------------------------ // Конвертировать окно с входящтми дочерними окнами в соответствии с текущим словарем // --- function ksConvertLangWindow( hWnd_ : HWND ) : Integer; stdcall; // Экспортный номер - 726 //------------------------------------------------------------------------------ // Конвертировать окно с входящтми дочерними окнами в соответствии с текущим словарем // --- function ksConvertLangWindowEx( hWnd_ : HWND; hInstance : LongWord; dlgID : PChar ) : Integer; stdcall; //------------------------------------------------------------------------------ // Конвертировать меню в соответствии с текущим словарем // --- function ksConvertLangMenu( hMenu_ : HMENU ) : HMENU; stdcall; //------------------------------------------------------------------------------ // Перерисовка части 2D документа ( листа ) // Получает указатель на структуру RectParam и референс вида // в координатах которого определяется rect // Перерисовывает часть вида во всех графических окнах документа // которому принадлежит данный вид // В случае успеха возвращает 1, при неудаче - 0. // --- function ksReDrawDocPart( rect : PRectParam; // Указатель на структуру прямоугольника pView : Reference ) : Integer; stdcall; // референс вида 2D документа( Листа ) //------------------------------------------------------------------------------ // Включить/отключить отмену предыдущих операций. // enable = false - отключить (Устанавливает "количество шагов назад" равным нулю) // enable = true - включить (Восстанавливает старое значение "количества шагов назад", // изменненое вызовом этой функции с параметром enable = false. Если функция ранее // не вызывалась - ничего изменятся не будет) // --- procedure ksEnableUndo( enable : Byte ); stdcall; //------------------------------------------------------------------------------ // Получить точку привязки текста // pText - указатель на объект "текст" // возврашаемое значение : тип точки привязки TextAlign, или -1 в случае неудачи // --- function ksGetTextAlign( pText : reference ) : Integer; stdcall; // Экспортный номер - 282 apptool1.dll //------------------------------------------------------------------------------ // Установить точку привязки текста // pText - указатель на объект "текст" // align - тип точки привязки TextAlign // возврашаемое значение : 0 - в случае неудачи // --- function ksSetTextAlign( pText : reference; align : Word ) : Integer; stdcall; // Экспортный номер - 282 //------------------------------------------------------------------------------ // Интерфейс результатов редактирования объекта // pDoc - Указатель на 2D документ // возврашаемое значение : указатель на интерфейс IObject2DNotifyResult // --- function ksGetObject2DNotifyResult( pDoc : Reference ) : PIObject2DNotifyResult; stdcall; // Экспортный номер - 734 //------------------------------------------------------------------------------- // Получить тип отрисовки визуальной части // --- function ksGetLookStyle : Integer; stdcall; // Экспортный номер - 735 //------------------------------------------------------------------------------- // Установить тип отрисовки визуальной части // --- function ksSetLookStyle(style : Integer) : Integer; stdcall; // Экспортный номер - 743 //----------------------------------------------------------------------------- // [26.5.04] // Получить указатель внешнего интерфейса. // --- function ksGetExternalInterface() : PIDispatch; stdcall; // Экспортный номер - 749 // [09/8/2004] //------------------------------------------------------------------------------- // рассчитать масштаб для вставки растра в прямоугольник заданных габаритов // возвращает значение массштаба или 0, в случае неудачи // // fileName - полный путь к файлу // w - ширина габаритного прямоугольника // h - высота габаритного прямоугольника // --- function ksCalcRasterScale( const fileName : PChar; w, h : Double ) : Double; stdcall; // Экспортный номер - 751 // [24/8/2004] //------------------------------------------------------------------------------- // Получить интерфейс параметров параметризации объектов // --- function ksGetParametrizationParam : PIParametrizationParam; stdcall; // Экспортный номер - 740 // [24/8/2004] //----------------------------------------------------------------------------- // Параметризовать объекты // Если group = 0, параметризуется группа селектирования. // Допуск на совпадение точек должен лежать в диапазоне [0..10] мм // Угловой допуск должен лежать в диапазоне [0..10] мм // Функция возвращает 1 в случае успеха и 0 в случае неудачи //--- function ksParametrizeObjects( group : Reference; // Указатель группы param : PIParametrizationParam ) // Параметры параметризации : Integer; stdcall; //////////////////////////////////////////////////////////////////////////////// // // Раздел "Графический диалог". LT_GRDLG LT_GrDlg.h // //////////////////////////////////////////////////////////////////////////////// // Экспортный номер - 5 //----------------------------------------------------------------------------- // Выводится сообщение, соответствующее результату работы библиотеки. //----------------------------------------------------------------------------- procedure MessageBoxResult; stdcall; // Экспортный номер - 180 kAPI2D5.dll //----------------------------------------------------------------------------- // Выдать диалог и выбрать имя файла для чтения (по расширению). // Функция возвращает требуемую длину буфера. // Если bufSize меньше требуемой длины - name не заполняется. // В этом случае name можно получить функцией GetRightFileName. //----------------------------------------------------------------------------- function ksChoiceFile( ext : PChar; // расширение имени файла filter : PChar; // фильтр поиска (0 - формируется автоматически) name : PChar; // буфер для имени файла bufSize : Cardinal; // размер отведенного буфера name preview : Byte ):Cardinal; stdcall; // 1-с подключением окна предварительного просмотра, 0-без // Экспортный номер - 213 kAPI2D5.dll 14.7.98 //----------------------------------------------------------------------------- // Выдать диалог и выбрать имя файла для чтения (по расширению). // Функция возвращает требуемую длину буфера. // Параметром typeDir назначается стартовая директория (типы определены в ltdefine.h) // typeDir = sptSYSTEM_FILES 0 - открывается каталог системных файлов // sptLIBS_FILES 1 - открывается каталог файлов библиотек // иначе открывается текущий каталог // Если bufSize меньше требуемой длины - name не заполняется. // В этом случае name можно получить функцией GetRightFileName. //----------------------------------------------------------------------------- function ksChoiceFileAppointedDir( ext : PChar; // расширение имени файла filter : PChar; // фильтр поиска (0 - формируется автоматически) name : PChar; // буфер для имени файла bufSize : Cardinal; // размер отведенного буфера name preview : Byte; // 1-с подключением окна предварительного просмотра, 0-без typeDir : Integer ): Cardinal; stdcall; // Экспортный номер - 181 kAPI2D5.dll //----------------------------------------------------------------------------- // Выдать диалог и выбрать группу файлов для чтения. //----------------------------------------------------------------------------- function ksChoiceFiles( ext : PChar; // расширение имени файла filtr : PChar; // фильтр поиска (0 - формируется автоматически) p : Reference; // массив неопределенной длины на строки CHAR_STR_ARR preview : Byte ) : Integer; stdcall;// 1-с подключением окна предварительного просмотра, 0-без // Экспортный номер - 182 kAPI2D5.dll //----------------------------------------------------------------------------- // Выдать диалог и выбрать имя файла для записи. // Функция возвращает требуемую длину буфера. // Если bufSize меньше требуемой длины - name не заполняется. // В этом случае name можно получить функцией GetRightFileName. //----------------------------------------------------------------------------- function ksSaveFile( ext : PChar; // расширение имени файла oldName : PChar; // имя файла по умолчанию filter : PChar; // фильтр поиска (0 - формируется автоматически) name : PChar; // буфер для имени файла bufSize : Cardinal; // размер отведенного буфера name preview : Byte ) : Cardinal; stdcall; // 1-с подключением окна предварительного просмотра, 0-без // Экспортный номер - 245 kAPI2D5.dll //------------------------------------------------------------------------------ // иницилизировать адрес пользовательской функции просмотра пользовательского файла // --- function ksInitFilePreviewFunc( func : TFilePreviewFuncCallBack ) : integer ; stdcall; // Экспортный номер - 9 kAPI2D5.dll //----------------------------------------------------------------------------- // Выдать сообщение. //----------------------------------------------------------------------------- procedure ksMessage( s : PChar ); stdcall;// s - строка сообщения // Экспортный номер - 10 kAPI2D5.dll //----------------------------------------------------------------------------- // Выдать сообщение об ошибке. //----------------------------------------------------------------------------- procedure Error( Msg : PChar ); stdcall; // строка сообщения об ошибке // Экспортный номер - 11 kAPI2D5.dll //----------------------------------------------------------------------------- // Выдать диалог для запроса подтверждения на выполнение какого-то действия. // Возвращается 1 - Yes; 0 - No; -1 - CANCEL; //----------------------------------------------------------------------------- function YesNo( s : PChar ) : Integer; stdcall; // s - строка сообщения // Экспортный номер - 12 kAPI2D5.dll //----------------------------------------------------------------------------- // Отрисовать BMP с идентификатором bmpID в заданном окне(HWindow). // Возвращается 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function DrawBitmap( HWindow : HWND; // HWND окна bmpID : Cardinal ) : Integer; stdcall; // идентификатор BMP в файле ресурсов приложения // Экспортный номер - 748 //----------------------------------------------------------------------------- // [21.7.04] // Отрисовать BMP расширенная функция //----------------------------------------------------------------------------- function DrawBitmapEx( HWindow : HWND; // HWND окна bmpID : Cardinal; // номер слайда в файле ресурсов приложения hInstance : Integer ) : Integer; stdcall; // NULL - отрисовка в текущей библиотеке, hInstance - в подключаемой // Экспортный номер - 2 kAPI2D5.dll //----------------------------------------------------------------------------- // Отрисовать слайд с идентификатором sldID в заданном окне(HWindow). // Слайд описывается в ресурсном файле библиотеки при помощи объекта RCDATA. // Возвращается 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function DrawSlide( HWindow : HWND; // HWND окна sldID : Cardinal ) : Integer; stdcall;// идентификатор слайда в файле ресурсов приложения // Экспортный номер - 59 kAPI2D5.dll //----------------------------------------------------------------------------- // отрисовать слайд из текстового файла, содержащего блок RCDATA, в заданном // окне(HWindow). // Возвращается 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function ksDrawSlideFromFile( HWindow : HWND; // HWND окна fileName : PChar ) : Integer; stdcall;// идентификатор BMP в файле ресурсов приложения // Экспортный номер - 153 apptool2.dll //------------------------------------------------------------------------- // отрисовать слайд расширенная функция //------------------------------------------------------------------------- function ksDrawSlideEx( HWindow : HWND; //идентификатор окна SlideID : Cardinal; //номер слайда в файле ресурсов приложения hInstance : Integer ): Integer; //NULL - отрисовка в текущей библиотеке, hInstance - в подключаемой stdcall; // Экспортный номер - 3 kAPI2D5.dll //----------------------------------------------------------------------------- // Записать группу селектирования в формате слайда в текстовый файл с именем // fileName. Документ должен быть открыт с отображением на экране. // Возвращается 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function WriteSlide( filename : PChar; // имя файла для записи iD : Cardinal; // идентификатор слайда x : Double; // точка привязки слайда на чертеже y : Double ) : Integer; stdcall; // Экспортный номер - 43 kAPI2D5.dll //----------------------------------------------------------------------------- // Назначить цвет фона по умолчанию для отрисовки слайда. //----------------------------------------------------------------------------- procedure ksSlideBackground( color : COLORREF ); stdcall; // Экспортный номер - 13 kAPI2D5.dll //----------------------------------------------------------------------------- // Запросить ввод вещественного числа с контролем попадания значения в // заданный интервал. //----------------------------------------------------------------------------- function ReadDouble( mess : PChar; // строка приглашения defValue : Double; // значение по умолчанию min : Double; // интервал, в котором должно находиться значение max : Double; Var value : Double ) : Integer; stdcall; // возвращаемое значение // Экспортный номер - 14 kAPI2D5.dll //----------------------------------------------------------------------------- // Запросить ввод целого числа с контролем попадания значения в заданный интервал. //----------------------------------------------------------------------------- function ReadInt( mess : PChar; // строка приглашения defValue : Integer; // значение по умолчанию min : Integer; // интервал, в котором должно находиться значение max : Integer; Var value : Integer ) : Integer; stdcall; // возвращаемое значение // Экспортный номер - 15 kAPI2D5.dll //----------------------------------------------------------------------------- // Ввод строки заданной длины. //----------------------------------------------------------------------------- function ReadString( smess : PChar; // строка приглашения str : PChar; // возвращаемая строка maxlen : Integer ) : Integer; stdcall; // допустимая длина строки // Экспортный номер - 16 kAPI2D5.dll //----------------------------------------------------------------------------- // Запросить ввод длинного целого числа с контролем попадания значения в // заданный интервал. //----------------------------------------------------------------------------- function ReadLong( mess : PChar; // строка приглашения defValue : LongInt; // значение по умолчанию min : LongInt; // интервал, в котором должно находиться значение max : LongInt; Var value : LongInt ) : Integer; stdcall; // возвращаемое значение // Экспортный номер - 231 kAPI2D5.dll //-------------------------------------------------------------------------- // Выбрать из диалога плотность. Плотность выбирается из системного файла // плотностей graphic.dsn. // Функция возвращает плотность в г/см3 или 0 в случае неудачи //-------------------------------------------------------------------------- function ksViewGetDensity( HWindow : HWND ) : Double; // HWND окна родителя или NULL stdcall; //------------------------------------------------------------------------------ // Вывод диалога для задания формата листа. // docPar - параметры чертежа. // --- function ksSheetSetupDlg( docPar : PDocumentParam; HWindow : Pointer ) : Integer; stdcall; //------------------------------------------------------------------------------ // Проверка на получение и получение материала и его плотности из справочника материалов //-1 справочник материалов не подключился //0 выход из диалога справочника материалов по отмене //1 удачное завершение //Если все параметры NULL, то возвращает -1 если справочник не подключен и 1 - если подключен // --- // material - строку буфер в которую будет помещео обозначение выбранного материала // sizeStr - размер строки material // plt - плотность выбранного материала // kod_size - четыре элемента // kod_size[0] - код вида типоразмера. Сейчас определены: 1-толщина, 2-диаметр, 0-вид не определен. // kod_size[1] - значение размера вида толщина, диаметр, диаметр вписанной окружности, значение а типоразмеров вида ахв или ахвхс // kod_size[2] - значение в типоразмеров вида ахв или ахвхс // kod_size[3] - значение с типоразмеров вида ахвхс // kod_tip - строка кодов типов сортаментов для отображения (через запятую), // '0' - отображается все. // Коды типов сортаментов // ----------------+-----------------+------------+---------------+-------------------+------------------------- // Черные металлы | Цветные металлы | Пластмассы | Резины и кожи | Стекло и минералы | Материалы разные // ----------------+-----------------+------------+---------------+-------------------+------------------------- // 1- Фасонный | 8 - Прутки | 17- Пленки | 24- Листы | 27- Листы | 30- Пиломатериалы // 2- Листовой | 9 - Трубы | 18- Трубы | 25- Трубки | 28- Трубки | 31- Бумаги // 3- Ленты | 10 - Проволока | 19- Плиты | 26- Прутки | 29- Прутки | 32- Стройматериалы // 4- Проволока | 11 - Листы | 20- Ленты | | | 33- Текстиль // 5- Профильн. | 12 - Плиты | 21- Листы | | | // 6- Трубы | 13 - Ленты | 22- Трубки | | | // 7- Сетки | 14 - Фольги | 23- Прутки | | | // | 15 - Профили | | | | // | 16 - Сетки | | | | // ----------------+-----------------+------------+---------------+-------------------+------------------------- function ksMaterialDlg( HWindow : Pointer; material : PChar; sizeStr : Integer; Var plt : Double; Var kod_sizeLib : Double4; kod_tip : PChar ) : Integer; stdcall; //------------------------------------------------------------------------------ // Получение предопределенного текста из файла *.pdt // Функция возвращает 1 в случае удачного завершения // --- function ksExecDialPredefinedText( HWindow : Pointer; str : PChar; sizeStr : Integer ) : Integer; stdcall; // Экспортный номер - 286 apptool1.dll //------------------------------------------------------------------------------ // вызвать диалог по дормированию текста // --- function ksEditTextLine( HWindow : HWND; str : PChar; sizeStr : Integer ) : Integer; stdcall; /////////////////////////////////////////////////////////////////////////////// // Раздел "Работа с моделью чертежа". LT_Edit.h /////////////////////////////////////////////////////////////////////////////// // Экспортный номер - 23 kAPI2D5.dll //----------------------------------------------------------------------------- // Сохранить в макроэлемент с указателем ref параметры редактирования: // имя файла библиотеки, имя библиотеки и номер функции, предназначенной // для редактирования данного макроэлемента. // Можно сохранить в макроэлементе дополнительные параметры, распределив блок // памяти userPars и заполнив его нужными значениями (допустимы все типы данных, // кроме указателей). // Параметр size - размер буфера userPars. // При значениях параметров fileName=0, libName=0, number=-1 в макроэлементе // сохраняется в качестве редактирующей та функция, которая вызвала SetMacroParam. // Возвращается 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function SetMacroParam( ref : reference; // указатель на макроэлемент userPars : Pointer; // указатель на буфер дополнительных параметров size : Cardinal; // размер буфера дополнительных параметров fileName : PChar; // имя файла библиотеки, в которой находтся функция редактирования libName : PChar; // имя библиотеки, в которой находтся функция редактирования number : Integer ) : Integer; // номер функции редактирования stdcall; // Экспортный номер - 23 kAPI2D5.dll //-------------------------------------------------------------------------- // Функция устанавливает параметры редактирования макроэлемента // имя файла библиотеки, имя библиотеки, номер функции в библиотеке, // которая отвечает за редактирование макроэлемента // value - память длиной size, в которой записаны значения параметров // макроэлемента все кроме указателей // возвращает 1- успех 0- не успех // paramType - битовый флаг, указание какой тип редактирования поддерживает макро // #define MP_DBL_CLICK_OFF 0x01 //>0 редактирование по двойному нажанию выключено // #define MP_HOTPOINTS 0x02 //>0 интерфейс hot точек включен // #define MP_EXTERN_EDIT 0x04 //>0 интерфейс внешнего управления //-------------------------------------------------------------------------- function ksSetMacroParam( ref : Reference; // указатель на макроэлемент userPars : Pointer; // указатель на буфер дополнительных параметров size : Cardinal; // размер буфера дополнительных параметров fileName : PChar; // имя файла библиотеки, в которой находтся функция редактирования libName : PChar; // имя библиотеки, в которой находтся функция редактирования number : Integer; //тип редактирования, которое поддерживает макро paramType : Byte ) : Integer; // номер функции редактирования stdcall; // Экспортный номер - 22 kAPI2D5.dll //----------------------------------------------------------------------------- // Выдать запомненные ранее (функцией SetMacroParam) дополнительные параметры // редактирования для макроэлемента c указателем ref. // При ref=0 выдаются параметры макроэлемента, редактирование которого производится // в данный момент (если таковой имеется). // Должен быть распределен участок памяти userPars размером size, совпадающим // с аналогичным параметром функции SetMacroParam. // Возвращается 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function GetMacroParam( ref : Reference; // указатель на макроэлемент userPars : Pointer; // указатель на буфер дополнительных параметров size : Cardinal) : Integer; // размер буфера дополнительных параметров stdcall; // Экспортный номер - 262 kAPI2D5.dll //------------------------------------------------------------------------------ // Получить для макроэлемента c указателем ref параметры редактирования: // имя файла библиотеки, имя библиотеки и номер функции, предназначенной // для редактирования данного макроэлемента. // При ref=0 выдаются параметры для макроэлемента, редактирование которого // производится в данный момент (если таковой имеется). // При значении NULL параметров fileName, libName, number или если значение // fileNameSize, libNameSize меньше требуемой длины - параметр не заполняется. // Возвращается 1 в случае успеха, 0 в случае неудачи. // --- function ksGetMacroEditParam( ref : Reference; // указатель на макроэлемент fileName : PChar; // указатель на буфер имени файла библиотеки fileNameSize : Cardinal; // размер буферa имени файла библиотеки libName : PChar; // указатель на буфер имени библиотеки libNameSize : Cardinal; // размер буферa имени библиотеки number : PINT ) : Integer; // указатель на буфер номерa функции редактирования stdcall; // Экспортный номер - 250 kAPI2D5.dll //------------------------------------------------------------------------------ // Получить размер памати параметров макроэлемента // При ref=0 выдаются параметры макроэлемента, редактирование которого производится // в данный момент (если таковой имеется). // --- function GetMacroParamSize( ref : Reference ) : Integer; stdcall; // Экспортный номер - 24 kAPI2D5.dll //----------------------------------------------------------------------------- // Производится ли в данный момент редактирование какого-то макроэлемента? // Возвращает: 1 - да, 0 - нет. //----------------------------------------------------------------------------- function EditMacroMode : Integer; stdcall; // Экспортный номер - 197 kAPI2D5.dll //--------------------------------------------------------------------------- // Добавить объект, слой, вид или группу объектов в макрообъект. // ( слой и вид будут добавлены россыпью ) // Добавляемые объекты и макрообъект должны принадлежать текущему документу и одному виду. // Добавляемые объекты перестают быть самостоятельными // Функция возвращает 1 в случае успеха, 0 - в случае неудачи. //--------------------------------------------------------------------------- function ksAddObjectToMacro( macro : Reference; //указатель на макрообъект obj : Reference ) : Integer; //указатель на добавляемый объект stdcall; // Экспортный номер - 275 //------------------------------------------------------------------------------ // очистить макрообъект с референсом macro ( удалить всю геометрию ), // и если прислана группа gr, то добавить ее в макро // Функция возвращает 1 в случае успеха, 0 - в случае неудачи. // --- function ksUpdateMacro( macro : Reference; gr : Reference ) : Integer; stdcall; // Экспортный номер - 25 kAPI2D5.dll //----------------------------------------------------------------------------- // Удалить из модели объект с указателем ref (объект вида, вид, группу, слой). // Возвращает 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function DeleteObj( ref : Reference) : Integer; stdcall; // Экспортный номер - 26 kAPI2D5.dll //----------------------------------------------------------------------------- // Сдвинуть объект с указателем ref (объект вида, вид, группу, слой). // Вектор сдвига dx,dy - геометрический для текущего вида. // Возвращает 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function MoveObj( ref : Reference; // указатель на объект dx,dy : Double ) : Integer; // вектор сдвига stdcall; // Экспортный номер - 27 kAPI2D5.dll //----------------------------------------------------------------------------- // Повернуть объект с указателем ref (объект вида, вид, группу, слой) // вокруг точки с координатами x,y (геометрические для текущего вида). // Возвращает 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function RotateObj( ref : reference; // указатель на объект x, y : Double; // центр поворота angle : Double ) : Integer; // угол поворота в градусах stdcall; // Экспортный номер - 28 kAPI2D5.dll //----------------------------------------------------------------------------- // Преобразовать объект с указателем ref (объект вида, вид, группу, слой) // по установленной матрице трансформации (см. функции Mtr и DeleteMtr ). // Возвращает 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function TransformObj( ref : Reference ) : Integer; stdcall; // Экспортный номер - 29 kAPI2D5.dll //----------------------------------------------------------------------------- // Включить (light=1) или выключить (light=0) подсветку для объекта // с указателем ref (объект вида, вид, группа, слой). // Возвращает 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function LightObj( ref : Reference ; // указатель на объект light : Byte ) : Integer; // режим подсветки stdcall; // Экспортный номер - 156 kAPI2D5.dll //----------------------------------------------------------------------------- // Симметрично отобразить (copy=0) объект с указателем ref (объект вида, вид, // группу, слой) относительно оси или создать симметричную копию объекта (copy=1). // Ось задается в геометрических координатах текущего вида. // Возвращает 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function SymmetryObj( ref : Reference; // указатель на объект x1, y1 : Double; // первая точка оси x2, y2 : Double; // вторая точка оси copy : Byte ): Integer; // режим копирования stdcall; // Экспортный номер - 217 kAPI2D5.dll //-------------------------------------------------------------------------- // Симметрично отобразить (copy=0) объект с указателем ref (объект вида, вид, // группу, слой) относительно оси или создать симметричную копию объекта (copy=1). // Ось задается в геометрических координатах текущего вида. // возвращает указатель на объект или группу объектов в случае успеха, // 0 в случае неудачи. //-------------------------------------------------------------------------- function ksSymmetryObj( ref : Reference; // указатель на объект x1, y1 : Double; // первая точка оси x2, y2 : Double; // вторая точка оси copy : Byte ) : Reference; // режим копирования stdcall; // Экспортный номер - 157 kAPI2D5.dll //----------------------------------------------------------------------------- // Копировать объект с указателем ref (объект вида, вид, группу, слой) в новую // точку с возможностью задания для копии масштабирования и поворота вокруг // базовой точки. // Точки задаются в геометрических координатах текущего вида. // Возвращает 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function CopyObj( ref : Reference; // указатель на объект xOld, yOld : Double; // базовая точка объекта xNew, yNew : Double; // в какую точку копировать scale : Double; // масштаб и угол поворота в градусах angle : Double ) : Integer; stdcall; // Экспортный номер - 216 kAPI2D5.dll //-------------------------------------------------------------------------- // Копировать объект с указателем ref (объект вида, вид, группу, слой) в новую // точку с возможностью задания для копии масштабирования и поворота вокруг // базовой точки. // Возвращает указатель на объект или группу объектов в случае успеха, 0 // в случае неудачи. // Точки задаются в геометрических координатах текущего вида. //-------------------------------------------------------------------------- function ksCopyObj( ref : Reference; // указатель на объект xOld, yOld : Double; // базовая точка объекта xNew, yNew : Double; // в какую точку копировать scale : Double; // масштаб и угол поворота в градусах angle : Double ) : Reference; stdcall; // Экспортный номер - 54 kAPI2D5.dll //----------------------------------------------------------------------------- // Создать объект заданного типа, используя визуальный процесс создания объекта. // Так как сиcтема может работать только с одним процессом, то нужно завершить // другие процессные функции: Cursor, Placement, CommandWindow, ksEditViewObject. // Возвращает указатель на созданный объект или 0. // type выбирать из интервала [LINESEG_OBJ ...CENTREMARKER_OBJ] (ltdefine.h) //----------------------------------------------------------------------------- function ksCreateViewObject( _type : Word ) : Reference; stdcall; // Экспортный номер - 55 kAPI2D5.dll //----------------------------------------------------------------------------- // Запустить визуальный процесс редактирования объекта с указателем ref. // Так как сиcтема может работать только с одним процессом, то нужно завершить // другие процессные функции: Cursor, Placement, CommandWindow, ksCreateViewObject. // Возвращает 1 - объект отредактирован, 0 - нет. //----------------------------------------------------------------------------- function ksEditViewObject( ref : Reference ) : Integer; stdcall; // Экспортный номер - 4 kAPI2D5.dll //----------------------------------------------------------------------------- // Заменить параметры объекта с указателем ref. // parType в интервале [ALLPARAM ... DIM_VALUE] см. ltdefine.h // Возвращает 1 в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function SetObjParam( ref : Reference; // указатель на объект param : Pointer; // указатель на структуру параметров parSize : Integer; // размер структуры параметров parType : Integer ) : Integer; // какую составную часть параметров заменить stdcall; // Экспортный номер - 5 kAPI2D5.dll //----------------------------------------------------------------------------- // Выдать параметры объекта с указателем ref. // parType в интервале [ALLPARAM ... DIM_VALUE] см. ltdefine.h // Возвращает тип объекта [LINESEG_OBJ ...CENTREMARKER_OBJ] (ltdefine.h) в случае успеха, // 0 в случае неудачи. //----------------------------------------------------------------------------- function GetObjParam( ref : Reference; // указатель на объект param : Pointer; // указатель на структуру параметров parSize : Integer; // размер структуры параметров parType : Integer ) : Integer; // какую составную часть параметров заменить stdcall; // Экспортный номер - 25 //----------------------------------------------------------------------------- // Получить параметры стиля с идентификатором styleId. // Для стиля кривой: type=CURVE_STYLE , param - указатель на структуру CurveStyleParam. // Для стиля кривой: type=CURVE_STYLE_EX, param - указатель на структуру CurveStyleParam. // Для стиля текста: type=TEXT_STYLE , param - указатель на структуру TextStyleParam. // Для стиля штриховки: type=HATCH_STYLE , param - указатель на структуру HatchStyleParam. // Функция возвращает 1 в случае успеха; 0 - стиль не найден, в этом случае // структура param будет заполнена параметрами стиля по умолчанию. //----------------------------------------------------------------------------- function GetStyleParam( _type : Byte; // тип стиля styleId : Word; // идентификатор стиля param : Pointer; // указатель на структуру параметров стиля size : Cardinal ) : Integer; // размер структуры параметров stdcall; // Экспортный номер - 26 kAPI2D5.dll //----------------------------------------------------------------------------- // Добавить в документ новый стиль кривой (type=CURVE_STYLE) или текста (type=TEXT_STYLE). // В случае copy = 0 - создать новый стиль: // Для стиля кривой: type=CURVE_STYLE , param - указатель на структуру CurveStyleParam. // Для стиля кривой: type=CURVE_STYLE_EX, param - указатель на структуру CurveStyleParam. // Для стиля текста: type=TEXT_STYLE , param - указатель на структуру TextStyleParam. // Для стиля штриховки: type=HATCH_STYLE , param - указатель на структуру HatchStyleParam. // В случае copy = 1 - копировать стиль из библиотеки: // для стиля кривых и для стиля текста param - указатель на структуру LibStyle. // Функция возвращает идентификатор стиля в случае успеха, 0 в случае неудачи. //----------------------------------------------------------------------------- function AddStyle( _type : Byte; // тип стиля param : Pointer; // указатель на структуру параметров стиля size : Cardinal; // размер структуры параметров copy : Byte ) : Word; // создание нового стиля или копирование stdcall; // Экспортный номер - 106 kAPI2D5.dll //------------------------------------------------------------------------------------- // Проверить, есть ли стиль в текущем документе // В случае copy = 0 - создать новый стиль: // Для стиля кривой: type=CURVE_STYLE , param - указатель на структуру CurveStyleParam. // Для стиля кривой: type=CURVE_STYLE_EX, param - указатель на структуру CurveStyleParam. // Для стиля текста: type=TEXT_STYLE , param - указатель на структуру TextStyleParam. // Для стиля штриховки: type=HATCH_STYLE , param - указатель на структуру HatchStyleParam. // В случае copy = 1 - копировать стиль из библиотеки: // для стиля кривых и для стиля текста param - указатель на структуру LibStyle. // Функция возвращает 1, если стиль в документе есть, 0 - если нет //------------------------------------------------------------------------------------- function ksIsStyleInDocument( _type : Byte; // тип стиля val : Pointer; // указатель на структуру параметров стиля size : Cardinal; // размер структуры параметров copy : Byte ) : Integer; stdcall; // 0 - создать вручную 1- создать из библиотеки // Экспортный номер - 107 kAPI2D5.dll //------------------------------------------------------------------------------------- // Удалить стиль в текущем документе // Для стиля кривой: type=CURVE_STYLE , param - указатель на структуру CurveStyleParam. // Для стиля кривой: type=CURVE_STYLE_EX, param - указатель на структуру CurveStyleParam. // Для стиля текста: type=TEXT_STYLE , param - указатель на структуру TextStyleParam. // Для стиля штриховки: type=HATCH_STYLE , param - указатель на структуру HatchStyleParam. // В случае copy = 1 - копировать стиль из библиотеки: // для стиля кривых и для стиля текста param - указатель на структуру LibStyle. // Функция возвращает 1, если стиль в документе удален, 0 - если нет //------------------------------------------------------------------------------------- function ksDeleteStyleFromDocument( _type : Byte; // тип стиля val : Pointer; // указатель на структуру параметров стиля size : Cardinal; // размер структуры параметров flag : Byte ) : Integer; // 0 - создать вручную 1- создать из библиотеки stdcall; // Экспортный номер - 70 kAPI2D5.dll //------------------------------------------------------------------------------------- // Функция возвращает указатель на динамический массив LIBRARY_STYLE_ARR - // массив стилей заданного типа, находящихся в заданной библиотеке стилей. // В случае неудачи возвращает 0. // libraryType в интервале [CURVE_STYLE_LIBRARY...SPC_LAYOUT_STYLE_LIBRARY] //------------------------------------------------------------------------------------- function ksGetLibraryStylesArray( libraryName : PChar; // полное имя библиотеки стилей libraryType : Byte ) : Reference; // тип библиотеки стиля stdcall; // Экспортный номер - 30 kAPI2D5.dll //----------------------------------------------------------------------------- // Проверить, существует ли объект с указателем ref. // Функция возвращает 1 - объект существует, 0 - нет. //----------------------------------------------------------------------------- function ExistObj( ref : Reference) : Integer; stdcall; // Экспортный номер - 31 kAPI2D5.dll //----------------------------------------------------------------------------- // Найти объект, ближайший к заданной точке. // limit - максимально допустимое расстояние до объекта. // Функция возвращает указатель на найденный объект в случае успеха, // 0 в случае неудачи. //----------------------------------------------------------------------------- function FindObj( x,y : Double; // координаты точки limit : Double ) : Reference; // допустимое расстояние stdcall; // Экспортный номер - 154 kAPI2D5.dll //-------------------------------------------------------------------------- // Выдать габаритный прямоугольник объекта. // Габаритнывй прямоугольник возвращается в координатах листа. // Возвращается 1- в случае успеха, 0 в случае неудачи. //-------------------------------------------------------------------------- function GetObjGabaritRect( p : Reference; //указатель на объект par : PRectParam ) : Integer; //размеры габаритного прямоугольника stdcall; // Экспортный номер - 161 kAPI2D5.dll //-------------------------------------------------------------------------- // пересчитать точку из CK текущего вида в CK листа //-------------------------------------------------------------------------- function ViewToSheet( x, y : Double; //геометрическая точка Var outX : Double; //листовая точка Var outY : Double ) : Integer; stdcall; // Экспортный номер - 162 kAPI2D5.dll //-------------------------------------------------------------------------- // пересчитать точку из CK листа в CK текущего вида //-------------------------------------------------------------------------- function SheetToView( x, y : Double; //листовая точка Var outX : Double; //геометрическая точка Var outY : Double ) : Integer; stdcall; // Экспортный номер - 32 kAPI2D5.dll //-------------------------------------------------------------------------- // Создать новую группу. // Возвращается указатель на группу. // В модельной группе лежат объекты, которые уже включены в модель документа. // Во временной группе могут лежать временные и модельные объекты. // Если для временной группы не будет вызвана функция StoreTmpGroup, // временные объекты группы будут уничтожены по окончании работы библиотеки. //-------------------------------------------------------------------------- function NewGroup( _tmp : Byte ) : Reference; //тип групы 0 - модельная 1 - временная группа stdcall; // Экспортный номер - 33 kAPI2D5.dll //-------------------------------------------------------------------------- // Конец группы. // Объекты вида, виды, слои, если они вводились между // операторами NewGroup и EndGroup попадают в группу. // Если группа временная, объекты считаются временными. //-------------------------------------------------------------------------- procedure EndGroup; stdcall; // Экспортный номер - 34 kAPI2D5.dll //-------------------------------------------------------------------------- // Очистить группу g. // Если элементы временные - удаляются. Если g = 0, очищается группа селектирования. //-------------------------------------------------------------------------- function ClearGroup( g : Reference ) :Integer; //указатель на группу stdcall; // Экспортный номер - 263 kAPI2D5.dll //-------------------------------------------------------------------------- // Очистить группу g. Если g = 0, очищается группа селектирования. // deleteTmp = 1 -> временные элементы удаляются. //-------------------------------------------------------------------------- function ksClearGroup( g : Reference; deleteTmp : Byte ) : Integer; stdcall; // Экспортный номер - 35 kAPI2D5.dll //-------------------------------------------------------------------------- // Исключить объект p из группы g. // Если объект временный - удаляется. Если g = 0, группа селектирования //-------------------------------------------------------------------------- function ExcludeObjGroup( g : Reference; //указатель группы p : Reference ) : Integer; //указатель на исключаемый объект stdcall; // Экспортный номер - 36 kAPI2D5.dll //-------------------------------------------------------------------------- // Добавить объект p в группу g. Если g = 0, группа селектирования //-------------------------------------------------------------------------- function AddObjGroup( g : Reference; //указатель группы p : Reference ) : Integer; //указатель на добавляемый объект stdcall; // Экспортный номер - 37 kAPI2D5.dll //-------------------------------------------------------------------------- // Поставить временную группу g в модель (группа рассыпается). //-------------------------------------------------------------------------- function StoreTmpGroup( g : Reference ) : integer; //указатель группы stdcall; // Экспортный номер - 38 //-------------------------------------------------------------------------- // Сохранить группу g с именем. Если g = 0, группа селектирования. //-------------------------------------------------------------------------- function SaveGroup( g : Reference; //указатель группы name : PChar ) : integer; //имя сохраняемой группы stdcall; // Экспортный номер - 39 kAPI2D5.dll //-------------------------------------------------------------------------- // Найти группу по имени. Возвращается указатель на группу. //-------------------------------------------------------------------------- function GetGroup( name : PChar ) : Reference; //имя группы stdcall; // Экспортный номер - 40 kAPI2D5.dll //-------------------------------------------------------------------------- // Селектировать объекты в группу g. // selectMode=1 - полностью внутри; // selectMode=2 - снаружи; // selectMode=3 - секущее окно; // Координаты - геометрические в СК текущего вида. //-------------------------------------------------------------------------- function SelectGroup( g : Reference; //указатель группы selectMode : Byte; //тип селектирования xmin, ymin : Double; // вершина прямоугольника-ловушки xmax, ymax : Double ) : Integer; // вершина прямоугольника-ловушки stdcall; // Экспортный номер - 41 kAPI2D5.dll //--------------------------------------------------------------------------- // Определить есть ли в группе с указателем g объекты. // 1- объекты есть 0- нет. Если g = 0, группа селектирования //--------------------------------------------------------------------------- function ExistGroupObj( g : Reference ) : Integer; stdcall; // Экспортный номер - 239 kAPI2D5.dll //------------------------------------------------------------------------------ // Положить группу в clip с удалением или копированием геометрии из документа источника // возвращает 1 в случае успеха или 0 в случае неудачи // --- function ksWriteGroupToClip( g : Reference; // указатель на группу copy : Byte ) : Integer; // 1 - с копированием; 0 - с удалением из текущего документа stdcall; // Экспортный номер - 240 kAPI2D5.dll //------------------------------------------------------------------------------ // Прочитать геометрию из clip и положить ее во временную группу. // Геометрия должна принадлежать одному виду. Параметризация при чтении из clip теряется, // атрибуты сохраняются. // возвращает указатель на группу в случае успеха или 0 в случае неудачи // --- function ksReadGroupFromClip : Reference; stdcall; // Экспортный номер - 249 kAPI2D5.dll ////////////////////////////////////////////////////////////////////////// // Получить имя группы по указателю на группу // Функция возвращает 0 - ошибка указания группы // 1 - именная группа ( имя есть ) // 2 - рабочая группа ( имени нет ) // -1 - именная группа ( размер size меньше требуемой длины имени группы, имя не передается ) //--- function ksGetGroupName( gr : Reference; // указатель на группу name : PChar; size : Integer ) : Integer; // указатель строки для имени группы и размер строки stdcall; // Экспортный номер - 285 apptold.dll //------------------------------------------------------------------------------ // Разрушить присланные не только составные объекты ( макроэлементы, вставки фрагментов, // эквидистанты, прямоугольники, контуры ) но и виды (если у них есть // связь с 3Д-моделью) // Пока работает в визуальном режиме // Возвращает 1 в случае успеха и 0 в случае неудачи // --- function ksDestroyObjects( p : reference ) : Integer; //указатель на объект, вид, слой или группу stdcall; // Экспортный номер - 59 kAPI2D5.dll //--------------------------------------------------------------------------- // Ввод матрицы трансформации. // Допускается вложение матриц трансформации. В результате будет // действовать суммарная матрица, полученная произведением накопленных матриц. // Объкты вида, вводимые между операторами Mtr и DeleteMtr1, подвергаются // преобразованию по суммарной матрице. //--------------------------------------------------------------------------- function Mtr( x, y, //начало локальной системы координат angle, //угол наклона системы координат в гр. scale : Double ) : Integer; //масштаб локальной системы координат stdcall; // Экспортный номер - 248 kAPI2D5.dll //--------------------------------------------------------------------------- // Ввод матрицы трансформации. // Допускается вложение матриц трансформации. В результате будет // действовать суммарная матрица, полученная произведением накопленных матриц. // Объкты вида, вводимые между операторами ksMtr и DeleteMtr, подвергаются // преобразованию по суммарной матрице. //--------------------------------------------------------------------------- function ksMtr( x, y, // начало локальной системы координат angle, // угол наклона системы координат в гр. scaleX, // масштаб локальной системы координат по оси Х scaleY : Double ) : Integer; // масштаб локальной системы координат по оси Y stdcall; // Экспортный номер - 160 kAPI2D5.dll //--------------------------------------------------------------------------- // Ввод матрицы трансформации по матрице поворота rotateMtr и // вектору сдвига moveArr // Объкты вида, вводимые между операторами MtrForIGES и DeleteMtr, подвергаются // трансформации по суммарной матрице. //--------------------------------------------------------------------------- function MtrForIGES( rotateMtr : Double2_2; moveArr : Double2 ) : Integer; stdcall; // Экспортный номер - 60 kAPI2D5.dll //--------------------------------------------------------------------------- // Выключение матрицы трансформации. //--------------------------------------------------------------------------- function DeleteMtr : Integer; stdcall; // Экспортный номер - 100 kAPI2D5.dll //---------------------------------------------------------------------- // Cоздать итератор для хождения по модели. // Для хождения по документам, видам, группам, слоям - parent не нужен(0). //---------------------------------------------------------------------- function CreateIterator( tipSeartch : Integer; //тип поиска объекта parent : Reference ) : Reference; //указатель на объект(для движения по группе, внутри макро, по слою) stdcall; // Экспортный номер - 101 kAPI2D5.dll //---------------------------------------------------------------------- // Двигаться по модели. //---------------------------------------------------------------------- function MoveIterator( iterator : Reference; //указатель на итератор ch : Char ) : reference; //тип движения 'F'/'N' - первый/следующий stdcall; // Экспортный номер - 102 kAPI2D5.dll //---------------------------------------------------------------------- // Создать итератор для хождения по атрибутам. // Если obj = 0, движение по объектам с заданным атрибутом внутри графического документа. // Если obj != 0, то это может быть объект вида, вид, группа, слой, тогда // движение будет происходить по атрибутам объекта. // Если obj != 0, то это может быть документ, тогда // движение будет происходить по атрибутам документа. //---------------------------------------------------------------------- function CreateAttrIterator( obj : Reference; // указатель на объект или 0 key1, key2, key3, key4 : Cardinal; // ключи для поиска по ключам либо 0 numb : Double ) : reference; // номер типа атрибута для поиска по номеру либо 0 stdcall; // Экспортный номер - 103 kAPI2D5.dll //---------------------------------------------------------------------- // Двигаться по атрибутам. Возвращается указатель на атрибут. // Если итератор создан для движения по элементам с определенным атрибутом, // то pObj - указатель на объект с данным атрибутом. // Если pObj = NULL, pObj не заполняется. //---------------------------------------------------------------------- function MoveAttrIterator ( iterator : Reference; // указатель на итератор ch : Char; // тип движения 'F'/'N' var pObj : reference): reference; // указатель на группу stdcall; // Экспортный номер - 104 kAPI2D5.dll //---------------------------------------------------------------------- // Удалить итератор для хождения по модели. //---------------------------------------------------------------------- function DeleteIterator( iterator : Reference ) : Integer; //указатель на итератор stdcall; // Экспортный номер - 86 kAPI2D5.dll //-------------------------------------------------------------------------- // Создать динамический массив по типу. // tip = [CHAR_STR_ARR ...POLYLINE_ARR] см. ltdefine.h //-------------------------------------------------------------------------- function CreateArray( tip : Integer; //тип массива func : PDeleteFunc ): Reference; //адрес функции удаления для USER_ARR stdcall; // Экспортный номер - 87 kAPI2D5.dll //-------------------------------------------------------------------------- // Удалить массив неопределенной длины по указателю. //-------------------------------------------------------------------------- function DeleteArray( p : Reference ) : Integer; // указатель на массив stdcall; // Экспортный номер - 88 kAPI2D5.dll //-------------------------------------------------------------------------- // Очистить массив. //-------------------------------------------------------------------------- function ClearArray( p : Reference ) : Integer; // указатель на массив stdcall; // Экспортный номер - 89 kAPI2D5.dll //-------------------------------------------------------------------------- // По указателю на массив неопределенной длины выдать количество элементов // в массиве. //-------------------------------------------------------------------------- function GetArrayCount( p : Reference ) : Integer; // указатель на массив stdcall; // Экспортный номер - 90 kAPI2D5.dll //-------------------------------------------------------------------------- // Добавить элемент в массив. //-------------------------------------------------------------------------- function AddArrayItem( p : Reference; // указатель на массив numb : Integer; // индекс в массиве перед которым нужно вставить элемент // если numb =-1 ставить в конец массива value : Pointer; // указатель на структуру элемента size : Integer ) : Integer; // размер структуры элемента stdcall; // Экспортный номер - 91 kAPI2D5.dll //-------------------------------------------------------------------------- // Исключить элемент из массива. //-------------------------------------------------------------------------- function ExcludeArrayItem( p : Reference; // указатель на массив numb : Integer ) : Integer; // индекс в массиве ( нумерация начинается с 0 ) stdcall; // Экспортный номер - 92 kAPI2D5.dll //-------------------------------------------------------------------------- // Получить параметры элемента в массиве. //-------------------------------------------------------------------------- function GetArrayItem( p : Longint; // указатель на массив numb : Integer; // индекс в массиве ( нумерация начинается с 0 ) value : Pointer; // указатель на структуру элемента size : Integer ) : Integer; // размер структуры элемента stdcall; // Экспортный номер - 93 kAPI2D5.dll //-------------------------------------------------------------------------- // Получить указатель на элемент в пользовательском массиве. //-------------------------------------------------------------------------- function GetUserArrayItem( p : Reference; // указатель на массив numb : Integer; // индекс в массиве Var value : Pointer ) : Integer; // указатель на указатель элемента массива stdcall; // Экспортный номер - 94 kAPI2D5.dll //-------------------------------------------------------------------------- // Заменить параметры элемента в массиве. //-------------------------------------------------------------------------- function SetArrayItem( p : Reference; // указатель на массив numb : Integer; // индекс в массиве ( нумерация начинается с 0 ) value : Pointer; // указатель на структуру элемента size : Integer ) : Integer; // размер структуры элемента stdcall; // Экспортный номер - 95 kAPI2D5.dll //-------------------------------------------------------------------------- // Возвращается тип массива. //-------------------------------------------------------------------------- function GetArrayType ( p : Reference ) : Integer; // указатель на массив stdcall; // Экспортный номер - 13 kAPI2D5.dll //-------------------------------------------------------------------------- // Разбить объект на составляющие части - отрезки, дуги, тексты. // Возвращается указатель на временную группу компонент сложного объекта. // Спецификация разбивается по листам ( p- указатель на документ СП, // type - номер листа спецификации, начиная с 1 ) // Текущим документом должен быть графический документ. //-------------------------------------------------------------------------- function DecomposeObj( p : Reference; //указатель на объект level : Byte; //уровень разбиения 0- отрезки,дуги,тексты,точки; // 1-отрезки,тексты,точки; 2-отрезки, дуги, тексты arrow : Double; //стрелка прогиба _type : Byte ) : Reference; // 0 - разбиение объекта в СК вида 1- в СК листа stdcall; // Экспортный номер - 57 kAPI2D5.dll //-------------------------------------------------------------------------- // Загрузить массив номеров спецсимволов не подлежащих Decompose // если arr == 0 или count == 0 массив символов очищается //-------------------------------------------------------------------------- function ksLoadNonDecomposSpecSymbols( Var arr : Integer; count : Cardinal ) : Integer; stdcall; // Экспортный номер - 146 kAPI2D5.dll //-------------------------------------------------------------------------- // Возвращает число объектов в виде. // Если p = 0, число объектов в текущем виде или в фрагменте. //-------------------------------------------------------------------------- function GetViewObjCount( p : Reference ) : LongInt; //указатель на вид stdcall; // Экспортный номер - 149 kAPI2D5.dll //-------------------------------------------------------------------------- // Определение фрагмента вставки. // Возвращается указатель на определение фрагмента, для использования // в функции InsertFragment, DeleteObj. // fileName - полное имя файла фрагмента. // Допускается fileName следующего вида "c:\_f\gr\lib1.lfr|детали|литье|фланец" // ( c:\_f\gr\lib1.lfr - имя файла библиотеки фрагментов, |детали|литье|- разделы, подразделы // внутри библиотеки фрагментов, фланец - имя фрагмента ). В этом случае определение // создается на фрагмент из библиотеки фрагментов. // Определение для данного фрагмента одно - вставок может быть // сколько угодно. //-------------------------------------------------------------------------- function FragmentDefinition( fileName : PChar; //имя файла фрагмента comment : PChar; //имя вставки insertType : Byte ) : Reference;//тип вставки -действителен для внешнего фрагмента // 0- взять в документ, 1-внешней ссылкой stdcall; // Экспортный номер - 150 kAPI2D5.dll //-------------------------------------------------------------------------- // Вставка фрагмента. // Функция предназначена для вставки определенного фрагмента в конкретное // место чертежа. // Возвращается указатель на объект "Вставка фрагмента". //-------------------------------------------------------------------------- function InsertFragment( p : Reference; // Указатель определения фрагмента curentLayer : Byte; //тип размещения по слоям 0 - на свои слои 1- в текущий слой par : PPlacementParam ) : Reference; //параметры привязки stdcall; // Экспортный номер - 287 apptool1.dll //-------------------------------------------------------------------------- // Вставка фрагмента расширенная возможностью масштабирования выносных линий у размеров // Функция предназначена для вставки определенного фрагмента в конкретное // место чертежа. // Возвращается указатель на объект "Вставка фрагмента". //-------------------------------------------------------------------------- function ksInsertFragmentEx( p : Reference; // Указатель определения фрагмента curentLayer : Byte; //тип размещения по слоям 0 - на свои слои 1- в текущий слой par : PPlacementParam; //параметры привязки scaleProjLinesSize : Byte ) : Reference; // масштабировать ли длину выносных линий у размеров stdcall; // Экспортный номер - 151 kAPI2D5.dll //-------------------------------------------------------------------------- // Вставка фрагмента россыпью сразу в модель. // Функция возвращает 1 в случае успеха, 0 - в случае неудачи. // fileName - полное имя файла фрагмента. // Допускается fileName следующего вида "c:\_f\gr\lib1.lfr|детали|литье|фланец" // ( c:\_f\gr\lib1.lfr - имя файла библиотеки фрагментов, |детали|литье|- разделы, подразделы // внутри библиотеки фрагментов, фланец - имя фрагмента ). В этом случае фрагмент // берется из библиотеки фрагментов //-------------------------------------------------------------------------- function ReadFragment( fileName : PChar; // имя фрагмента curentLayer : Byte; //тип размещения по слоям 0 - на свои слои 1- в текущий слой par : PPlacementParam ) : Integer; //параметры привязки stdcall; // Экспортный номер - 226 kAPI2D5.dll //-------------------------------------------------------------------------- // Вставка фрагмента россыпью во временную группу. // Функция возвращает указатель на временную группу в случае успеха, // 0 - в случае неудачи. // fileName - полное имя файла фрагмента. // Допускается fileName следующего вида "c:\_f\gr\lib1.lfr|детали|литье|фланец" // ( c:\_f\gr\lib1.lfr - имя файла библиотеки фрагментов, |детали|литье|- разделы, подразделы // внутри библиотеки фрагментов, фланец - имя фрагмента ). В этом случае фрагмент // берется из библиотеки фрагментов //-------------------------------------------------------------------------- function ksReadFragmentToGroup( fileName : PChar; // имя фрагмента curentLayer : Byte; // тип размещения по слоям 0 - на свои слои 1- в текущий слой par : PPlacementParam ) : Reference;// параметры привязки stdcall; // Экспортный номер 292 - apptool1.dll //-------------------------------------------------------------------------- // Вставка фрагмента россыпью во временную группу. // Функция возвращает указатель на временную группу в случае успеха, // 0 - в случае неудачи. // fileName - полное имя файла фрагмента. // Допускается fileName следующего вида "c:\_f\gr\lib1.lfr|детали|литье|фланец" // ( c:\_f\gr\lib1.lfr - имя файла библиотеки фрагментов, |детали|литье|- разделы, подразделы // внутри библиотеки фрагментов, фланец - имя фрагмента ). В этом случае фрагмент // берется из библиотеки фрагментов // scaleProjLinesSize - масштабировать ли длину выносных линий у размеров //-------------------------------------------------------------------------- function ksReadFragmentToGroupEx( fileName : PChar; // имя фрагмента curentLayer : Byte; // тип размещения по слоям 0 - на свои слои 1- в текущий слой par : PPlacementParam; scaleProjLinesSize : Byte ) : Reference;// параметры привязки stdcall; // Экспортный номер - 166 kAPI2D5.dll //---------------------------------------------------------------------------------------------- // Записать группу во фрагмент // Если gr = 0 - группа селектирования //---------------------------------------------------------------------------------------------- function WriteFragment( gr : Reference; //указатель на группу filename : PChar; //имя файла фрагмента comment : PChar; //комментарий для фрагмента xb, yb : Double ) : Integer; //точка привязки stdcall; // Экспортный номер - 152 kAPI2D5.dll //-------------------------------------------------------------------------- // Составной объект определения локального фрагмента. В этом случае файла // фрагмента нет. Тело фрагмента хранится в документе //------------------------------------------------------------------------- function LocalFragmentDefinition( comment : PChar ) : Integer; //имя вставки stdcall; // Экспортный номер - 153 kAPI2D5.dll //-------------------------------------------------------------------------- // Закончить определение локального фрагмента Все объекты вида, вводимые // между операторами LocalFragmentDefinition и CloseLocalFragmentDefinition, // принадлежат локальному фрагменту. // Возвращается указатель на определение фрагмента, для использования // в функции InsertFragment, DeleteObj. //-------------------------------------------------------------------------- function CloseLocalFragmentDefinition : Reference; stdcall; // Экспортный номер - 196 kAPI2D5.dll //---------------------------------------------------------------------------------------------- // выбор имени фрагмента или папки в библиотеке фрагментов // frwName - возвращает к примеру "c:\_f\gr\lib1.lfr|детали|литье|фланец" // ( c:\_f\gr\lib1.lfr - имя файла библиотеки фрагментов, |детали|литье|- разделы, подразделы // внутри библиотеки, фланец - имя фрагмента или имя папки ). // Библиотека фрагментов открывается в режиме диалога. Редактирование запрещено. // Enter - выбор имени фрагмента. Esc - отказ. // Возвращает 3 - фрагмент, 2 - папка, 1- корень библиотеки фрагментов, 0 - неудача. //---------------------------------------------------------------------------------------------- function ksChoiceFragmentFromLib( frwLibFile : PChar; // полное имя библиотеки фрагментов frwName : PChar; // имя фрагмента size : Cardinal ) : Integer; // размер буффера frwName stdcall; // Экспортный номер - 198 kAPI2D5.dll //---------------------------------------------------------------------------------------------- // Открыть библиотекарь фрагментов // libName - пример задания "c:\_f\gr\lib1.lfr|детали|литье|фланец" // ( c:\_f\gr\lib1.lfr - имя файла библиотеки фрагментов, |детали|литье|- разделы, подразделы // внутри библиотеки, фланец - имя фрагмента ). // type = -1 - закрыть без сохранения 0 - закрыть с сохранением, // 1 - открыть, 2 - редактировать фрагмент, // 3 - удалить фрагмент из библиотеки // 4 - минимизировать окно библиотекаря //---------------------------------------------------------------------------------------------- function ksFragmentLibrary( libName : PChar; //имя файла библиотеки фрагментов _type : Integer ) : Integer; //флаг работы с библиотекой stdcall; // Экспортный номер - 199 kAPI2D5.dll //---------------------------------------------------------------------------------------------- // добавить фрагмент с именем файла frwName в библиотеку фрагментов с именем libName // libName - пример задания "c:\_f\gr\lib1.lfr|детали|литье|фланец" // ( c:\_f\gr\lib1.lfr - имя файла библиотеки фрагментов, |детали|литье|- разделы, подразделы // внутри библиотеки, фланец - имя фрагмента ). // type = -1 - закрыть без сохранения 0 - закрыть с сохранением, // 1 - открыть, 2 - редактировать фрагмент, // 3 - удалить фрагмент из библиотеки // 4 - минимизировать окно библиотекаря //---------------------------------------------------------------------------------------------- function ksAddFragmentToLibrary ( libName : PChar; // имя файла библиотеки фрагментов frwName : PChar ) : Integer; // имя файла фрагмента stdcall; // Экспортный номер - 215 kAPI2D5.dll //---------------------------------------------------------------------------------------------- // Функция проверяет открыта ли библиотека фрагментов с данным именем, // возвращает 1 если открыта или 0 если не открыта //---------------------------------------------------------------------------------------------- function ksCheckFragmentLibrary( libName : PChar; // имя файла библиотеки фрагментов possibleMessage : Byte ) : Integer; // 1 - сообщать, если он уже открыт 0 - не сообщать stdcall; // Экспортный номер - 242 kAPI2D5.dll //------------------------------------------------------------------------------ // Функция проверяет существует ли фрагмент с именем frwName в библиотеке фрагментов // frwName - к примеру "c:\_f\gr\lib1.lfr|детали|литье|фланец" // ( c:\_f\gr\lib1.lfr - имя файла библиотеки фрагментов, |детали|литье|- разделы, подразделы // внутри библиотеки, фланец - имя фрагмента или имя папки ). // Функция возвращает 0 - нет фрагмента или папки // -1 - нет библиотеки // 1 фрагмент или папка есть // --- function ksExistFragmentInLibrary( frwName : PChar ) : Integer; stdcall; // Экспортный номер - 297 //--------------------------------------------------------------------------- // Функция позволяет получить структуру дерева библиотеки документов и библиотеки // атрибутов // libName - полное имя файла библиотеки моделей, фрагментов, атрибутов //--------------------------------------------------------------------------- function ksGetLibraryTreeStruct( libName : PChar; root : PTreeNodeParam ) : Integer; stdcall; // Экспортный номер - 155 kAPI2D5.dll // ------------------------------------------------------------------------- // Освободить указатель объекта. Не временный объект не уничтожается. // В результате таблица объектов сокращается, а операции, связанные с пербором // объектов ускоряются. // ------------------------------------------------------------------------- function ReleaseReference( p : Reference ) : Integer; //указатель на объект stdcall; // ------------------------------------------------------------------------ // раздел : Описание чертежа // ------------------------------------------------------------------------ // Экспортный номер - 96 kAPI2D5.dll //---------------------------------------------------------------------- // Создать документ -лист или фрагмент. // Документ становится текущим ( видимыым или не видимым ). // Задается полное имя файла. Возвращает указатель на документ или 0 в случае неудачи. //---------------------------------------------------------------------- function CreateDocument ( par : PDocumentParam ) : Reference;// параметры документа stdcall; // Экспортный номер - 97 kAPI2D5.dll //---------------------------------------------------------------------- // Открыть документ (лист или фрагмент). // состояние : 0 - видимый режим, 1 - слепой режим // для спецификации 3 - видимый режим без синхронизации со сборкой // для спецификации 4 - слепой режим без синхронизации со сборкой // Документ становится текущим. Задается полное имя файла. // Возвращает указатель на документ или 0 в случае неудачи. //---------------------------------------------------------------------- function OpenDocument( nameDoc : PChar; //- имя документа regim : Byte ) : Reference; // 0 - видимый режим, 1 - невидимый режим stdcall; // Экспортный номер - 98 kAPI2D5.dll //---------------------------------------------------------------------- // Сохранить документ. // Возвращает 1 в случае успеха или 0 в случае неудачи. // Задается полное имя файла. Если fileName - NULL, используется имя файла из // документа. Если и в документе имя файла NULL взводится ошибка. // Если sheet = 0 сохраняем текущий документ. //---------------------------------------------------------------------- function SaveDocument ( sheet : Reference; // указатель документа fileName : PChar ) : Integer; // имя файла документа для режима Safe as... или NULL stdcall; // Экспортный номер - 755 //---------------------------------------------------------------------- // [31.03.2005] // сохранить документ // возвращает 1 в случае успеха или 0 в случае неудачи // задается полное имя файла // если fileName - NULL - используется имя файла из документа // если и в документе имя файла NULL взводится ошибка // если sheet=0 сохраняем текущий документ // version = -1 - в предыдущую версию // 0 - в текущую версию // 1 - в версию 5.11 //---------------------------------------------------------------------- function SaveDocumentEx( sheet : Reference; fileName : PChar; saveMode : Integer ) : Integer; stdcall; // Экспортный номер - 700 //---------------------------------------------------------------------- // сохранить документ в растровый формат // возвращает 1 в случае успеха или 0 в случае неудачи // задается полное имя файла // если sheet=0 сохраняем текущий документ //---------------------------------------------------------------------- function ksSaveAsToRasterFormat ( sheet : Reference; // указатель документа fileName : PChar; // имя файла документа par : PRasterFormatParam ) : Integer; //структура параметров для конвертации в растровый формат stdcall; // Экспортный номер - 706 //---------------------------------------------------------------------- // сохранить документ в растровый формат без сжатия // возвращает 1 в случае успеха или 0 в случае неудачи // задается полное имя файла // если sheet=0 сохраняем текущий документ //---------------------------------------------------------------------- function ksSaveAsToUncompressedRasterFormat ( sheet : Reference; // указатель документа fileName : PChar; // имя файла документа par : PRasterFormatParam ) : Integer; //структура параметров для конвертации в растровый формат stdcall; // Экспортный номер - 99 kAPI2D5.dll //---------------------------------------------------------------------- // Закрыть документ. Возвращает 1 в случае успеха или 0 в случае неудачи. // Если документ не сохранили, взводится соответствующая ошибка. // Если sheet = 0, закрываем текущий документ. //---------------------------------------------------------------------- function CloseDocument ( sheet : Reference ) : Integer; // указатель документа stdcall; // Экспортный номер - 234 kAPI2D5.dll //------------------------------------------------------------------------------- // Получить текущий документ // Функция возвращает указатель на документ в случае успеха или 0 в случае неудачи //------------------------------------------------------------------------------- function ksGetCurrentDocument( _type : Byte ) : Reference; // 0 - любой документ stdcall; // 1 - только графический документ // 2 - только спецификацию // 3 - 3d документ // 4 - текстовый документ // Экспортный номер - 718 //----------------------------------------------------------------------------- // Перестроить 2D чертеж // Позволяет перестроить все ассоциативные виды чертежа. Если в чертеже нет ни одного ассоциативного вида, // перестраиваться ничего не будет. // После этого ассоциативные виды перерисовываются в соответствии с моделями, изображение которых в них содержится. // Если sheet == 0 для активного документа. // Функция взвращает 1 в случае успеха, 0 - в случае неудачи // --- function ksRebuildDocument( sheet : Reference ) : Integer; stdcall; // указатель на 2D документ -чертеж // Экспортный номер - 130 kAPI2D5.dll //------------------------------------------------------------------------------- // Открывает технические требования. Объект действителен для листа. // Составной объект. Объекты TextLine, вводимые между орераторами // OpenTechnicalDemand и CloseTechnicalDemand, принадлежат техническим требованиям. // Технические требования, могут состоять из нескольких строк, строки могут // состоять из нескольких компонент. Компоненты могут изменять параметры // текущего фонта. // CloseTechnicalDemand возвращает указатель на технические требования. //------------------------------------------------------------------------------- function OpenTechnicalDemand( pGab : Reference; //динамический массив листов технических требований или 0 style : Word ) : Integer; //стиль текста для технических требований если 0 - умолчательное значение stdcall; // Экспортный номер - 131 //------------------------------------------------------------------------------- // Закрыть составной объект "технические требования". //------------------------------------------------------------------------------- function CloseTechnicalDemand : Reference; stdcall; // Экспортный номер - 136 kAPI2D5.dll //-------------------------------------------------------------------------------- // Открыть составной объект "штамп". Действительно для листа. // Опрераторы ColumnNumber и TextLine, вводимые между операторами // OpenStamp и CloseStamp, принадлежат штампу. // ColumnNumber определяет номер ячейки, куда помещать тект. // Номера определены в соответствии с ГОСТ на данный штамп. // CloseStamp возвращает указатель на штамп. //-------------------------------------------------------------------------------- function OpenStamp : Integer; stdcall; // Экспортный номер - 760 //-------------------------------------------------------------------------------- // Открыть составной объект "штамп". Действительно для листа. // Операторы ColumnNumber и TextLine, вводимые между операторами // OpenStamp и CloseStamp, принадлежат штампу. // ColumnNumber определяет номер ячейки, куда помещать текcт. // Номера определены в соответствии с ГОСТ на данный штамп. // CloseStamp возвращает указатель на штамп. // sheetNumb - номер листа, начиная с 1 // [20.06.2005] //--------------------------------------------------------------------------- function OpenStampEx( sheetNumb :Integer ) : Integer; stdcall; // Экспортный номер - 137 kAPI2D5.dll //-------------------------------------------------------------------------------- // Закрыть составной объект "штамп". Действительно для листа. //-------------------------------------------------------------------------------- function CloseStamp : Reference; stdcall; // Экспортный номер - 138 kAPI2D5.dll //--------------------------------------------------------------------------- // Определть номер ячейки. // Функция используется в режиме редактирования штампа, таблицы, допуска формы, // в режиме создания допуска формы //--------------------------------------------------------------------------- function ColumnNumber( numb : Cardinal ): Integer; stdcall; // Экспортный номер - 139 kAPI2D5.dll //--------------------------------------------------------------------------- // Очистить составной объект - штамп. Действительно для листа. // Если numb = 0, очищаем весь штамп. В противном случае - определенную ячейку. //--------------------------------------------------------------------------- function ClearStamp( numb : Cardinal ): Integer; stdcall; // Экспортный номер - 761 //--------------------------------------------------------------------------- // Очистить составной объект - штамп. Действительно для листа. // Если numb = 0, очищаем весь штамп. В противном случае - определенную ячейку. // [20.06.2005] //--------------------------------------------------------------------------- function ClearStampEx( sheetNumb : Integer; numb : Cardinal ) : Integer; stdcall; // Экспортный номер - 179 kAPI2D5.dll //--------------------------------------------------------------------------- // Функция выдает текст графы, и смещается на следующую графу // Если не определен номер графы с помощью функции ColumnNumber, начинает с первой // графы // Возвращает указатель на динамический массив строк текста - TEXT_LINE_ARR // или 0, когда все графы пройдены или в случае ошибки // после использования массив желательно удалить OpenStamp( ); // если numb != NULL -возвращает номер графы GetStampColumnText(...); // Функция используется в режиме редактирования штампа CloseStamp( ); //--------------------------------------------------------------------------- function GetStampColumnText( Var numb : Cardinal ) : Reference; stdcall; // Экспортный номер - 235 kAPI2D5.dll //--------------------------------------------------------------------------- // Функция заменяет текст графы OpenStamp( ); // Функция используется в режиме редактирования штампа SetStampColumnText(...); // Возвращает 1 в случае успеха и 0 в случае неудачи CloseStamp( ); //--------------------------------------------------------------------------- function SetStampColumnText( numb : Cardinal; //номер ячейки textArr : Reference ) : Integer; //динамический массив строк текста - TEXT_LINE_ARR stdcall; // Экспортный номер - 731 //--------------------------------------------------------------------------- // Установить параметры материала в чертеже // material - наименование материала, динамический массив строк текста (TEXT_LINE_ARR) // density - плотность // Возвращает 1 в случае успеха и 0 в случае неудачи //--------------------------------------------------------------------------- function ksSetMaterialParam( material : Reference; density : Double ) : Integer; stdcall; // Экспортный номер - 24 kAPI2D5.dll //------------------------------------------------------------------------------- // Если текущий документ лист, функция позволит получить указатель: // t=0 -на штамп; // t=1 -технические требования; // t=2 -неуказанную шероховатость; // t=3 -текущий вид; // t=4 -спецификация на листе; // t=6 -таблица изменений //------------------------------------------------------------------------------- function GetReferenceDocumentPart( t : Byte ) : Reference; stdcall; // Экспортный номер - 762 //------------------------------------------------------------------------------- // если текущий документ лист // функция позволит получить указатель: // t=0 -на штамп, sheetNumb - номер листа, начиная с 1 // t=1 -технические требования, sheetNumb - не используется // t=2 -неуказанную шероховатость sheetNumb - не используется // t=3 -текущий вид sheetNumb - не используется // t=4 -спецификация на листе; sheetNumb - номер СП, начиная с 1; 0 - текущая СП // t=5 -текущий слой sheetNumb - не используется // t=6 -таблица изменений sheetNumb - номер листа, начиная с 1 // [20.06.2005] //------------------------------------------------------------------------------- function GetReferenceDocumentPartEx( t : Byte; sheetNumb : Integer ) : Reference; stdcall; // Экспортный номер - 76 kAPI2D5.dll //-------------------------------------------------------------------------- // Создать вид. Вид становится текущим. Возвращается указатель на вид. // Если указать *number = 0, создается вид с номером по возрастанию. // Если *number = n, создается вид с номером n. Если вид n существует, // ничего не создается ( reference = 0) - ошибка. //-------------------------------------------------------------------------- function CreateSheetView( par : PViewParam; //указатель на структуру параметров вида var number : Integer ) : Reference; //номер вида stdcall; // Экспортный номер - 710 //-------------------------------------------------------------------------- // Создать произвольный ассоциативный вид // Если указать *number = 0, создается вид с номером по возрастанию. // Если *number=n; создается вид с номером n , если вид n существует // ничего не создается reference=0 - ошибка // Вид становится текущим, возвращает указатель на вид //-------------------------------------------------------------------------- function ksCreateSheetArbitraryView( par : PAssociationViewParam; //параметры ассоциативного вида number : Integer ) : Reference; stdcall; // номер вида // Экспортный номер - 711 //-------------------------------------------------------------------------- // Создать стандартные ассоциативные виды // возвращает 1 в случае успеха, 0 в случае неудачи //-------------------------------------------------------------------------- function ksCreateSheetStandartViews( par : PAssociationViewParam; //параметры ассоциативного вида bitVector : Cardinal; // набор типов видов из VIEW_FRONT...VIEW_ISO, которые нужно создать dx, dy : Double ) // расстояние между видами по горизонтали и по вертикали : Reference; stdcall; // Экспортный номер - 712 //-------------------------------------------------------------------------- // Создать проекционный ассоциативный вид // Если указать *number = 0, создается вид с номером по возрастанию. // Если *number=n; создается вид с номером n , если вид n существует // ничего не создается reference=0 - ошибка // Вид становится текущим, возвращает указатель на вид //-------------------------------------------------------------------------- function ksCreateSheetProjectionView( par : PAssociationViewParam; //параметры ассоциативного вида number : PInteger; // номер вида view : Reference ) //указатель на базовый вид : Reference; stdcall; // Экспортный номер - 713 //-------------------------------------------------------------------------- // Создать ассоциативный вид по стрелке // Если указать *number = 0, создается вид с номером по возрастанию. // Если *number=n; создается вид с номером n , если вид n существует // ничего не создается reference=0 - ошибка // Вид становится текущим, возвращает указатель на вид //-------------------------------------------------------------------------- function ksCreateSheetArrowView( par : PAssociationViewParam; // параметры ассоциативного вида number : PInteger; // номер вида obj : Reference ) // указатель на объект "стрелка вида" : Reference; stdcall; // Экспортный номер - 714 //-------------------------------------------------------------------------- // Создать ассоциативный вид разреза\сечения // Если указать *number = 0, создается вид с номером по возрастанию. // Если *number=n; создается вид с номером n , если вид n существует // ничего не создается reference=0 - ошибка // Вид становится текущим, возвращает указатель на вид //-------------------------------------------------------------------------- function ksCreateSheetSectionView( par : PAssociationViewParam; // параметры ассоциативного вида number : PInteger; // номер вида obj : Reference ) // указатель на объект линия разреза : Reference; stdcall; // Экспортный номер - 715 //-------------------------------------------------------------------------- // создать ассоциативный выносной вид // Если указать *number = 0, создается вид с номером по возрастанию. // Если *number=n; создается вид с номером n , если вид n существует // ничего не создается reference=0 - ошибка // Вид становится текущим, возвращает указатель на вид //-------------------------------------------------------------------------- function ksCreateSheetRemoteView( par : PAssociationViewParam; // параметры ассоциативного вида number : PInteger; // номер вида obj : Reference ) // указатель на объект "Обозначение выносного элемента" : Reference; stdcall; // Экспортный номер - 758 //------------------------------------------------------------------------------- // Матрица ассоциативного вида. Возвращаемое значение : SAFEARRAY double (VT_ARRAY | VT_R8) // В массиве будут лежать 16 элементов, которые представляют матрицу размера 4х4. // --- function ksAssociationViewMatrix3D( view : reference ) : Variant; stdcall; // Экспортный номер - 759 //------------------------------------------------------------------------------- // Преобразовать координаты 3D точки в координаты ассоциативного вида // Возвращает 1 - в случае успеха, 0 - в случае неудачи // --- function ksPoint3DToAssociationView( view : Reference; // указатель на ассоциативный вид x3D, y3D, z3D : Double; // координаты 3D точки x2D, y2D : PDouble ) : Integer; stdcall; // результат - координаты в ассоциативном виде // Экспортный номер - 77 kAPI2D5.dll //-------------------------------------------------------------------------- // Возвращается указатель на вид по номеру вида. // Если вида c задданым номером нет, возвращает 0. //-------------------------------------------------------------------------- function GetViewReference( number : Integer ) : Reference; stdcall; // Экспортный номер - 78 kAPI2D5.dll //-------------------------------------------------------------------------- // Возвращается номер вида по указателю на вид; // В случае ошибки возвращает -1. Системный вид имеет номер 0. // Если p-объект вида, возвращается номер вида этого объекта. //-------------------------------------------------------------------------- function GetViewNumber( p : Reference ) : Integer; // p - указатель на вид или объект stdcall; // Экспортный номер - 79 kAPI2D5.dll //-------------------------------------------------------------------------- // Открыть вид по номеру, в результате становится текущим. Вид должен быть создан. // Возвращается 1 в случае успеха, 0 в случае ошибки. //-------------------------------------------------------------------------- function OpenView( number : Integer ) : Reference; //number - номер вида stdcall; // Экспортный номер - 127 kAPI2D5.dll //-------------------------------------------------------------------------- // Возвращается номер следующиго вида или 0 при неудаче. //-------------------------------------------------------------------------- function NewViewNumber : Integer; stdcall; // Экспортный номер - 80 kAPI2D5.dll //-------------------------------------------------------------------------- // Переопределение текущего слоя. Если слоя с заданным номером нет, слой // создается. //-------------------------------------------------------------------------- function Layer( n : Integer ) : reference; //n - номер слоя stdcall; // Экспортный номер - 81 kAPI2D5.dll //-------------------------------------------------------------------------- // Возвращает номер слоя по указателю на слой. // В случае ошибки возвращает -1. Системный слой имеет номер 0. // Если p -объект слоя, возвращается номер слоя этого объекта. //-------------------------------------------------------------------------- function GetLayerNumber( p : Reference ) : Integer; //p - указатель на слой или объект stdcall; // Экспортный номер - 82 kAPI2D5.dll //-------------------------------------------------------------------------- // Возвращает указатель на слой по номеру слоя для текущего вида. // Если слоя c задданым номером нет, возвращает 0. //-------------------------------------------------------------------------- function GetLayerReference( number : Integer ) : Reference; //number - номер слоя stdcall; // Экспортный номер - 172 kAPI2D5.dll //-------------------------------------------------------------------------------------------- // Изменить слой одного объекта. Новый слой должен существовать и быть доступным // для редактирования (не фоновым и не выключенным) // Функция возвращает 1 в случае успеха, 0 - неудача //-------------------------------------------------------------------------------------------- function ChangeObjectLayer( obj : Reference; // указатель объекта number : Integer ) : Integer; //- номер слоя, куда переносится объект stdcall; // Экспортный номер - 221 kAPI2D5.dll //-------------------------------------------------------------------------- // Запустить окно просмотра документов перед печатью и печать // docsArr - массив полных имен документов, которые нужно распечатать // Функция возвращает 1 в случае успеха или 0 при неудаче. //-------------------------------------------------------------------------- function ksPrintPreviewWindow( docsArr : Reference; // динамический массив указателей CHAR_STR_ARR inquiry : Integer ) : Integer; // 1 - если docsArr = 0 или массив пуст запросить документы у пользователя // 0 - без запроса stdcall; // Экспортный номер - 222 kAPI2D5.dll //-------------------------------------------------------------------------- // Отрисовать Компас-документ как слайд в присланном окне //-------------------------------------------------------------------------- function ksDrawKompasDocument( HWindow : HWND; // несущее окно docFileName : PChar ) : Integer; // полное имя файла документа stdcall; // Экспортный номер - 719 //------------------------------------------------------------------------------ // Отрисовать Компас-документ как слайд в присланном окне // --- function ksDrawKompasDocumentByReference( HWindow : HWND; // несущее окно pDoc : Reference ) // указатель на документ : Integer; stdcall; // Экспортный номер - 241 //-------------------------------------------------------------------------- // Отрисовать группу как слайд в присланном окне //-------------------------------------------------------------------------- function ksDrawKompasGroup ( HWindow : HWND; // несущее окно gr : Reference ) : Integer; //группа stdcall; // Экспортный номер - 227 kAPI2D5.dll //--------------------------------------------------------------------------- // Создать таблицу, используя информацию, хранящуюся в файле *.tbl //--------------------------------------------------------------------------- function ksReadTableFromFile( tblFileName : PChar ) : Reference; //полное имя к файлу таблицы stdcall; // Экспортный номер - 74 kAPI2D5.dll //-------------------------------------------------------------------------- // Получить группу графических объектов, определяющих область выделения, // используя визуальный процесс. // Так как сиcтема может работать только с одним процессом, то нужно завершить // другие процессные функции: Cursor, Placement, CommandWindow, ksEditViewObject. // Функция возвращает временную группу или 0 в случае неудачи //-------------------------------------------------------------------------- function ksViewGetObjectArea : Reference; stdcall; // Экспортный номер - 232 kAPI2D5.dll //---------------------------------------------------------------------------------------------- // Функция возвращает массив параметрических переменных // графического документа или вставки фрагмента. // Возвращает указатель на динамический массив структур VariableParam или 0 в случае неудачи //---------------------------------------------------------------------------------------------- function ksGetDocVariableArray( p : Reference ) : Reference; //указатель на документ или вставку фрагмента stdcall; // Экспортный номер - 233 kAPI2D5.dll //---------------------------------------------------------------------------------------------- // Функция заменяет значения и если нужно комментарии у параметрических переменных // графического документа или вставки фрагмента. // Возвращает 1 в случае успеха или 0 в случае неудачи //---------------------------------------------------------------------------------------------- function ksSetDocVariableArray( obj : Reference; // указатель на документ или вставку фрагмента arr : Reference; // указатель на динамический массив VARIABLE_ARR setNote: Byte ) : Integer; // 0 - комментарии не менять 1 комментарии менять stdcall; // Экспортный номер - 97 kAPI2D5.dll //------------------------------------------------------------------------------ // Установить параметрическое ограничение. // Функция возвращает 1 в случае успеха 0 в случае неудачи // --- function ksSetObjConstraint( obj : Reference; par : PConstraintParam ) : Integer; stdcall; // Экспортный номер - 99 kAPI2D5.dll //------------------------------------------------------------------------------ // Получить параметрические ограничения, наложенные на объект. // Функция возвращает указатель на динамический массив ограничений ConstraintParam. // В случае неудачи или при отсутствии ограничений возвращается 0 // --- function ksGetObjConstraints( obj : Reference ) : Reference;// указатель на объект stdcall; // Экспортный номер - 103 kAPI2D5.dll //------------------------------------------------------------------------------ // Удалить параметрическое ограничение. // Функция возвращает 1 в случае успеха 0 в случае неудачи // --- function ksDestroyObjConstraint( obj : Reference; par : PConstraintParam ) : Integer; stdcall; // Экспортный номер - 255 kAPI2D5.dll //-------------------------------------------------------------------------- // Получить точку привязки и угол поворота - СК масрообъекта // Если m = 0 - редактируемый макро // angl - угол поворота от оси OX против часовой стрелки в градусах // В случае удачи функция возвращает 1, в случае неудачи - 0 // Если у макрообъекта нет СК ( не вызывалась функция SetMacroPlacement ) - функция // возвращает -1 //-------------------------------------------------------------------------- function GetMacroPlacement( macro : Reference; Var x, y, angl : Double ) : Integer; stdcall; // Экспортный номер - 257 kAPI2D5.dll //-------------------------------------------------------------------------- // Установить точку привязки и угол поворота - систему координат макрообъекта // angl - угол поворота от оси OX против часовой стрелки в градусах // relativ = 1 - (x, y, angl) - смещения относительно с.к. редактируемого макрообъекта // relativ = 0 - (x, y, angl) - обсолютное значение в с.к. вида //-------------------------------------------------------------------------- function SetMacroPlacement( macro : Reference; x, y, angl : Double; relativ : Integer ) : Integer; stdcall; // Экспортный номер - 109 kAPI2D5.dll //------------------------------------------------------------------------------ // Получить зону текущего документа (графического) по заданной точке. // Функция возвращает: // 0 - ошибка (например точка вне документа, документ не лист и ); // -1 - в текущем документе нет разбиения на зоны; // 1 - успешное завершение. // --- function ksGetZona( x, y : Double; // x,y - координаты точки в текущем документе; zona : PChar; // буфер для возврата зоны; size : Integer ) : Integer; // размер присланного буфера stdcall; //------------------------------------------------------------------------------ // Функция очищает указанную область ( ограниченную группой или текущий вид ) в соответствии // с границами группы grRegion. // grClear - группа геометрии, которую нужно очистить или 0 - просматривать все объекты текущего вида // GrRegion - группа геометрии, представляющая область очистки // --- function ksClearRegion( grClear : Reference; grRegion : Reference; inside : Byte ) : Integer; stdcall; // Экспортный номер - 33 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // растянуть изображение активного окна на весь экран, ограниченное прямоугольником с // точками по диагонали x1,y1, x2,y2 . Координаты точек в СК вида //------------------------------------------------------------------------------------------------ function ksZoom ( x1, y1, x2, y2 : Double ) : Integer; stdcall; // Экспортный номер - 34 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // растянуть изображение активного окна на весь экран, ограниченное прямоугольником с центром // и масштабом . Координаты центра в СК вида //------------------------------------------------------------------------------------------------ function ksZoomScale ( x, y, scale : Double ) : Integer; stdcall; // Экспортный номер - 35 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Отобразить предыдущие/следующие "окно" для активного документа или показать весь документ //------------------------------------------------------------------------------------------------ function ksZoomPrevNextOrAll ( _type : Byte ) : Integer; //0- следующий Zoom,1- предыдущий Zoom,2-весь документ stdcall; // Экспортный номер - 85 kAPI2D5.dll //------------------------------------------------------------------------------ // Вернуть масштаб и ценр активного окна графического документа // --- function ksGetZoomScale ( Var x, y, scale : Double ) : Integer; //Координаты центра в СК вида и масштаб stdcall; // Экспортный номер - 37 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // обновить активное окно документа //------------------------------------------------------------------------------------------------ function ksRefreshActiveWindow : Integer; stdcall; //------------------------------------------------------------------------------ // Проверить наличие видимых или невидимых участков на кривой // Возвращает 1 в случае если в объекте состоит из видимых и невидимых участков // Объект может состоять из видимых и невидимых участков если он принадлежит // ассоциативному виду. // --- function IsVisibleOrHiddenArraysInObject( obj : Reference ) : Integer; stdcall; //------------------------------------------------------------------------------ // Возвращает 1 в случае если объект принадлежит ассоциативному виду. // --- function IsObjFromAssociativeView( obj : Reference ) : Integer; stdcall; //------------------------------------------------------------------------------ // Возвращает 1 в случае если объект геометрический // --- function IsGeomObject( obj : Reference ) : Integer; stdcall; // Экспортный номер - 280 apptool1.dll //------------------------------------------------------------------------------ // Возвращает радиус окружности вписанной в ловушку курсора // --- function ksGetCursorLimit : Double; stdcall; // Экспортный номер - 295 apptool1.dll //----------------------------------------------------------------------------- // Функция оставляет часть кривой между заданными точками. // Если точки не лежат на кривой, они проецируются на кривую. // deleteOldCurve - true кривая curve будет удалена после усечения, // false кривая curve не будет удалена после усечения. // Функция возвращает указатель на усеченную кривую, или 0 в случае неудачи. //----------------------------------------------------------------------------- function ksTrimCurve( curve : Reference; // кривая x1, y1, // первая точка x2, y2, // вторая точка x3, y3 : Double; // третья точка deleteOldCurve : Byte ) : Reference; // признак удаления старой кривой stdcall; // Экспортный номер - 299 apptool1.dll //------------------------------------------------------------------------------- // Печать документа. // fileName - полное имя файла печатаемого документа, // toFile - имя файла в который выводить (*.prn, и т.д.), или NULL если нужно // вывести сразу на принтер, // scale - масштаб, с которым нужно выводить документ // Функция возвращает 0 в случае неудачи. // --- function ksPrintKompasDocument( fileName : PChar; toFile : PChar; scale : Double ) : Integer; stdcall; // Экспортный номер - 702 //------------------------------------------------------------------------------- // Для выносной линии получить длину полки и координаты конца полки // в системе координат вида // Функция возвращает 0 в случае неудачи. //------------------------------------------------------------------------------- function ksGetLeaderShelfLength( p : reference; //указатель линии выноски var x, y : Double //координаты конца полки ) : Double; stdcall; // Экспортный номер - 716 //------------------------------------------------------------------------------- // Получить тип документа // типы документов DocType "ldefin2d.h" // --- function ksGetDocumentType( doc : reference ) : Integer; stdcall; // Экспортный номер - 722 //------------------------------------------------------------------------------- // Функция возвращает тип документа DocType "ldefin2d.h" в случае успеха или // 0 в случае неудачи //------------------------------------------------------------------------------- function ksGetDocumentTypeByName( fileName : reference ) : Integer; stdcall; // Экспортный номер - 725 //----------------------------------------------------------------------------- // Подписаться на сообщение в COM // ifType - тип интерфейсов сообщений ksNotifyType // object - указатель интерфейса сообщений // pContainer - указатель на объект Компас, контейнер сообщений // --- function ksConnectionAdvise ( param : PNotifyConnectionParam; object_ : PIUnknown ) : Integer; stdcall; // Экспортный номер - 726 //----------------------------------------------------------------------------- // Снять подписку на сообщение в COM // ifType - тип интерфейсов сообщений ksNotifyType // pContainer - указатель на объект Компас, контейнер сообщений // --- function ksConnectionUnadvise ( param : PNotifyConnectionParam ) : Integer; stdcall; //------------------------------------------------------------------------------- // Изменить порядок объектов // group - исходные объекты объекты, // obj - объект, относительно которого меняем порядок // orderType - Тип изменения порядка объектов /*ChangeOrderType*/ // Возвращает 1 в случае успеха, и 0 - в случае неудачи // --- function ksChangeObjectsOrder( group : Reference; obj : reference; orderType : Integer ) : Integer; stdcall; // Экспортный номер - 736 // ПК [17/5/2004] //------------------------------------------------------------------------------- // Функция возвращает режим ортогонального черчения // Возвращаемое значение: // 1 - режим ортогонального черчения включен, 0 - выключен // Входные параметры: // doc - указатель на документ // Функция работает только в визуальном режиме // --- function ksGetOrthoMode( doc : Reference ) : Integer; stdcall; // Экспортный номер - 737 // ПК [17/5/2004] //------------------------------------------------------------------------------- // Изменить режим ортогонального черчения // Возвращаемое значение: // 1 в случае успеха, 0 - в случае неудачи // Входные параметры: // doc - указатель на документ // orthoMode - режим ортогонального черчения ( 1 - включить, 0 - выключить ) // Функция работает только в визуальном режиме // --- function ksSetOrthoMode( doc : Reference; orthoMode : Integer ): Integer; stdcall; // Экспортный номер - 741 // ПК [26/5/2004] //----------------------------------------------------------------------------- // Функция возвращает режим ожидания DblClick при редактировании макрообъекта // Возвращаемое значение: // 1 - режим ожидания DblClick включен, 0 - выключен // Входные параметры: // ref - указатель на макроэлемент // --- function ksGetMacroWaitDblClickEdit( ref : Reference ) : Integer; stdcall; // Экспортный номер - 742 // ПК [26/5/2004] //------------------------------------------------------------------------------- // Изменить режим ожидания DblClick при редактировании макрообъекта // Возвращаемое значение: // 1 - в случае успеха, 0 - в случае неудачи // Входные параметры: // ref - указатель на макроэлемент // waitDblClick - режим ожидания DblClick ( 1 - включить, 0 - выключить ) // --- function ksSetMacroWaitDblClickEdit( ref : Reference; waitDblClick : Integer ) : Integer; stdcall; //////////////////////////////////////////////////////////////////////////////// // // Раздел "Модельные объекты". LT_MODEL.h // //////////////////////////////////////////////////////////////////////////////// // Экспортный номер - 22 kAPI2D5.dll //------------------------------------------------------------------------------- // функция устарела 4.10.97 со временем будет удалена // Создать объект "неуказанная шероховатость".Объект действителен для листа. // Функция возвращает указатель на объект "неуказанная шероховатость". //------------------------------------------------------------------------------- function SpecRough( _type : Byte; //пип знака 0-вид обр-ки не уст-ся 1- обр-ка удалением слоя материала // 2 -обр-ка без удаления слоя материала t : Byte; //1- есть знак в скобках 0 -нет s : PChar ) : Reference; //текст stdcall; // Экспортный номер - 58 kAPI2D5.dll //------------------------------------------------------------------------------- // Объект "неук.шероховатость" для листа //------------------------------------------------------------------------------- function ksSpecRough( par : PSpecRoughParam ) : Reference; //параметры для неуказанной шероховатости stdcall; // Экспортный номер - 49 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "точка". // Возвращается указатель на объект "точка". //------------------------------------------------------------------------------- function Point( x,y : Double; //координаты точки style : Word ) : Reference; //стиль отрисовки точки stdcall; // Экспортный номер - 45 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "отрезок". // Возвращается указатель на объект "отрезок". //------------------------------------------------------------------------------- function LineSeg( x1, y1, //первая точка отрезка x2, y2 : Double; //вторая точка отрезка style : Word ) : Reference; // стиль отрисовки отрезка stdcall; // Экспортный номер - 31 kAPI2D5.dll //------------------------------------------------------------------------------- // Тип знака // 0 без значка // 1 стрелка изнутри // 2 стрелка снаружи // 3 засечка с продолжением кривой ( с хвостиком ) // 4 верхняя половина стрелки изнутри // 5 нижняя половина стрелки изнутри // 6 большая стрелка изнутри (7мм) // 7 стрелка для размера высоты(штрихи длиной 4 мм под углом 45 гр ) // 8 треугольник по направлению кривой // 9 окружность радиусом 2 мм тонкой линией // 10 обозначение фиктивного центра в виде большого креста // 11 знак склеивания // 12 знак пайки // 13 знак сшивания // 14 знак соединения внахлестку металл скобами // 15 знак углового соединения металл скобами // 16 знак монтажного шва // 17 засечка без продолжения кривой (без хвостика) // Ввод в модель аннотационного отрезка ( не зависит от масштаба и может иметь значки на концах //---------------------------------------------------------------------------------------------- function AnnLineSeg( x1, y1, //первая точка отрезка x2, y2 : Double; //вторая точка отрезка term1, term2 : Byte; //типы значков на концах отрезка style : Word ) : Reference; //стиль отрисовки отрезка stdcall; // Экспортный номер - 61 kAPI2D5.dll //---------------------------------------------------------------------------------------------- // Ввод в модель значка определенного типа // Тип значка см. функцию AnnLineSeg //---------------------------------------------------------------------------------------------- function PointArraw( x, y, // точка привязки значка ang : Double; // угол отрисовки значка term : Byte ) : Reference; // тип отрисовки значка stdcall; // Экспортный номер - 32 kAPI2D5.dll //------------------------------------------------------------------------------ // Ввод в модель дуги по точкам со стрелками // составной объект из дуги и PointArraw на концах дуги // Типы значков см. функцию AnnLineSeg //------------------------------------------------------------------------------ function AnnArcByPoint( xc, yc, //цетр дуги rad, //радиус дуги x1, y1, //точка на дуге x2, y2 : Double; //точка на дуге direction : SmallInt; //направление отрисовки дуги term1, term2 : Byte; //типы значков на концах отрезка style : Word ) : Reference; //стиль отрисовки дуги stdcall; // Экспортный номер - 46 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "вспомогательная линия". // Возвращается указатель на объект "вспомогательная линия". //------------------------------------------------------------------------------- function Line( x, y, //точка на линии angle : Double ) : Reference; //угол линии относительно оси X в гр. stdcall; // Экспортный номер - 51 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "дуга" по центру и углам. // Возвращается указатель на объект "дуга". //------------------------------------------------------------------------------- function ArcByAngle( xc, yc, //цетр дуги rad, //радиус дуги f1, f2 : Double; //начальный и конечный угол direction : SmallInt; //направление отрисовки дуги style : Word ) : Reference;//стиль отрисовки дуги stdcall; // Экспортный номер - 7 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "дуга" по трем точкам. // Возвращается указатель на объект "дуга". //------------------------------------------------------------------------------- function ArcBy3Points( x1, y1, //точка на дуге x2, y2, //точка на дуге x3, y3 : Double; //точка на дуге style : Word ) : Reference; //стиль отрисовки дуги stdcall; // Экспортный номер - 52 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "дуга" по центу и конечным точкам. // Возвращается указатель на объект "дуга". //------------------------------------------------------------------------------- function ArcByPoint( xc, yc, //цетр дуги rad, //радиус дуги x1, y1, //точка на дуге x2, y2 : Double; //точка на дуге direction : SmallInt; //направление отрисовки дуги style : Word ) : Reference; //стиль отрисовки дуги stdcall; // Экспортный номер - 53 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "окружность". // Возвращается указатель на объект "окружность". //------------------------------------------------------------------------------- function Circle( xc,yc, //центр окружности rad : Double; //радиус окружности style : Word ) : Reference; //стиль отрисовки окружности stdcall; // Экспортный номер - 132 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "эллипс". // Возвращается указатель на объект "эллипс". //------------------------------------------------------------------------------- function ksEllipse( par : PEllipseParam ) : Reference; //параметры эллипса stdcall; // Экспортный номер - 42 kAPI2D5.dll //------------------------------------------------------------------------------- // Ввод в модель дуги эллипса //------------------------------------------------------------------------------- function ksEllipseArc( par : PEllipseArcParam ) : Reference; stdcall; // Экспортный номер - 133 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "эквидистанта". // Возвращается указатель на объект "эквидистанта". //------------------------------------------------------------------------------- function Equidistant( par : PEquidistantParam ) : Reference; //параметры эквидистанты stdcall; // Экспортный номер - 30 kAPI2D5.dll //-------------------------------------------------------------------------------- /// Nurbs по характеристическим точкам конического сечения //-------------------------------------------------------------------------------- function NurbsForConicCurve( x : Double4; y : Double4; style : Word ) : Reference; stdcall; // Экспортный номер - 298 //------------------------------------------------------------------------------- // Создать объект "Осевая линия" // --- function ksAxisLine( param : PAxisLineParam ) : Reference; stdcall; // Экспортный номер - 83 kAPI2D5.dll //------------------------------------------------------------------------------- // Открывает параграф. // Составной объект. Объекты TextLine, вводимые между орераторами Paragraph и // EndObj, принадлежат параграфу. // Параграф, может состоять из нескольких строк, строки могут состоять из // нескольких компонент.Компоненты могут изменять параметры текущего фонта. // EndObj возвращает указатель на параграф. //------------------------------------------------------------------------------- function Paragraph( par : PParagraphParam ) : Integer; //par- параметры параграфа stdcall; // Экспортный номер - 84 kAPI2D5.dll //------------------------------------------------------------------------------- // Задать участок(компоненту) строки текста. // Компонента строки должна иметь изменение хотя бы одного свойства // по отношению к текущему фонту. // Спецзнак задается отдельной компонентой. // bitVector формируется с помощью логической операции | из набора определений // [INVARIABLE ...NEW_LINE] см. ltdefine.h. //------------------------------------------------------------------------------- function TextLine( bitVector : Cardinal; //свойства строки, которые задаются вкл.-выкл. tip : Integer; //тип свойства строки, которое задается значением value : Pointer; //указатель на значение свойства строки s : PChar ) : Integer; //строка символов stdcall; // Экспортный номер - 283 //------------------------------------------------------------------------------- // задать выравнивание строки текста //--------------------------------------------------------------------------- function ksSetTextLineAlign( align : Cardinal ) : Integer; stdcall; // стиль строки текста // Экспортный номер - 85 kAPI2D5.dll //---------------------------------------------------------------------------- // Ввод одной строки текста. // bitVector формируется с помощью логической операции |. Поддерживаются // определения: ITALIC_ON ( включить наклон ),BOLD_ON (включить толщину), // UNDERLINE_ON (включить подчеркивание). См. ltdefine.h. // Если необходимо задать дробь, отклонение, спецзнак использовать // алгоритм 4-й версии: // отклонение - $ верхнее отклонение ; нижнее отклонение $ // дробь - $d числитель ; знаменатель $ // спецзнак - &nn номер спецсимвола 0 - 99 //---------------------------------------------------------------------------- function ksText( x, y, //точка привязки текста ang, //угол наклона текста hStr, //высота текста ksuStr : Double; //сужение текста bitVector : Cardinal; //свойства строки, которые задаются вкл.-выкл. s : PChar ) : Reference; //строка символов stdcall; // Экспортный номер - 750 //---------------------------------------------------------------------------- // Создать многострочный текст по структуре параметров // align - выравнивание текста - выравнивание 0 - слева, 1 - по центру,2 - справа, 3 - на всю ширину // align - -1 установить выравнивание как у стиля текста //---------------------------------------------------------------------------- function ksTextEx( txtParam : PTextParam; align : Integer ) : Reference; stdcall; // Экспортный номер - 96 kAPI2D5.dll //-------------------------------------------------------------------------- // преобразовать текст в кривые // функция возвращает временную группу кривых, которые описывают текст //-------------------------------------------------------------------------- function ksConvertTextToCurve( text : Reference ) : Reference; stdcall; // Экспортный номер - 42 kAPI2D5.dll //------------------------------------------------------------------------------- // Открывает контур. // Составной объект. Объекты , вводимые между орераторами Contour и EndObj, // принадлежат контуру. // В контуре могут лежать отрезки, дуги, окружность превращается в дугу, сплайны // Конечная точка предыдущего звена должна совпадать с начальной точкой // последующего звена. EndObj возвращает указатель на контур. //------------------------------------------------------------------------------- function Contour( style : Word ) : Integer; //стиль отрисовки stdcall; // Экспортный номер - 43 kAPI2D5.dll //-------------------------------------------------------------------------------- // создает новый макроэлемент. // Составной объект. Объекты вида, вводимые между орераторами Macro и EndObj, // принадлежат макроэлементу. EndObj возвращает указатель на макроэлемент. //-------------------------------------------------------------------------------- function Macro( _type : Byte ) : Integer; //0- в текущий слой, 1- многослойный макро stdcall; // Экспортный номер - 195 kAPI2D5.dll //--------------------------------------------------------------------------- // открыть макрообъект для редактирования // в этом режиме можно добавлять в macro новые объекты вида, // использовать функцию FindObj // режим закрывается функцией EndObj(); //--------------------------------------------------------------------------- function ksOpenMacro( macro : Reference ) : Integer; stdcall; // Экспортный номер - 44 kAPI2D5.dll //-------------------------------------------------------------------------------- // Закрыть составной объект. Возвращает указатель на составной объект. //-------------------------------------------------------------------------------- function EndObj : Reference; stdcall; // Экспортный номер - 264 kAPI2D5.dll //------------------------------------------------------------------------------ // По точке и временной группе или только по точке и // текущему виду вернуть временную группу контуров, охватывающих эту точку (для штриховки). // Функция возвращает указатель на временную группу контуров или 0, если контуров не // нашлось или в случае ошибки // --- function ksMakeEncloseContours( gr : Reference; //временная группа или 0, если нужны контура в виде x, y : Double ) : Reference; stdcall; //точка внутри охватываемых контуров // Экспортный номер - 47 kAPI2D5.dll //-------------------------------------------------------------------------------- // Открывает штриховку. // Составной объект. Объекты вида, вводимые между орераторами Hatch и EndObj, // принадлежат штриховке и образуют границу штриховки. // EndObj возвращает указатель на штриховку. //-------------------------------------------------------------------------------- function Hatch( style : Word; //стиль штриховки angle, //угол штриховки в гр. step, //шаг штриховки width, //ширина полосы штрихования вдоль границы штриховки x0, y0 : Double ) : Integer; //начальная точка штриховки stdcall; //-------------------------------------------------------------------------------- // Открывает штриховку. // Составной объект. Объекты вида, вводимые между орераторами HatchEx и EndObj, // принадлежат штриховке и образуют границу штриховки. // EndObj возвращает указатель на штриховку. //-------------------------------------------------------------------------------- function HatchEx( style : SmallInt; //стиль штриховки angle, //угол штриховки в гр. step, //шаг штриховки width, //ширина полосы штрихования вдоль границы штриховки x0, y0 : Double; //начальная точка штриховки color : Cardinal; //цвет FREE_COLOR (0xff000000l) sheetAng : Byte ) : Integer; // 0 - угол собственный ( накатка ) 1 -угол листовой ( обычная штриховка) stdcall; // Экспортный номер - 265 kAPI2D5.dll //------------------------------------------------------------------------------ // Создать штриховку по структуре параметров // --- function ksHatch( par : PHatchParam ) : Reference; stdcall; //------------------------------------------------------------------------------ // Создать штриховку по структуре параметров // Функция возвращает указатель на штриховку в случае удачного завершения // --- function ksHatchEx( par : PHatchParamEx ) : Reference; stdcall; // Экспортный номер - 211 kAPI2D5.dll //-------------------------------------------------------------------------------- // Открывает фоновую заливку цветом // Составной объект. Объекты вида, вводимые между операторами ksColouring и EndObj, // принадлежат заливке и образуют границу залики. // EndObj возвращает указатель на заливку. //-------------------------------------------------------------------------------- function ksColouring( color : DWord ) : Integer; stdcall; // Экспортный номер - 752 // 21.09.2004 //-------------------------------------------------------------------------------- // Создает фоновую заливку цветом // Объекты из группы group образуют границу заливки // Возвращает указатель на заливку. //-------------------------------------------------------------------------------- function ksColouringEx( color : DWord; group : Reference ) : Reference; stdcall; //------------------------------------------------------------------------------ // Функция возвращает копию границы штриховки или заливки во временной группе // --- function ksDuplicateBoundaries( p : reference ) : reference; //указатель на штриховку или заливку stdcall; //------------------------------------------------------------------------------ // Функция возвращает копию границы штриховки или заливки во временной группе // p - указатель на штриховку или заливку // systemCoord - 1 - в системе координат листа, 0 - в системе координат текущего вида // --- function ksDuplicateBoundariesEx( p : reference ; systemCoord : Byte ) : reference; stdcall; // Экспортный номер - 50 kAPI2D5.dll //-------------------------------------------------------------------------------- // Ввод точки для построения Bezier-сплайна. //-------------------------------------------------------------------------------- function BezierPoint( par : PBezierPointParam ) : Integer; //структура параметров узла для Bezier - кривой stdcall; // Экспортный номер - 145 kAPI2D5.dll //-------------------------------------------------------------------------------- // Ввод точки для построения Nurbs-сплайна. //-------------------------------------------------------------------------------- function NurbsPoint( par : PNurbsPointParam ) : Integer; stdcall; // Экспортный номер - 246 kAPI2D5.dll //------------------------------------------------------------------------------ // Ввод узла для построения Nurbs сплайна. // --- function ksNurbsKnot( knot : double ) : integer; // Экспортный номер - 48 kAPI2D5.dll //-------------------------------------------------------------------------------- // Открывает объект Bezier-сплайн. // Составной объект. Объекты BezierPoint, вводимые между операторами Bezier и // EndObj, принадлежат сплайну. EndObj возвращает указатель на Bezier-сплайн. //-------------------------------------------------------------------------------- function Bezier( closed : Byte; //тип замыкания сплайна 0 - незамкнутый 1 - замкнутый style : Word ) : Integer; //стиль отрисовки сплайна stdcall; // Экспортный номер - 6 kAPI2D5.dll //-------------------------------------------------------------------------- // Создать сплайн по массиву Bezier-точек. Возвращается указатель на Bezier сплайн. //-------------------------------------------------------------------------- function _Bezier( par : PBezierPointParam; //массив точек, определяющих сплайн countPoints : Integer; //количество точек в массиве closed : Byte; //тип замыкания сплайна 0 - незамкнутый 1 - замкнутый style : Word ) : Reference; //стиль отрисовки сплайна stdcall; // Экспортный номер - 144 kAPI2D5.dll //-------------------------------------------------------------------------------- // Открывает объект Nurbs-сплайн. // Составной объект. Объекты NurbsPoint, вводимые между операторами Nurbs и // EndObj, принадлежат сплайнeу. EndObj возвращает указатель на Nurbs-сплайн. //-------------------------------------------------------------------------------- function Nurbs ( degree : Byte; //степень сплайна > 2 && < 9 close : Byte; //тип замыкания сплайна 0 - незамкнутый 1 - замкнутый style : Word ) : Integer; //стиль отрисовки сплайна stdcall; // Экспортный номер - 169 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Ввод в модель конического сечения // Это может быть дуга окружности, дуга эллипса, nurbs //------------------------------------------------------------------------------------------------- function ksConicArc( par : PConicArcParam ) : Reference; //параметры конического сечения stdcall; // Экспортный номер - 100 kAPI2D5.dll //------------------------------------------------------------------------------ // создать объект "обозначение центра" // --- function ksCentreMarker( par : PCentreParam ) : Reference; stdcall; // Экспортный номер - 101 kAPI2D5.dll //------------------------------------------------------------------------------ // создать объект "прямоугольник" // --- function ksRectangle( par : PRectangleParam; //параметры объекта centre : Byte ) : Reference;//признак построения осей 0 - нет осей 1- спецзнак, 2- горизонтальная ось 3- обе оси stdcall; // Экспортный номер - 102 kAPI2D5.dll //------------------------------------------------------------------------------ // создать объект "правильный многоугольник" // --- function ksRegularPolygon( par : PRegularPolygonParam; //параметры объекта centre : Byte ) : Reference; //признак построения осей 0 - нет осей 1- спецзнак, 2- горизонтальная ось 3- обе оси stdcall; // Экспортный номер - 111 kAPI2D5.dll //------------------------------------------------------------------------------ // Вставить растровый объект // --- function ksInsertRaster( par : PRasterParam ) : Reference; stdcall; // Экспортный номер - 148 kAPI2D5.dll //-------------------------------------------------------------------------- // Открывает полилинию. // Составной объект. Объекты Point, вводимые между операторами ksPolyline // и EndObj, принадлежат полилинии. EndObj возвращает указатель на полилинию. //-------------------------------------------------------------------------- function ksPolyline( style : Word ) : Integer; //стиль отрисовки сплайна stdcall; // Экспортный номер - 23 kAPI2D5.dll //-------------------------------------------------------------------------- // Создать полилинию по структуре полилинии Возвращается указатель на полилинию. //-------------------------------------------------------------------------- function _ksPolyline( par : PPolylineParam ) : Reference; stdcall; //-------------------------------------------------------------------------- // Создать полилинию по структуре параметров //-------------------------------------------------------------------------- function ksPolylineEx( par : PolylineParamEx ) : Reference; stdcall; // Экспортный номер - 135 kAPI2D5.dll //------------------------------------------------------------------------------ // Проверить замкнута кривая или нет // Функция возвращает -1 в случае неудачи, 0 - кривая разомкнута, 1 - кривая замкнута // --- function ksIsCurveClosed( p : reference ) : integer; stdcall; //указатель на кривую // Экспортный номер - 135 kAPI2D5.dll //-------------------------------------------------------------------------------- // Открывает таблицу. // Составной объект. Объекты, вводимые между операторами Table и EndObj // принадлежат таблице. Допустимые объекты - отрезки, тексты. Отрезки должны быть // вертикальными и горизонтальными. // Стиль линии для таблицы: 1-основная, 2-тонкая, 7-утолщенная, 0-невидимая // EndObj возвращает указатель на таблицу. //-------------------------------------------------------------------------------- function Table : Integer; stdcall; // Экспортный номер - 183 kAPI2D5.dll //--------------------------------------------------------------------------- //открыть составной объект - таблицу для редактирования //--------------------------------------------------------------------------- function ksOpenTable( table : Reference ) : Integer; stdcall; // Экспортный номер - 192 kAPI2D5.dll //--------------------------------------------------------------------------- // Перестроить виртуальную сетку таблицы ksOpenTable() или ksOpenTolerance(); // Функция используется в режиме редактирования ksRebuildTableVirtualGrid(..); // таблицы или допуска формы EndObj(); // Таблица работает с виртуальной сеткой - регулярная таблица, наложенная на редактируемую // таблицу, отображающая все ячейки. Если редактируемая таблица регулярная, то ее виртуальная // сетка полностью совпадает с таблицей. // Нумерация ячеек начинается с левого верхнего угла и с единицы по строкам. // Перестраивать сетку нужно после объединения или разделения ячеек //--------------------------------------------------------------------------- function ksRebuildTableVirtualGrid : Integer; stdcall; // Экспортный номер - 193 kAPI2D5.dll //--------------------------------------------------------------------------- // Выдать количество ячеек в таблице // ( для виртуальной сетки ) ksOpenTable() или ksOpenTolerance(); // Функция используется в режиме редактирования ksGetTableItemsCount(..); // таблицы или допуска формы EndObj(); //--------------------------------------------------------------------------- function ksGetTableItemsCount( _type : Byte ) : Integer; //0-общее число ячеек ,1-число ячеек в строке,2-число ячеек в колонке stdcall; // Экспортный номер - 186 kAPI2D5.dll //--------------------------------------------------------------------------- // Функция выдает текст ячейки, и смещается на следующую ячейку // Если не определен индекс ячейки с помощью функции ColumnNumber, начинает с первой // ячейки. // Возвращает указатель на динамический массив строк текста - TEXT_LINE_ARR // или 0, когда все графы пройдены или в случае ошибки ksOpenTable(..); // если numb != NULL -возвращаем номер графы ksGetTableColumnText(..); // Функция используется в режиме редактирования таблицы EndObj(); // Нумерация начинается с единицы //--------------------------------------------------------------------------- function ksGetTableColumnText( Var numb : Cardinal; par : PTextParam ) : Integer; stdcall; // Экспортный номер - 237 kAPI2D5.dll //--------------------------------------------------------------------------- // Функция заменяет текст ячейки таблицы, ksOpenTable(..); // Возвращает 1 в случае успеха и 0 в случае неудачи ksSetTableColumnText(..); // Функция используется в режиме редактирования таблицы EndObj(); //--------------------------------------------------------------------------- function ksSetTableColumnText( numb : Cardinal; par : PTextParam ) : Integer; stdcall; // Экспортный номер - 187 kAPI2D5.dll //--------------------------------------------------------------------------- // очистить ячейку таблицы или допуска формы // если numb = 0 очищаем всю таблицу // нумерация начинается с 1 ksOpenTable() или ksOpenTolerance(); // Функция используется в режиме редактирования таблицы ksClearTableColumnText(..); // или допуска формы EndObj(); //--------------------------------------------------------------------------- function ksClearTableColumnText( numb : Cardinal ) : Integer; stdcall; // Экспортный номер - 188 kAPI2D5.dll //--------------------------------------------------------------------------- // объединить две ячейки таблицы, если они имеют общее ребро // нумерация начинается с 1 ksOpenTable() или ksOpenTolerance(); // Функция используется в режиме редактирования ksCombineTwoTableItems(..); // таблицы или допуска формы EndObj(); //--------------------------------------------------------------------------- function ksCombineTwoTableItems( index1 : Cardinal; //индекс первой ячейки index2 : Cardinal ) : Integer; //индекс второй ячейки stdcall; // Экспортный номер - 189 kAPI2D5.dll //--------------------------------------------------------------------------- // разделить ячейку таблицы, // нумерация начинается с 1 ksOpenTable() или ksOpenTolerance(); // Функция используется в режиме редактирования ksDivideTableItem(..); // таблицы или допуска формы EndObj(); //--------------------------------------------------------------------------- function ksDivideTableItem( index : Cardinal; //индекс ячейки vertical : Byte; //1 - вертикально 0 -горизонтально style : Word ) : Integer; //стиль линии 0-невидимая, 1-основная, 2-тонкая,7-утолщенная stdcall; // Экспортный номер - 190 kAPI2D5.dll //--------------------------------------------------------------------------- // изменить стиль ребра таблицы // нумерация начинается с 1 ksOpenTable() или ksOpenTolerance(); // Функция используется в режиме редактирования ksSetTableBorderStyle(..); // таблицы или допуска формы EndObj(); // возвращает 1 - успех 0 - неудача //--------------------------------------------------------------------------- function ksSetTableBorderStyle( index : Cardinal; //индекс ячейки typeBorder : Byte; //тип ребра 0-левое,1-правое,2-верхнеее,3-нижнее style : Word ) : Integer; //стиль линии 0-невидимая, 1-основная, 2-тонкая,7-утолщенная stdcall; // Экспортный номер - 191 kAPI2D5.dll //--------------------------------------------------------------------------- // выдать стиль ребра таблицы // нумерация начинается с 1 ksOpenTable() или ksOpenTolerance(); // Функция используется в режиме редактирования ksGetTableBorderStyle(..); // таблицы или допуска формы EndObj(); // возвращает стиль ячейки или -1 в случае ошибки //--------------------------------------------------------------------------- function ksGetTableBorderStyle( index : Cardinal; //индекс ячейки typeBorder : Byte ) : Integer;//тип ребра 0-левое,1-правое,2-верхнеее,3-нижнее stdcall; // Экспортный номер - 8 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "линейный размер". // Возвращается указатель на объект "линейный размер". //------------------------------------------------------------------------------- function LinDimension( linPar : PLDimParam ) : Reference;//параметры линейного размера stdcall; // Экспортный номер - 104 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "линейный размер с обрывом". // Возвращается указатель на объект "линейный размер с обрывом". //------------------------------------------------------------------------------- function LinBreakDimension( linPar : PLBreakDimParam ) : Reference; stdcall; // Экспортный номер - 9 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "диаметральный размер". // Возвращается указатель на объект "диаметральный размер". //------------------------------------------------------------------------------- function DiamDimension( linPar : PRDimParam ) : Reference; //параметры диаметрального размера stdcall; // Экспортный номер - 10 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "радиальный размер". // Возвращается указатель на объект "радиальный размер". //------------------------------------------------------------------------------- function RadDimension( linPar : PRDimParam ) : Reference; //параметры радиального размера stdcall; // Экспортный номер - 11 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "радиальный размер с изломом". // Возвращается указатель на объект "радиальный размер с изломом". //------------------------------------------------------------------------------- function RadBreakDimension( linPar : PRBreakDimParam ) : Reference; //параметры радиального размера с изломом stdcall; // Экспортный номер - 12 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "угловой размер". // Возвращается указатель на объект "угловой размер". //------------------------------------------------------------------------------- function AngDimension( angPar : PADimParam ) : Reference;//параметры углового размера stdcall; // Экспортный номер - 105 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "угловой размер с обрывом". // Возвращается указатель на объект "угловой размер с обрывом". //------------------------------------------------------------------------------- function AngBreakDimension( angPar : PABreakDimParam ) : Reference; stdcall; //------------------------------------------------------------------------------- // Создать объект "размер высоты". // Возвращается указатель на объект "размер высоты". //------------------------------------------------------------------------------- function ksOrdinatedDimension( ordPar : POrdinatedDimParam ) : Reference; stdcall; // Экспортный номер - 14 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "шероховатость поверхности". // Возвращается указатель на объект "шероховатость поверхности". //------------------------------------------------------------------------------- function Rough( roughPar : PRoughParam ) : Reference; //параметры шероховатости stdcall; // Экспортный номер - 15 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "линия выноски". // Возвращается указатель на объект "линия выноски". //------------------------------------------------------------------------------- function Leader( leaderPar : PLeaderParam ) : Reference; //параметры линии выноски stdcall; // Экспортный номер - 16 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "позиционная линия выноски". // Возвращается указатель на объект "позиционная линия выноски". //------------------------------------------------------------------------------- function PositionLeader( leaderPar : PPosLeaderParam ) : Reference; //параметры позиционной линии выноски stdcall; // Экспортный номер - 17 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "линии выноски для обозначения клеймения". // Возвращается указатель на объект "линии выноски для обозначения клеймения". //------------------------------------------------------------------------------- function BrandLeader( leaderPar : PBrandLeaderParam ) : Reference; //параметры линии выноски для обозначения клеймения stdcall; // Экспортный номер - 18 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "линии выноски для обозначения маркирования". // Возвращается указатель на объект "линии выноски для обозначения маркирования". //------------------------------------------------------------------------------- function MarkerLeader( leaderPar : PMarkerLeaderParam ) : Reference; //параметры линии выноски для обозначения маркирования stdcall; // Экспортный номер - 19 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "обозначение базы". // Возвращается указатель на объект "обозначение базы". //------------------------------------------------------------------------------- function Base( par : PBaseParam ) : Reference;//параметры обозначения базы stdcall; // Экспортный номер - 20 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "линия разреза/сечения". // Возвращается указатель на объект "линия разреза/сечения". //------------------------------------------------------------------------------- function CutLine( par : PCutLineParam ) : Reference; //параметры линии разреза/сечения stdcall; // Экспортный номер - 21 kAPI2D5.dll //------------------------------------------------------------------------------- // Создать объект "стрелка вида". // Возвращается указатель на объект "стрелка вида". //------------------------------------------------------------------------------- function ViewPointer( par : PViewPointerParam ) : Reference; //параметры стрелки вида stdcall; // Экспортный номер - 140 kAPI2D5.dll //-------------------------------------------------------------------------------- // Открыть составной объект "допуск формы". // Опрераторы ColumnNumber и TextLine, вводимые между операторами // Tolerance и EndObj, принадлежат допуску формы. // ColumnNumber определяет номер ячейки, куда помещать текст. // Вначале считается, что допуск формы имеет таблицу из 10 колонок и // 10 строк. Нумерация идет слева на право и сверху вниз // 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 27 28 29 30 // ............................. // 91 92 93 94 95 96 97 98 99 100 // При завершении создания объекта таблица форматируется и лишние ячейки // удаляются. EndObj возвращает указатель на допуск формы. //-------------------------------------------------------------------------------- function Tolerance( par : PToleranceParam ) : Integer; //параметры допуска формы stdcall; //-------------------------------------------------------------------------------- // Открыть составной объект "допуск формы". // Опрераторы ColumnNumber и TextLine, вводимые между операторами // ksTolerance и EndObj, принадлежат допуску формы. // ColumnNumber определяет номер ячейки, куда помещать текст. // Вначале считается, что допуск формы имеет таблицу из 10 колонок и // 10 строк. Нумерация идет слева на право и сверху вниз // 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 27 28 29 30 // ............................. // 91 92 93 94 95 96 97 98 99 100 // При завершении создания объекта таблица форматируется и лишние ячейки // удаляются. EndObj возвращает указатель на допуск формы. //-------------------------------------------------------------------------------- function ksTolerance( par : PksTolerancePar ) : Integer; stdcall; // Экспортный номер - 184 kAPI2D5.dll //--------------------------------------------------------------------------- //открыть составной объект - допуск формы для редактирования //--------------------------------------------------------------------------- function ksOpenTolerance( tolerance : Reference ) : Integer; stdcall; // Экспортный номер - 185 kAPI2D5.dll //--------------------------------------------------------------------------- // Функция выдает текст ячейки, и смещается на следующую ячейку // Если не определен индекс ячейки с помощю функции ColumnNumber, начинает с первой // ячейки. // Возвращает 1 в случае успеха // или 0, когда все графы пройдены или в случае ошибки // после использования массив par->pTextItem желательно удалить ksOpenTolerance(..) // если numb != NULL -возвращаем номер графы ksGetToleranceColumnText(..) // Функция используется в режиме редактирования допуска формы EndObj(); //--------------------------------------------------------------------------- function ksGetToleranceColumnText( Var numb : Cardinal; //номер ячейки par : PTextLineParam ) : Integer;//параметры строки текста stdcall; // Экспортный номер - 236 kAPI2D5.dll //--------------------------------------------------------------------------- // Функция заменяет текст ячейки допуска формы ksOpenTolerance(..) // Возвращает 1 в случае успеха и 0 в случае неудачи ksSetToleranceColumnText(..) // Функция используется в режиме редактирования допуска формы EndObj(); //--------------------------------------------------------------------------- function ksSetToleranceColumnText( numb : Cardinal; //номер ячейки par : PTextLineParam ) : Integer; //параметры строки текста stdcall; // Экспортный номер - 214 kAPI2D5.dll //--------------------------------------------------------------------------- // Для объекта "допуск формы" получить 3..4..5 // координаты точки на таблице : : // согласно указанному типу. 2 6 // Функция возвращает 1 в случае успеха : : // 0 - в случае неудачи 1..8..7 //--------------------------------------------------------------------------- function ksGetPointOnToleranceTable( tolerance : Reference; // указатель на допуск формы entry : Byte; // тип точки на таблице допуска формы point : PMathPointParam ) : Integer; // координаты точки stdcall; //------------------------------------------------------------------------------ // Ввод параметра для построения Nurbs сплайна кусочно-степенным способом. // --- function ksAddPowerForm( x, y : Double ) : Integer; stdcall; //------------------------------------------------------------------------------ // Создание части Nurbs сплайна кусочно-степенным способом. // --- function ksCreatePowerArc : Integer; stdcall; //------------------------------------------------------------------------------ // Усечь Nurbs сплайн от tMin до tMax // --- function ksTrimNurbs( pObj : reference; tMin, tMax : Double ) : Integer; stdcall; //------------------------------------------------------------------------------ // Выдать имя параметрической переменной размера // dimObj - указатель на размер // varName - имя переменной, size - размер буфера выделенного под имя переменной // --- function ksGetDimensionVariableName( dimObj : reference; varName : PChar; size: Integer ) : Integer; stdcall; // Экспортный номер - 708 //------------------------------------------------------------------------------------------------- // Для текстового документа получить количество листов // txtDoc = 0 - для текущего текстового документа //------------------------------------------------------------------------------------------------- function ksGetTxtDocumentPagesCount( txtDoc : reference ) : Integer; stdcall; // Экспортный номер - 717 //------------------------------------------------------------------------------- // Создать объект "Выносной элемент" //------------------------------------------------------------------------------- function ksRemoteElement( param : PRemoteElementParam ) : reference; stdcall; //////////////////////////////////////////////////////////////////////////////// // // Математика LT_Math.h // //////////////////////////////////////////////////////////////////////////////// // Экспортный номер - 88 kAPI2D5.dll //------------------------------------------------------------------------------ // Аппроксимировать кривую дугами и отрезками с определенной точностью // Функция возвращает 0 в случае неудачи или указатель на контур, дугу, отрезок // Реально аппроксимируются bezier, nurbs, эквидистанта, эллирс, дуга эллипса и контур. // Остальные кривые игнорируются // --- function ksApproximationCurve( p : reference; // указатель на кривую eps : double ; // точность аппроксимации 1e-7...1 curentLayer : byte ; // тип размещения по слоям 0 - на слой кривой 1- в текущий слой maxRad : double ; // максимально - допустимый радиус 0- ограничение не накладывается smooth : byte ) : reference; stdcall; // 1- гладкое сопряжение 0- не гладкое сопряжение //------------------------------------------------------------------------ //Математика //------------------------------------------------------------------------ //------------------------------------------------------------------------ // Экспортный номер - 206 kAPI2D5.dll //----------------------------------------------------------------------------- // Определяет эквивалентность двух точек // функция возвращает 1, если точки равны, 0 - не равны //----------------------------------------------------------------------------- function ksEqualPoints( x1, y1, //первая точка x2, y2 : Double ) : Integer; //вторая точка stdcall; // Экспортный номер - 54 kAPI2D5.dll //---------------------------------------------------------------------------- // Выдает угол в градусах. //----------------------------------------------------------------------------- function Angle( x1, y1, //первая точка x2, y2 : Double ) : Double; //вторая точка stdcall; // Экспортный номер - 65 //------------------------------------------------------------------------------ // Возвращает косинус аргумента. //------------------------------------------------------------------------------- function CosD( x : Double ) : Double; // x-угол в градусах stdcall; // Экспортный номер - 56 kAPI2D5.dll //------------------------------------------------------------------------------ // Возвращает синус аргумента. //------------------------------------------------------------------------------- function SinD( x : Double ) : Double; // x-угол в градусах stdcall; // Экспортный номер - 57 kAPI2D5.dll //------------------------------------------------------------------------------ // Возвращает тангенс аргумента. //------------------------------------------------------------------------------- function TanD( x : Double ) : Double; // x-угол в градусах stdcall; // Экспортный номер - 58 kAPI2D5.dll //------------------------------------------------------------------------------ // Арктангенс. Возвращает значение угла в градусах //------------------------------------------------------------------------------- function AtanD( x : Double ) : Double; stdcall; // Экспортный номер - 61 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение двух отрезков. //--------------------------------------------------------------------------------- procedure IntersectLinSLinS( x11, y11, //первая точка первого отрезка x12, y12, //вторая точка первого отрезка x21, y21, //первая точка второго отрезка x22, y22 : Double; //вторая точка второго отрезка Var kp : Integer; //количество точек пересечения Var xp, yp : Double ) //точка пересечения stdcall; //------------------------------------------------------------------------------ // Пересечение отрезка и прямой. // --- procedure IntersectLinSLine( x1, y1, // первая точка отрезка x2, y2, // вторая точка отрезка x, y, // точка на прямой ang : Double; // угол прямой Var kp : Integer; // количество пересечений Var xp, yp : Double ); stdcall; // коор-ты точки пересечения //------------------------------------------------------------------------------ // Пересечение дуги окружности и прямой // --- procedure IntersectArcLin( xc, yc, rad, // координаты центра и радиус дуги f1, f2 : Double; n : Integer; // углы начальной и конечной точек, направление дуги x, y, ang : Double; // точка и угол прямой Var kp : Integer; // количество пересечений Var xp, yp : Double ); stdcall; // коор-ты точек пересечения // Экспортный номер - 62 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение двух прямых. //--------------------------------------------------------------------------------- procedure IntersectLinLin( x1, y1, //точка на первой прямой angle1, //угол первой прямой x2, y2, //точка на второй прямой angle2 : Double; //угол второй прямой Var kp : Integer; //количество точек пересечения Var xp, yp : Double ) //точка пересечения stdcall; // Экспортный номер - 63 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение двух окружностей. //--------------------------------------------------------------------------------- procedure IntersectCirCir( xc1, yc1, //центр первой окружности radius1, //радиус первой окружности xc2, yc2, //центр второй окружности radius2 : Double; //радиус втророй окружности Var kp : Integer; //количество точек пересечения xp, yp : Double2 ); //массивы точек пересечения stdcall; // Экспортный номер - 64 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение двух дуг. //--------------------------------------------------------------------------------- procedure IntersectArcArc( xac, yac, //центр первой дуги rada, //радиус первой дуги fa1, fa2 : Double; //начальный и конечный угол первой дуги directa : SmallInt; //направление первой дуги xbc, ybc, //центр второй дуги radb, //радиус второй дуги fb1, fb2 : Double; //начальный и конечный угол второй дуги directb : SmallInt; //направление второй дуги Var kp : Integer; //количество точек пересечения xp, yp : Double2 ); //массивы точек пересечения stdcall; // Экспортный номер - 65 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение отрезка и дуги. //--------------------------------------------------------------------------------- procedure IntersectLinSArc( x1, y1, //первая точка отрезка x2, y2, //вторая точка отрезка xc, yc, //центр дуги rad, //радиус дуги f1, f2 : Double; //начальный и конечный угол дуги direct : SmallInt; //направление дуги Var kp : Integer; //количество точек пересечения xp, yp : Double2 ); //массивы точек пересечения stdcall; // Экспортный номер - 66 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение отрезка и окружности. //--------------------------------------------------------------------------------- procedure IntersectLinSCir( x1, y1, //первая точка отрезка x2, y2, //вторая точка отрезка xc, yc, //центр окружности rad : Double; //радиус окружности Var kp : Integer; //количество точек пересечения xp, yp : Double2 ); //массивы точек пересечения stdcall; // Экспортный номер - 67 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение окружности и прямой. //--------------------------------------------------------------------------------- procedure IntersectCirLin( xc, yc, //центр окружности rad, //радиус окружности xl, yl, //точка на прямой angle : Double; //угол прямой в гр. Var kp : Integer; //количество точек пересечения xp, yp : Double2 ); //массивы точек пересечения stdcall; // Экспортный номер - 68 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение окружности и дуги. //--------------------------------------------------------------------------------- procedure IntersectCirArc( xcc, ycc, //центр окружности radc, //радиус окружности xac, yac, //центр дуги rada, //радиус дуги fa1, fa2 : Double; //начальный и конечный угол дуги directa : Integer; //направление дуги Var kp : Integer; //количество точек пересечения xp, yp : Double2 ); //массивы точек пересечения stdcall; // Экспортный номер - 69 kAPI2D5.dll //-------------------------------------------------------------------------------- // Пересечение двух кривых. //--------------------------------------------------------------------------------- procedure IntersectCurvCurv ( p1 : Reference; //указатель на первую кривую p2 : Reference; //указатель на вторую кривую Var kp : Integer; //количество точек пересечения xp, yp : Pointer; //массивы точек пересечения maxCount : Integer ); //максимально-допустимое количество точек в массивах stdcall; // Экспортный номер - 70 kAPI2D5.dll //----------------------------------------------------------------------------- // Точки касания окружности и прямой из задданной точки. //----------------------------------------------------------------------------- procedure TanLinePointCircle( x, y, //координаты точки xc, yc, //центр окружности rad : Double; //радиус окружности Var kp : Integer; //количество точек касания xp, yp : Double2 ); //массивы точек касания stdcall; // Экспортный номер - 71 kAPI2D5.dll //----------------------------------------------------------------------------- // Точки касания окружности и прямой под задданым углом. //----------------------------------------------------------------------------- procedure TanLineAngCircle( xc, yc, //центр окружности rad, //радиус окружности ang : Double; //угол наклона прямой xp, yp : Double2 ); //массивы точек касания stdcall; // Экспортный номер - 158 kAPI2D5.dll //------------------------------------------------------------------------------- // Функция определяет точки касания прямых к двум окружностям. // TAN содержит координаты двух точек касания, и определяет одну касательную // прямую. Касательных прямых может быть от 0 до 4. // Функция возвращает количество возможных касательных прямых. //------------------------------------------------------------------------------- function TanCircleCircle( xc1, yc1, //центр 1-ой окружности radius1, //радиус 1-ой окружности xc2, yc2, //центр 2-ой окружности radius2 : Double; //радиус 2-ой окружности tang : TAN4 ) : Integer; //массив касательных отрезков stdcall; // Экспортный номер - 72 kAPI2D5.dll //----------------------------------------------------------------------------- // Сопряжения для двух прямых. // Функция определяет сопрягающие окружности определенного радиуса и точки // сопряжения. Заполняются 4 структуры CON, если сопряжение есть. //----------------------------------------------------------------------------- procedure CouplingLineLine( x1, y1, //точка на первой прямой angle1, //угол первой прямой x2, y2, //точка на второй прямой angle2, //угол второй прямой rad : Double; //радиус окружности сопряжения Var kp : Integer; //количество сопрягающих окружностей con : CON4 ); //структуры сопряжения stdcall; // Экспортный номер - 167 kAPI2D5.dll //----------------------------------------------------------------------------- // Функция определяет сопрягающие окружности определенного радиуса и точки // сопряжения. Заполняются до 8 структур CON если сопряжение есть //----------------------------------------------------------------------------- procedure ksCouplingLineCircle( xc, yc, //центр окружности radc, //радиус окружности x1, y1, //точка на прямой angle1, //угол прямой rad : Double; //радиус окружности сопряжения Var kp : Integer; //количество сопрягающих окружностей con : CON8 ); //структуры сопряжения stdcall; // Экспортный номер - 168 kAPI2D5.dll //----------------------------------------------------------------------------- // Функция определяет сопрягающие окружности определенного радиуса и точки // сопряжения для двух окружностей // заполняются до 8 структур CON если сопряжение есть //----------------------------------------------------------------------------- procedure ksCouplingCircleCircle( xc1, yc1, // центр первой окружности radc1, //радиус первой окружности xc2, yc2, // центр второй окружности radc2, //радиус второй окружности rad : Double; //радиус окружности сопряжения Var kp : Integer; //количество сопрягающих окружностей con : CON8 ); //структуры сопряжения stdcall; // Экспортный номер - 73 kAPI2D5.dll //----------------------------------------------------------------------------- // Симметрия точки относительно оси. //----------------------------------------------------------------------------- procedure Symmetry( x , y, //координаты точки x1, y1, //координаты первой точки оси x2, y2 : Double; //координаты второй оси Var xc, yc : Double ); //результат stdcall; // Экспортный номер - 74 kAPI2D5.dll //----------------------------------------------------------------------------- // Повернуть точку относительно центра. //----------------------------------------------------------------------------- procedure Rotate( x, y, //координаты точки xc, yc, //координаты центра ang : Double; //угол поворота Var xr, yr : Double ); //результат stdcall; // Экспортный номер - 75 kAPI2D5.dll //----------------------------------------------------------------------------- // расстояние между двумя точками. //----------------------------------------------------------------------------- function DistancePntPnt ( x1, y1, //координаты первой точки x2, y2 : Double ) : double; //координаты второй точки stdcall; // Экспортный номер - 207 kAPI2D5.dll //----------------------------------------------------------------------------- // расстояние между точкой и отрезком //----------------------------------------------------------------------------- function ksDistancePntLineSeg ( x, y, //координаты точки x1, y1, //первая точка отрезка x2, y2 : Double ) : Double; //вторая точка отрезка stdcall; // Экспортный номер - 208 kAPI2D5.dll //----------------------------------------------------------------------------- // расстояние между точкой и дугой //----------------------------------------------------------------------------- function ksDistancePntArc ( x, y, //координаты точки xac, yac, //центр дуги rada, //радиус дуги fa1, fa2 : Double; //начальный и конечный угол дуги directa : SmallInt ) : Double; //направление дуги stdcall; // Экспортный номер - 209 kAPI2D5.dll //----------------------------------------------------------------------------- // расстояние между точкой и окружностью //----------------------------------------------------------------------------- function ksDistancePntCircle ( x, y, //координаты точки xc, yc, //центр окружности rad : Double ) : Double; //радиус окружности stdcall; // Экспортный номер - 210 kAPI2D5.dll //----------------------------------------------------------------------------- // расстояние между точкой и прямой, заданной точкой и углом //----------------------------------------------------------------------------- function ksDistancePntLine ( x, y, //координаты точки x1, y1, //координаты точки на прямой angle : Double ) : Double; //угол прямой stdcall; // Экспортный номер - 212 kAPI2D5.dll //----------------------------------------------------------------------------- // расстояние между точкой и прямой, заданной точками //----------------------------------------------------------------------------- function ksDistancePntLineForPoint ( x, y, //координаты точки x1, y1, //координаты точки на прямой x2, y2 : Double) : Double; //координаты точки на прямой stdcall; // Определить точку пересечения отрезка и перпендикуляра к нему из // заданной точки. //----------------------------------------------------------------------------- procedure Perpendicular ( x , y, //координаты произвольной точки x1, y1, //координаты первой точки x2, y2 : Double; //координаты второй точки Var xp, yp : Double ); //координаты точки проекции stdcall; // Экспортный номер - 164 kAPI2D5.dll //--------------------------------------------------------------------------- // Сдвинуть точку по напралению и длине //--------------------------------------------------------------------------- procedure MovePoint ( Var x, y : Double; //координаты точки ang, len : Double ); //угол сдвига в гр. и длина сдвига stdcall; // Экспортный номер - 224 kAPI2D5.dll //----------------------------------------------------------------------------- // Функция возвращает угол нормали к кривой в заданной точке ( 0 - 360 гр ). // Если точка не находится на кривой, то точка проецируется на кривую. // В случае неудачи возвращается -1 //----------------------------------------------------------------------------- function ksGetCurvePerpendicular( curve : Reference; //указатель на кривую x, y : Double ) : Double; //координаты точки stdcall; // Экспортный номер - 223 kAPI2D5.dll //----------------------------------------------------------------------------- // Функция возвращает массив равномерно расположенных на кривой точек. // В случае неудачи возвращается 0 //----------------------------------------------------------------------------- function ksPointsOnCurve( curve : Reference; //указатель на кривую count : Integer ) : Reference; //количество точек stdcall; // Экспортный номер - 258 kAPI2D5.dll //----------------------------------------------------------------------------- // Функция возвращает координаты проекции точки на кривую. // В случае неудачи возвращается 0. //----------------------------------------------------------------------------- function ksGetCurvePointProjection( curve : Reference; // Указатель на кривую x, y : Double; // Координаты точки Var kx, ky : Double ) : Integer; // Координаты проекции точки stdcall; // Экспортный номер - 258 kAPI2D5.dll //----------------------------------------------------------------------------- // Функция возвращает координаты проекции точки на кривую. // В случае неудачи возвращается 0. //----------------------------------------------------------------------------- function ksGetCurvePointProjectionEx( curve : Reference; // Указатель на кривую x, y : Double; // Координаты точки Var kx, ky : Double; // Координаты проекции точки Var t : Double ) : Integer; // Параметр кривой stdcall; // Экспортный номер - 258 kAPI2D5.dll //----------------------------------------------------------------------------- // Функция преобразует параметр кривой t в координаты вида. // В случае неудачи возвращается 0. //----------------------------------------------------------------------------- function ksGetCurvePoint( curve : Reference; // Указатель на кривую t : Double; // Параметр кривой Var kx, ky : Double ) : Integer; // Координаты проекции точки stdcall; // Экспортный номер - 225 kAPI2D5.dll //----------------------------------------------------------------------------- // Функция продвигает точку на расстояние len по кривой. // Если точка не находится на кривой, то точка проецируется на кривую. // Функция возвращает 1 в случае успеха или 0 при неудаче. //----------------------------------------------------------------------------- function ksMovePointOnCurve( curve : Reference; // Указатель на кривую Var x, y : Double; // Координаты точки len : Double; // Расстояние на которое нужно сместить точку dir : Integer ) : Integer; // Направление продвижения точки(1 - в направлении построения кривой, -1 в обратном напрвлении ) stdcall; // Экспортный номер - 228 kAPI2D5.dll //----------------------------------------------------------------------------- // Найти периметр кривой //----------------------------------------------------------------------------- function ksGetCurvePerimeter( curve : Reference; // Указатель на кривую dimension : Byte ) : Double; // Размерность длины в интервале [ST_MIX_SM..ST_MIX__M] stdcall; // Экспортный номер - 746 //----------------------------------------------------------------------------- // Функция возвращает минимальный и максимальный параметр кривой. // В случае неудачи возвращается 0. //----------------------------------------------------------------------------- function ksGetCurveMinMaxParametr( curve : Reference; // указатель на кривую tMin : PDouble; // минимальный параметр кривой tMax : PDouble ) : Integer; // максимальный параметр кривой stdcall; // Экспортный номер - 747 //----------------------------------------------------------------------------- // Функция возвращает расстояние между двумя точками на кривой // по парамертрам кривой в данных точках // В случае неудачи возвращается 0 //----------------------------------------------------------------------------- function ksDistanceT1T2OnCurve( curve :reference; // указатель на кривую t1 : Double; // Параметр кривой в точке 1 t2 : Double ) : Double; // Параметр кривой в точке 2 stdcall; // Экспортный номер - 754 //----------------------------------------------------------------------------- // Функция расчета касательных к двум кривым . // Возвращает: // 1 успешное завершение // 0 построить касательную нельзя ( кривые совпадают или одна кривая вложена в другую ) // -1 первый объект не существует // -2 второй объект не существует // -3 кривые расположены в разных видах // -4 не совпадают СК определения кривых (геом и анн) (?) // -5 первый объект не является кривой // -6 второй объект не является кривой // -7 ошибка // --- function ksTanCurvCurv( p1, // Указатель на первую кривую p2, // Указатель на вторую кривую pointArr1, // Массив точек на первой кривой pointArr2 : Reference ) : Integer; // Массив точек на второй кривой stdcall; // Экспортный номер - 229 kAPI2D5.dll //----------------------------------------------------------------------------- // Найти плоские моментно-центровочные характеристики кривой или группы кривых // Кривые должны быть замкнутыми и представлять собой наружные и внутренние контура // Если контура заданы корректно, функция возвращает 1. //----------------------------------------------------------------------------- function ksCalcInertiaProperties( p : Reference; //указатель на кривую или группу кривых properties : PInertiaParam; //указатель на структуру моментно-центровочных характкристик dimension : Byte ) : Integer; //размерность в интервале [ST_MIX_SM..ST_MIX__M] stdcall; // Экспортный номер - 230 kAPI2D5.dll //----------------------------------------------------------------------------- // Найти объемные массо-центровочные характеристики кривой или группы кривых // для тел вращения или выдавливания // Кривые должны быть замкнутыми и представлять собой наружные и внутренние контура // профиля. // bitVector - определяет размерность длины, размерность массы, // тип детали ( вращение или выдавливание ). Флаги находятся в интервале [ST_MIX_MM..ST_MIX_RV] // Пример ( метры|кг|вращение- ST_MIX_M|ST_MIX_KG|ST_MIX_RV ) //----------------------------------------------------------------------------- function ksCalcMassInertiaProperties( p : Reference; // указатель на кривую или группу кривых properties: PMassInertiaParam; // указатель на структуру массо-центровочных характкристик bitVector : Cardinal; // набор флагов density : Double; // плотность в г/см3 param : Double ) : Integer; // если тело вращения-угол раствора в градусах, тело выдавливания - толщина stdcall; // Экспортный номер - 38 kAPI2D5.dll //-------------------------------------------------------------------------- // перевести точку из СК вида в локальную СК //-------------------------------------------------------------------------- function ksPointIntoMtr( x, y : Double; //координаты точки Var xn : Double; //результат Var yn : Double ) : Integer; stdcall; // Экспортный номер - 39 kAPI2D5.dll //-------------------------------------------------------------------------- // перевести точку из локальной СК в СК вида //-------------------------------------------------------------------------- function ksPointFromMtr( x, y : Double; //координаты точки Var xn : Double; //результат Var yn : Double ) : Integer; stdcall; // Экспортный номер - 91 kAPI2D5.dll //------------------------------------------------------------------------------ // Проверить нахождение точки по отношению к контуру // Функция возвращает 0 в случае неудачи, 1 - точка вне контура, 2 - точка на контуре 3 - точка внутри контура // --- function ksIsPointInsideContour( p : reference; //указатель на контур x,y : double; //координаты точки precision : double ) : integer; // точность проверки 1..1E-6 stdcall; // Экспортный номер - 40 kAPI2D5.dll //-------------------------------------------------------------------------- // перевести длину в локальную СК //-------------------------------------------------------------------------- function ksLengthIntoMtr( Var len : Double ) : Integer; stdcall; // Экспортный номер - 41 kAPI2D5.dll //-------------------------------------------------------------------------- // перевести длину из локальной СК //-------------------------------------------------------------------------- function ksLengthFromMtr( Var len : Double ) : Integer; stdcall; //----------------------------------------------------------------------------- // Функция возвращает массив точек расположенных на кривой с заданным шагом. // В случае неудачи возвращается 0 //----------------------------------------------------------------------------- function ksPointsOnCurveByStep( curve : reference; // указатель на кривую step : Double ) : reference; // шаг расположения точек stdcall; //----------------------------------------------------------------------------- // Функция возвращает расстояние между двумя точками на кривой. // Если точки не находится на кривой, то точки проецируются на кривую. // В случае неудачи возвращается 0 //----------------------------------------------------------------------------- function ksDistancePntPntOnCurve( curve : reference; // указатель на кривую x1, y1, // точки на кривой x2, y2 : Double ) : Double; stdcall; // Экспортный номер - 78 kAPI2D5.dll //-------------------------------------------------------------------------- // подсчитать выражение // s = выражение; Поддерживаются функции и переменные : // SIN,COS,TAN,ATAN, - тригонометрическине функии ( аргумент в рад ) // SQRT,EXP,LN,ABS, -корень квадратный, экспонента, натуральный логарифм, абсолютное значение // SIND,COSD,TAND,ATAND - тригонометрическине функии (аргумент в град ) // Если s = "A1 = 100 " - будет заведена переменная A1 c значение 100; // переменных может быть неограниченное количество // Функция возвращает 1 в случае успеха или 0 в случае неудачи //-------------------------------------------------------------------------- function ksCalculate( s : PChar; //выражение Var rez : Double ) : Integer; //результат stdcall; // Экспортный номер - 79 kAPI2D5.dll //-------------------------------------------------------------------------- // очистить массив переменных калькулятора // Функция возвращает 1 в случае успеха или 0 в случае неудачи //-------------------------------------------------------------------------- function ksCalculateReset : Integer; stdcall; //-------------------------------------------------------------------------------- // Пересечение двух кривых . // Возвращает: // 1 успешное завершение // 0 кривые не пересекаются или совпадают // -1 первый объект не существует // -2 второй объект не существует // -3 кривые расположены в разных видах // -4 не совпадают СК определения кривых (геом и анн) (?) // -5 первый объект не является кривой // -6 второй объект не является кривой // -7 ошибка // динамический массив точек пересечения array должен быть создан до передачи его в функцию. //--------------------------------------------------------------------------------- function ksIntersectCurvCurv ( p1 : Reference; // указатель на первую кривую p2 : Reference; // указатель на вторую кривую pArr : Reference ) : Integer; stdcall; // динамический массив точек пересечения MathPointParam //----------------------------------------------------------------------------- // Точки касания кривой и прямой из заданной точки // Возвращает количество точек касания или 0 в случае неудачи // динамический массив точек касания pArray должен быть создан до передачи его в функцию. //----------------------------------------------------------------------------- function ksTanLinePointCurve( x, y : Double; //координаты точки pCur, //указатель кривую pArr : Reference ) : Integer; stdcall; // динамический массив точек касания MathPointParam //////////////////////////////////////////////////////////////////////////////// // // Работа с атрибутами. LT_Attr.h // //////////////////////////////////////////////////////////////////////////////// // Экспортный номер - 174 kAPI2D5.dll //------------------------------------------------------------------------- // Создать тип атрибута в библиотеке libname // если libname = NULL- тип атрибута создается в документе // функция возвращает уникальный номер типа или 0 при неудаче //------------------------------------------------------------------------- function ksCreateAttrType( attrType : PksAttributeType; // информация о типе атрибута libname : PChar ) : Double; // имя библиотеки типов атрибутов stdcall; // Экспортный номер - 106 kAPI2D5.dll //------------------------------------------------------------------------- // Удалить тип атрибута в библиотеке libname. // Если libname = NULL, тип атрибута удаляется из документа. //------------------------------------------------------------------------- function DeleteAttrType( attrID : Double; // уникальный номер типа libname : PChar; // имя библиотеки типов атрибутов password : PChar ) : Integer; // пароль типа атрибута stdcall; // Экспортный номер - 175 kAPI2D5.dll //------------------------------------------------------------------------- // Получить тип атрибута из библиотеки libname. // Если libname = NULL, тип атрибута считывается из документа. // Заполняется структура ksAttributeType. //------------------------------------------------------------------------- function ksGetAttrType( attrID : Double; // уникальный номер типа libname : PChar; // имя библиотеки типов атрибутов attrType : PksAttributeType ) : Integer; // информация о типе атрибута stdcall; // Экспортный номер - 176 kAPI2D5.dll //------------------------------------------------------------------------- // Изменить тип атрибута в библиотеке libname. // Если libname = NULL, тип атрибута изменить в документе. // Функция возвращает уникальный номер типа или 0 при неудаче. //------------------------------------------------------------------------- function ksSetAttrType( attrID : Double; // уникальный номер типа libname : PChar; // имя библиотеки типов атрибутов attrType : PksAttributeType; // информация о типе атрибута password : PChar ) : Double; // пароль типа атрибута stdcall; // Экспортный номер - 109 kAPI2D5.dll //------------------------------------------------------------------------- // Создать атрибут по номеру типа атрибута из библиотеки libname. // Если libname = NULL, тип атрибута берется из документа. // функция возвращает указатель на атрибут или 0 при неудаче. // Указателем на объект может быть группа, вид, объект, документ. // Если pObj = 0 - атрибут документа //------------------------------------------------------------------------- function CreateAttr( pObj : Reference; // указатель объекта к которому подключается атрибут attr : PAttribute; // информация об атрибуте attrID : Double; // уникальный номер типа libname : PChar ) : Reference; // имя библиотеки типов атрибутов stdcall; // Экспортный номер - 110 kAPI2D5.dll //------------------------------------------------------------------------- // Удалить атрибут. Функция возвращает 1 в случае успеха или 0 при неудаче. // Если pObj = 0 - атрибут документа //------------------------------------------------------------------------- function DeleteAttr ( pObj : Reference; // указатель объекта к которому подключен атрибут pAttr : Reference; // указатель атрибута password : PChar ) : Integer; // пароль атрибута stdcall; // Экспортный номер - 111 kAPI2D5.dll //------------------------------------------------------------------------- // Получить значение ячейки из таблицы атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function GetAttrValue ( pAttr : Reference; // указатель атрибута rowNumb : Word; // номер строки columnNumb : Word; // номер колонки flagVisible : PByte; // флаг видимости ячейки (одно значение, если не запись и массив значений, если запись) value : Pointer; // указатель на память пользователя, куда копируется значение ячейки size : Cardinal ) : Integer; // размер выделенной памяти stdcall; // Экспортный номер - 112 kAPI2D5.dll //------------------------------------------------------------------------- // Изменить значение ячейки в таблице атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function SetAttrValue ( pAttr : Reference; // указатель атрибута rowNumb : Word; // номер строки columnNumb : Word; // номер колонки flagVisible : PByte; // флаг видимости ячейки (одно значение, если не запись и массив значений, если запись) value : Pointer; // указатель на память пользователя, куда копируется значение ячейки size : Cardinal; // размер выделенной памяти password : PChar ) : Integer; // пароль атрибута stdcall; //------------------------------------------------------------------------- // Изменить значение ячейки в таблице атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function ksSetAttrValue ( pAttr : Reference; // указатель атрибута rowNumb : Word; // номер строки columnNumb : Word; // номер колонки flagVisible : PByte; // флаг видимости ячейки (одно значение, если не запись и массив значений, если запись) columnKeys : PByte; // указатель на массив ключей ячеек строки value : Pointer; // указатель на память пользователя, куда копируется значение ячейки size : Cardinal; // размер выделенной памяти password : PChar ) : Integer; // пароль атрибута stdcall; // Экспортный номер - 113 kAPI2D5.dll //------------------------------------------------------------------------- // Получить данные строки из таблицы атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function GetAttrRow ( pAttr : Reference; // указатель атрибута rowNumb : Word; // номер строки flagVisible : PByte; // флаг видимости ячейки (одно значение, если не запись и массив значений, если запись) value : Pointer; // указатель на память пользователя, куда копируется значение ячейки size : Cardinal ) : Integer; // размер выделенной памяти stdcall; // Экспортный номер - 253 kAPI2D5.dll //------------------------------------------------------------------------- // Получить данные строки из таблицы атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function ksGetAttrRow ( pAttr : Reference; // указатель атрибута rowNumb : Word; // номер строки flagVisible : PByte; // флаг видимости ячейки (одно значение, если не запись и массив значений, если запись) columnKeys : PByte; // указатель на массив ключей ячеек строки value : Pointer; // указатель на память пользователя, куда копируется значение ячейки size : Cardinal ) : Integer; // размер выделенной памяти stdcall; // Экспортный номер - 114 kAPI2D5.dll //------------------------------------------------------------------------- // Изменить данные строки в таблице атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function SetAttrRow ( pAttr : Reference; // указатель атрибута rowNumb : Word; // номер строки flagVisible : PByte; // флаг видимости ячейки (одно значение, если не запись и массив значений, если запись) value : Pointer; // указатель на память пользователя, куда копируется значение ячейки size : Cardinal; // размер выделенной памяти password : PChar ) : Integer; // пароль атрибута stdcall; // Экспортный номер - 254 kAPI2D5.dll //------------------------------------------------------------------------- // Изменить данные строки в таблице атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function ksSetAttrRow ( pAttr : Reference; // указатель атрибута rowNumb : Word; // номер строки flagVisible : PByte; // флаг видимости ячейки (одно значение, если не запись и массив значений, если запись) columnKeys : PByte; // указатель на массив ключей ячеек строки value : Pointer; // указатель на память пользователя, куда копируется значение ячейки size : Cardinal; // размер выделенной памяти password : PChar ) : Integer; // пароль атрибута stdcall; // Экспортный номер - 218 kAPI2D5.dll //------------------------------------------------------------------------- // добавить строку к табличному атрибуту неопределенной длины // функция возвращает 1 в случае успеха или 0 при неудаче //------------------------------------------------------------------------- function ksAddAttrRow ( pAttr : Reference; // указатель атрибута rowNumb : Integer; // номер строки, после которой вставлять, -1 -в конец flagVisible : PByte; // указатель на массив флагов видимости ячеек строки value : Pointer; // указатель на память пользователя, откуда копируются данн size : Cardinal; // размер выделенной памяти под value password : PChar ) : Integer; // пароль атрибута stdcall; // Экспортный номер - 219 kAPI2D5.dll //------------------------------------------------------------------------- // удалить строку табличного атрибута неопределенной длины // функция возвращает 1 в случае успеха или 0 при неудаче //------------------------------------------------------------------------- function ksDeleteAttrRow ( pAttr : Reference; // указатель атрибута rowNumb : Cardinal; // номер строки password : PChar ) : Integer; // пароль атрибута stdcall; // Экспортный номер - 177 kAPI2D5.dll //------------------------------------------------------------------------- // новая функция; взамен GetSizeAttrValue // получить размер данных ячейки //------------------------------------------------------------------------- function ksGetSizeAttrValue ( pAttr : Reference; // указатель атрибута columnNumb : Cardinal; // номер колонки Var count : Integer ) : Integer; // число ячеек (с учетом запмсисей) stdcall; // Экспортный номер - 178 kAPI2D5.dll //------------------------------------------------------------------------- // новая функция взамен GetSizeAttrRow // получить размер данных строки атрибутов //------------------------------------------------------------------------- function ksGetSizeAttrRow ( pAttr : Reference; // указатель атрибута Var count : Integer ) : Integer; // число ячеек (с учетом запмсисей) stdcall; // Экспортный номер - 117 kAPI2D5.dll //------------------------------------------------------------------------- // Выдать информацию о ключах атрибута. // Если присылается NULL, соответствующее поле не заполняется. //------------------------------------------------------------------------- function GetAttrKeysInfo( pAttr : Reference; // указатель атрибута Var key1 : Cardinal; // Var key2 : Cardinal; // ключи для поиска по ключам Var key3 : Cardinal; // Var key4 : Cardinal; // Var numb : Double ) : Integer; // номер типа атрибута для поиска по типу stdcall; // Экспортный номер - 118 kAPI2D5.dll //------------------------------------------------------------------------- // Получить информацию о столбце атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function GetAttrColumnInfo ( pAttr : Reference; // указатель атрибута columnNumb : Cardinal; // номер колонки columnInfo : PColumnInfo ) : Integer; // указатель информационной структуры для одного столбца stdcall; // Экспортный номер - 119 kAPI2D5.dll //------------------------------------------------------------------------- // Получить информацию о количестве строк и столбцов атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function GetAttrTabInfo ( pAttr : Reference; // указатель атрибута var rowsCount : Cardinal; // количество строк var columnsCount : Cardinal ) : Integer; // количество столбцов stdcall; // Экспортный номер - 120 kAPI2D5.dll //------------------------------------------------------------------------- // Выводится диалог для просмотра и редактирования атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. // Диалог привязан к главному окну. //------------------------------------------------------------------------- function ViewEditAttr ( pAttr : Reference; // указатель атрибута _type : Cardinal; // 1- просмотр 2- редактирование password : PChar ) : Integer; // пароль атрибута для просмотра 0 stdcall; // Экспортный номер - 121 kAPI2D5.dll //------------------------------------------------------------------------- // Выводится диалог для просмотра и редактирования типа атрибута. // Функция возвращает 1 в случае успеха или 0 при неудаче. // Диалог привязан к главному окну. //------------------------------------------------------------------------- function ViewEditAttrType ( libname : PChar; // имя библиотеки типов атрибутов _type : Cardinal; // 1- просмотр 2- редактирование attrId : Double; // уникальный номер типа password: PChar ) : Integer; // пароль типа для просмотра 0 stdcall; // Экспортный номер - 122 kAPI2D5.dll //------------------------------------------------------------------------- // Выводится диалог для просмотра в библиотеке атрибутов списка типов атрибутов // и выбора нужного типа. // Если libname = NULL, типы атрибутов берутся из документа. // Функция возвращает уникальный номер типа или 0 при неудаче. // Диалог привязан к главному окну. //------------------------------------------------------------------------- function ChoiceAttrTypes ( libname : PChar ) : Double; // имя библиотеки типов атрибутов stdcall; // Экспортный номер - 123 kAPI2D5.dll //------------------------------------------------------------------------- // Выводится диалог для просмотра атрибутов объекта и выбора нужного атрибута. // Функция возвращает указатель на атрибут в случае успеха или 0 при неудаче. //------------------------------------------------------------------------- function ChoiceAttr ( pObj : Reference ) : Reference; // указатель объекта к которому подключены атрибуты stdcall; // Экспортный номер - 123 kAPI2D5.dll //------------------------------------------------------------------------------------- // Функция возвращает указатель на динамический массив LIBRARY_ATTR_TYPE_ARR - // массив типов атрибутов, находящихся в заданной библиотеке типов. // В случае неудачи возвращает 0. //------------------------------------------------------------------------------------- function ksGetLibraryAttrTypesArray( libname : PChar ): Reference; // полное имя библиотеки типов атрибутов stdcall; //////////////////////////////////////////////////////////////////////////////// // // Работа со спецификацией LT_Spc.h // //////////////////////////////////////////////////////////////////////////////// // Экспортный номер - 44 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Создать объект спецификации в графическом документе // составной объект // Объект создается функцией SpcObjEnd(); // для атрибутов, описанных по ключам нужно указать тип в numb, потому что типов // с одинаковыми ключами можент быть несколько // nameLib и styleNumb - используются только для объектов СП в графическом документе, // в спецификации не используются //------------------------------------------------------------------------------------------------ function ksSpcObjectCreate( nameLib : PChar; //имя библиотеки стилей styleNumb : Cardinal; //номер стиля спецификации secNumb, subSecNumb : Word; //номер раздела и подраздела numb : Double; //для базового объекта- тип атрибута, который задан по ключам или 0 //для вспомогательного объекта - номер базового объекта, к которому прикрепляется вспомогательный либо 0 typeObj : Byte ) : Integer; //тип объекта 0- базовый объект 1- вспомогательный stdcall; // Экспортный номер - 50 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // принять объект спецификации для редактирования // Затем у объекта можно изменить атрибуты, геометрию, линии выноски, позицию, массу. // Редактирование данного объекта завершится вызовом функции ksSpcObjectEnd() //------------------------------------------------------------------------------------------------ function ksSpcObjectEdit( spcObj : Reference ) : Integer; stdcall; // Экспортный номер - 45 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // завершить объект спецификации // Все изменения будут занесены в документ. // Если объект новый, подключается к соответствующему описанию спецификации // текущего документа. // возвращается указатель на объект СП //------------------------------------------------------------------------------------------------ function ksSpcObjectEnd : Reference; stdcall; // Экспортный номер - 46 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Изменить значение компоненты с номером itemNumb в колонке с номером colNumb // В случае записи в колонке может быть несколько компонент и itemNumb может быть не равен 1 // typeVal - тип значения в интервале CHAR_ATTR_TYPE ...STRING_ATTR_TYPE см. ltdefine.h // функция работает в режиме создания нового или редактирования существующего объекта спецификации // ksSpcObjectCreate(...); или ksSpcObjectEdit(...); // ..... // ksSpcChangeValue(...); // ..... // reference spsObj = ksSpcObjectEnd(); //------------------------------------------------------------------------------------------------ function ksSpcChangeValue( colNumb : Cardinal; //номер колонки, начиная с единицы itemNum : Cardinal; //номер компоненты, начиная с единицы val : Pointer; //указатель на значение typeVal : Byte ) : Integer; //тип значения stdcall; // Экспортный номер - 47 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Изменить значение компоненты с номером itemNumb в колонке с номером colNumb // В случае записи в колонке может быть несколько компонент и itemNumb может быть не равен 1 // typeVal - тип значения в интервале CHAR_ATTR_TYPE ...STRING_ATTR_TYPE см. ltdefine.h // функция работает в режиме создания нового или редактирования существующего объекта спецификации // ksSpcObjectCreate(...); или ksSpcObjectEdit(...); // ..... // ksSpcVisible(...); // ..... // reference spsObj = ksSpcObjectEnd(); //------------------------------------------------------------------------------------------------ function ksSpcVisible( colNumb : Cardinal; //номер колонки, начиная с единицы itemNumb : Cardinal; //номер компоненты, начиная с единицы flagOn : Byte ) : Integer; //1 -включить компоненту 0- выключить stdcall; // Экспортный номер - 48 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Установить массу детали. Функция успешно завершится и вернет 1, если в объекте существует колонка // с типом колонки "масса". В случае неудачи возвращается 0. // функция работает в режиме создания нового или редактирования существующего объекта спецификации // ksSpcObjectCreate(...); или ksSpcObjectEdit(...); // ..... // ksSpcMassa(...); // ..... // reference spsObj = ksSpcObjectEnd(); //------------------------------------------------------------------------------------------------ function ksSpcMassa ( sMassa : PChar ) : Integer; //масса детали stdcall; // Экспортный номер - 63 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Установить количество детали для определенного исполнения.Функция успешно завершится и вернет 1, если в объекте существует колонка // с типом колонки "количество". В случае неудачи возвращается 0. // функция работает в режиме создания нового или редактирования существующего объекта спецификации // ksSpcObjectCreate(...); или ksSpcObjectEdit(...); // ..... // ksSpcCount(...); // ..... // reference spsObj = ksSpcObjectEnd(); //------------------------------------------------------------------------------------------------ function ksSpcCount ( ispoln : Byte; //номер исполнения sCount : PChar ) : Integer; //количество деталей stdcall; // Экспортный номер - 49 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Установить номер позиции.Функция успешно завершится и вернет 1, если в объекте существует колонка // с типом колонки "позициия". В случае неудачи возвращается 0. // функция работает в режиме создания нового или редактирования существующего объекта спецификации // ksSpcObjectCreate(...); или ksSpcObjectEdit(...); // ..... // ksSpcPosition(...); // ..... // reference spsObj = ksSpcObjectEnd(); //------------------------------------------------------------------------------------------------ function ksSpcPosition( pos : Word ) : Integer; stdcall; // Экспортный номер - 51 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // добавить или изменить геометрию или линии выноски в объекте спецификации // передавать можно группу или отдельный объект.Функция успешно завершится и вернет 1, если в объекте // предусмотрена возможность подключения геоментрии. В случае неудачи возвращается 0. // функция работает в режиме создания нового или редактирования существующего объекта спецификации // ksSpcObjectCreate(...); или ksSpcObjectEdit(...); // ..... // ksSpcIncludeReference(...); // ..... // reference spsObj = ksSpcObjectEnd(); //------------------------------------------------------------------------------------------------ function ksSpcIncludeReference( obj : Reference; //группа объектов или объект вида clear : Byte ) : Integer; //1 - очистить предыдущую геоментрию 0 - добавить к предыдущей stdcall; // Экспортный номер - 52 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // получить указатель объекта СП по геометрии для текущего графического документа // если obj = 0 - для макрообъекта редактирования // реализовано для equal = 1 // только для графических документов //------------------------------------------------------------------------------------------------ function ksGetSpcObjForGeom( nameLib : PChar; //имя библиотеки типов спецификации numb : Cardinal; //номер типа спецификации obj : Reference; // указатель на геометрию -группа или объект equal : Byte; // 1 - присланная геометрия идентична геометрии объекта СП; 0- входит в объект СП first : Byte ) : Reference; // 1 -первый объект 0- следующий объект stdcall; // Экспортный номер - 65 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // получить указатель объекта СП по геометрии с ограничениями по номеру раздела и типу атрибута // если obj = 0 - для макрообъекта редактирования // только для графических документов //------------------------------------------------------------------------------------------------ function ksGetSpcObjForGeomWithLimit( nameLib : PChar; //имя библиотеки типов спецификации numb : Cardinal; //номер типа спецификации obj : Reference; // указатель на геометрию -группа или объект equal : Byte; // 1 - присланная геометрия идентична геометрии объекта СП; 0- входит в объект СП first : Byte; // 1 -первый объект 0- следующий объект section : Word; // номер раздела, для которого найти объект, если 0 - не ограничивается attrTypeNumb : Double ) : Reference; // номер типа атрибута для которого найти объект, если 0 - не ограничивается stdcall; // Экспортный номер - 108 kAPI2D5.dll //------------------------------------------------------------------------------ // получить название раздела спецификации по референсу объекта СП // возвращает true в случае успешного завершения // --- function ksGetSpcSectionName( spcObj : Reference; // референс обеъекта спецификации name : PChar; // буфер для имени раздела size : Integer ) : Integer; // размер буфера stdcall; // Экспортный номер - 56 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Редактирование объекта спецификации. // Функция запускает окно редактирования для объекта спецификации, расположенного в графическом документе. // Функция запускает процесс. Так как ситема может работать только с одним процессом, то // нужно завершить другие процессные функции Cursor, Placement, CommandWindow, ksEditViewObject, ksCreateViewObject; //------------------------------------------------------------------------------------------------- function ksEditWindowSpcObject( obj : Reference ): Integer; stdcall; // Экспортный номер - 64 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Выдать уникальный номер объекта спецификации //------------------------------------------------------------------------------------------------- function ksGetSpcObjectNumber( spcObj : Reference ) : Double; stdcall; // Экспортный номер - 220 kAPI2D5.dll //---------------------------------------------------------------------- // создать итератор для хождения по объектам спецификации // описание спецификации определяется именем библиотеки стилей спецификации // и номером стиля // nameLib и styleNumb - используются только для объектов СП в графическом документе, // в спецификации не используются //---------------------------------------------------------------------- function CreateSpcIterator( nameLib : PChar; //имя библиотеки стилей спецификации styleNumb : Cardinal; //номер стиля спецификации spcObjType : Integer ) : Reference; // 0 - базовые объекты 1 - вспомагательные объекты 2- объекты из сортированного массива stdcall; // Экспортный номер - 67 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Выдать объект спецификации по номеру //------------------------------------------------------------------------------------------------- function ksGetSpcObject( objNumb : Double ) : Reference; stdcall; // Экспортный номер - 68 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Выдать текстовую строку для определенного типа колонки и исполнения // Номер блока block = 0 - число исполнений меньше количества исполнений в бланке спецификации // ( для групповой спецификации 2.113-75 число исполнений меньше 10 ) // функция возвращает 0 в случае успеха или количество символов, если длина size_s // оказалась меньше требуемой, -1 в случае ошибки //------------------------------------------------------------------------------------------------- function ksGetSpcObjectColumnText( spcObj : Reference; //объект спецификации columnType : Cardinal; //тип колонки SPC_CLM_FORMAT...SPC_CLM_USER ispoln : Cardinal; //исполнение данного типа block : Cardinal; //номер блока s : PChar; //указатель size_s : Cardinal ) : Integer; //длина строки s stdcall; // Экспортный номер - 69 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Заменить текст в определенного типа колонке и исполнении // Номер блока block = 0 - число исполнений меньше количества исполнений в бланке спецификации // ( для групповой спецификации 2.113-75 число исполнений меньше 10 ) // функция возвращает 1 в случае успеха или 0 в случае неудачи // функция работает в режиме создания нового или редактирования существующего объекта спецификации // ksSpcObjectCreate(...); или ksSpcObjectEdit(...); // ..... // ksSetSpcObjectColumnText(...); // ..... // reference spsObj = ksSpcObjectEnd(); //------------------------------------------------------------------------------------------------- function ksSetSpcObjectColumnText( columnType : Cardinal; //тип колонки SPC_CLM_FORMAT...SPC_CLM_USER ispoln : Cardinal; //исполнение данного типа block : Cardinal; //номер блока s : PChar ) : Integer; //указатель stdcall; // Экспортный номер - 723 //------------------------------------------------------------------------------------------------- // Выдать текст объекта СП року для определенного типа колонки и исполнения в виде // динамического массива TEXT_LINE_ARR // Номер блока block = 0 - число исполнений меньше количества исполнений в бланке спецификации // ( для групповой спецификации 2.113-75 число исполнений меньше 10 ) // функция возвращает указатель на динамический массив в случае успеха или // 0 в случае ошибки //------------------------------------------------------------------------------------------------- function ksGetSpcObjectColumnTextEx ( spcObj : reference; //объект спецификации columnType : Cardinal; //тип колонки SPC_CLM_FORMAT...SPC_CLM_USER ispoln : Cardinal; //номер колонки данного типа начиная с 1 block : Cardinal ) : //номер блока reference; stdcall; // Экспортный номер - 724 //------------------------------------------------------------------------------------------------- // Установить текст для определенного типа колонки и исполнения // Номер блока block = 0 - число исполнений меньше количества исполнений в бланке спецификации // ( для групповой спецификации 2.113-75 число исполнений меньше 10 ) // функция возвращает 1 в случае успеха или 0 в случае неудачи // функция работает в режиме создания нового или редактирования существующего объекта спецификации // ksSpcObjectCreate(...); или ksSpcObjectEdit(...); // ..... // ksSetSpcObjectColumnTextEx(...); // ..... // reference spsObj = ksSpcObjectEnd(); //------------------------------------------------------------------------------------------------- function ksSetSpcObjectColumnTextEx( columnType : Cardinal; //тип колонки SPC_CLM_FORMAT...SPC_CLM_USER ispoln : Cardinal; //исполнение данного типа начиная с 1 block : Cardinal; //номер блока p : reference ) : //указатель на динамический массив строк Integer; stdcall; // Экспортный номер - 757 //----------------------------------------------------------------------------------- // [6.06.05] // Установить выравнивание для текста колонки объекта спецификации // align : // 0 - Выравнивание влево // 1 - Выравнивание по центру // 2 - Выравнивание вправо // 3 - Выравнивание по ширине // --- function ksSetSpcObjectColumnTextAlign( spcObj : reference; // Объект спецификации columnNumber, // Номер колонки, начиная с 1 lineIndex, // Индекс строки align : Integer ) // Выравнивание : Integer; stdcall; // Экспортный номер - 766 //----------------------------------------------------------------------------------- // [16/07/05] // Получить выравнивание для текста колонки объекта спецификации // 0 - Выравнивание влево // 1 - Выравнивание по центру // 2 - Выравнивание вправо // 3 - Выравнивание по ширине // --- function ksGetSpcObjectColumnTextAlign( spcObj : reference; //объект спецификации columnNumber, //номер колонки, начиная с 1 lineIndex : Integer ) //индекс строки текста : Integer; stdcall; // Экспортный номер - 75 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Получить количество колонок для стиля спецификации в текущем документе // Если документ спецификация, nameLib и numb не используются. // Если число исполнений больше количества исполнений в бланке спецификации, // количество колонок выдается с учетом всех исполнений. // Функция возвращает количество колонок в случае успеха и 0 в случае неудачи //------------------------------------------------------------------------------------------------- function ksGetSpcTableColumn( nameLib : PChar; //имя библиотеки типов numb : Cardinal; // номер типа спецификации additioanalCol : Byte ) : Integer; // 0 - основные колонки( отображаются в таблице СП) 1- дополнительные колонки stdcall; // Экспортный номер - 76 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // По номеру колонки для данного объекта спецификации получить параметры колонки ( // тип колонки SPC_CLM_FORMAT...SPC_CLM_USER, исполнение данного типа, номер блокаа, // тип значения( зависит от раздела), имя колонки ) // Если число исполнений больше количества исполнений в бланке спецификации, // недостающие колонки исполнений пристыкованы справа от визуальных колонок, // затем пристыкованы дополнительные колонки // Функция возвращает 1 в случае успеха и 0 в случае неудачи //------------------------------------------------------------------------------------------------- function ksGetSpcColumnType( spcObj : Reference; //объект спецификации colNumb: Cardinal; //номер колонки, начиная с 1 par : PSpcColumnParam ) : Integer; //параметры колонки stdcall; // Экспортный номер - 77 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Для данного объекта спецификации // по типу колонки SPC_CLM_FORMAT...SPC_CLM_USER, номеру исполнения данного типа и номеру блока // получить номер колонки // Функция возвращает номер колонки в случае успеха и 0 в случае неудачи //------------------------------------------------------------------------------------------------- function ksGetSpcColumnNumb( spcObj : Reference; //объект спецификации columnType : Cardinal; //тип колонки SPC_CLM_FORMAT...SPC_CLM_USER ispoln : Cardinal; //исполнение данного типа начиная block : Cardinal ) : Integer; //номер блока stdcall; // Экспортный номер - 80 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Получить динамический массив листов сборочного чертежа (CHAR_STR_ARR), // подключенных к спецификации //------------------------------------------------------------------------------------------------- function ksGetSpcSheetSB( spcDoc : Reference ) : Reference; // спецификация stdcall; // Экспортный номер - 81 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Заменить динамический массив листов сборочного чертежа, подключенных к спецификации //------------------------------------------------------------------------------------------------- function ksSetSpcSheetSB( spcDoc : Reference; // спецификация arr : Reference ) : Integer; //динамический массив CHAR_STR_ARR stdcall; // Экспортный номер - 98 kAPI2D5.dll //------------------------------------------------------------------------------ // Cпецификация на листе // onSheet - 1 -включить, 0- выключить // Функция возвращает 1 в случае успешного завершения 0 - в случае неудачи // --- function ksSpecificationOnSheet( onSheet : Byte ) : Integer; stdcall; // Экспортный номер - 70 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Для документа спецификации получить количество листов // spcDoc = 0 - для текущей спецификации //------------------------------------------------------------------------------------------------- function ksGetSpcDocumentPagesCount( spcDoc : Reference ) : Integer; stdcall; // Экспортный номер - 113 kAPI2D5.dll //------------------------------------------------------------------------------ // Получить параметры для стиля спецификации с номером numb из библиотеки nameLib // если nameLib = nil параметры берутся у текущго документа // tPar <=ALLPARAM - заполняется структура SpcStyleParam // tPar == SPC_TUNING_PARAM - заполняется структура SpcTuningStyleParam // --- function ksGetSpcStyleParam( nameLib : PChar; // имя библиотеки типов numb : Cardinal; // номер типа спецификации par : Pointer; // структура параметров size : Cardinal; // размер структуры параметров tPar : Integer ) : Integer; // тип возвращаемых параметров stdcall; // Экспортный номер - 114 kAPI2D5.dll //------------------------------------------------------------------------------ // возвращает параметры описания спецификации для документа pDoc // index = -1 - текущее описание, (для документа-спецификации не используется) // state - состояние описания ( true - текущее, false - нет ) // --- function ksGetSpcDescription( pDoc : Reference; // указатель на документ index : Integer; // индекс описания СП в документе param : PSpcDescrParam; // параметры описания state : PChar ) : Integer; // состояние: true - активное, false - неактивное stdcall; // Экспортный номер - 116 kAPI2D5.dll //------------------------------------------------------------------------------ // для документа pDoc изменяет параметры описания спецификации с индексом index // и/или делает его активным, если state = true // index = -1 - текущее описание, (для документа-спецификации не используется) // если param = NULL - меняется только состояние // --- function ksSetSpcDescription( pDoc : Reference; // указатель на документ index : Integer; // индекс описания СП в документе param : PSpcDescrParam; // параметры описания state : Byte ) : Integer; // состояние: true - активное, false - неактивное stdcall; // Экспортный номер - 117 kAPI2D5.dll //------------------------------------------------------------------------------ // для документа pDoc добавляет описание спецификации // --- function ksAddSpcDescription( pDoc : Reference; // указатель на документ param : PSpcDescrParam ) : Integer; // параметры описания stdcall; //------------------------------------------------------------------------------ // для документа pDoc удалить параметры описания спецификации с индексом index // --- function ksDeleteSpcDescription( pDoc : Reference; // указатель на документ index : Integer ) : Integer; // индекс описания СП в документе stdcall; // Экспортный номер - 128 kAPI2D5.dll //------------------------------------------------------------------------------ // Получить указатель текущего объекта СП ( выделенного или редактируемого в таблице СП ) // Функция работает для видимых таблиц СП // --- function ksGetCurrentSpcObject : Reference; stdcall; // Экспортный номер - 129 kAPI2D5.dll //------------------------------------------------------------------------------------------------ // Установить текущий объект СП // либо по указателю объекта, либо по индексу объекта // Функция работает для видимых таблиц СП. // Функция возвращает 0 в случае успеха и 1 в случае удачи //------------------------------------------------------------------------------------------------ function ksSetCurrentSpcObject( spcObj : Reference; index : Integer ) : Integer; stdcall; // Экспортный номер - 89 kAPI2D5.dll //------------------------------------------------------------------------------------------------- // Проверить разрешена ли работа со спецификацией //------------------------------------------------------------------------------------------------- function ksIsModuleSpecificationActive : Integer; stdcall; // Экспортный номер - 135 kAPI2D5.dll //------------------------------------------------------------------------------ // Управление подключением модуля спецификации для режима сетевой работы системы // attach: 1 включить работу со спецификацией; 0 - выключить работу со спецификацией // Функция возвращает 1, если был инициирован процесс подключения или отключения СП. // В случае неудачи возвращается 0 // // --- function ksModuleSpecification( attach : Byte ) : Integer; stdcall; //------------------------------------------------------------------------------ // Выдать массив значений для определенного типа колонки и исполнения // Номер блока block = 0 - число исполнений меньше количества исполнений в бланке спецификации // ( для групповой спецификации 2.113-75 число исполнений меньше 10 ) // Для колонки типа "запись" функция вернет массив значений записи, а для колонки // состоящей из одного элемента - массив из одного элемента, соответствующего типа. // Тип возвращаемого массива - LTVARIANT_ARR // --- function ksGetSpcObjectColumnValues( spcObj : Reference; // объект спецификации columnType, // тип колонки SPC_CLM_FORMAT...SPC_CLM_USER ispoln, // номер колонки данного типа начиная с 1 block : Cardinal ) : Reference; stdcall; // номер блока //----------------------------------------------------------------------------- // Открыто ли окно slave СП для указанного документа // Если doc =0 - для активного документа // Функция возвращает 0 - не открыто, 1 - открыто, 2- открыто и активно // [17.4.04] // --- function ksIsSlaveSpcOpened( doc : Reference ) : Integer; stdcall; //------------------------------------------------------------------------------ // Выдать ширину колонки width. // numColumn - номер колонки. // cellOrText - ширина ячейки или ширина текста в ячейки //--- function ksGetWidthColumnSpc( numColumn : Integer; cellOrText : Byte ) : Integer; stdcall; // Экспортный номер - 764 //------------------------------------------------------------------------------- // [16/07/05] // Получить номер атрибута объекта спецификации // --- function ksGetSpcObjectAttributeNumber( spcObj : reference ) //объект спецификации : Double; stdcall; // Экспортный номер - 765 //------------------------------------------------------------------------------- // [16/07/05] // Установить номер атрибута объекта спецификации // если attrNumber == 0 то удалить атрибут // --- function ksSetSpcObjectAttributeNumber( spcObj : Reference; // объект спецификации attrNumber : Double ) // номер типа атрибута : Integer; stdcall; // Экспортный номер - 767 //------------------------------------------------------------------------------- // [16/07/05] // Получить суммарное количество для одинаковых объектов // для СП групповая А // blockNumber = 0 - постоянные данные // 1 и далее номера блоков для исполнений переменных данных // для остальных СП // blockNumber = 1 // --- function ksGetSpcObjectSummaryCount( spcObj : Reference; // объект спецификации ispoln, // номер колонки типа "количество", начиная с 1( актуально для СП типа Б ) blockNumber : Integer ) // номер блока, начиная с 0 ( актуально для СП типа A ) : Double; stdcall; // Экспортный номер - 284 apptool1.dll //-------------------------------------------------------------------------- // Выбрать из диалога плотность и наименование материала. Плотность выбирается из системного файла // плотностей graphic.dsn. // Функция возвращает плотность в г/см3 и наименование материала или 0 в случае неудачи // material - наименование материала // sizeStr - размер строки material // HWindow - HWND окна //-------------------------------------------------------------------------- function ksViewGetDensityAndMaterial( material : PChar; sizeStr : Integer; HWindow : HWND ) : Double; stdcall; // Экспортный номер - 703 //------------------------------------------------------------------------------ // Изменения параметров настроек спецификации документа // Если pDoc == 0, то для текущего документа // Если index == -1, то для текущего описания спецификации // Для документа спецификации : настройки можно заменить всегда // Для графиеского документа : в случае, если документ подключен к // спецификации или включен режим "Спецификация на листе". // Для 3d документа : в случае, если документ подключен к спецификации. // --- function ksSetTuningSpcStyleParam( pDoc : reference ; // указатель на документ index : Integer ; // индекс описания СП в документе par : PSpcTuningStyleParam ) // структура параметров : Integer; stdcall; // Экспортный номер - 704 //------------------------------------------------------------------------------ // Получение параметров настроек спецификации документа // Если pDoc == 0, то для текущего документа // Если index == -1, то для текущего описания спецификации // Для документа спецификации : настройки можно взять всегда // Для графиеского документа : в случае, если документ подключен к // спецификации или включен режим "Спецификация на листе". // Для 3d документа : в случае, если документ подключен к спецификации. // --- function ksGetTuningSpcStyleParam( pDoc : reference; // указатель на документ index: Integer ; // индекс описания СП в документе par : PSpcTuningStyleParam ) // структура параметров : Integer; stdcall; // Экспортный номер - 709 //------------------------------------------------------------------------------------------------ // Получить геометрию подключенную к объекту спецификации //--- function ksGetSpcObjGeometry( spcObj : reference ) : reference; stdcall; // Экспортный номер - 756 //----------------------------------------------------------------------------- // [31.03.2005] // Получить геометрию в виде группы, подключенную к объекту спецификации // geomMode = 0 - только геометрия // = 1 - только линии выноски // = 2 - геометрия и линии выноски // --- function ksGetSpcObjGeometryEx( spcObj : reference; geomMode : Integer ) : reference; stdcall; // [20.06.2005] // Экспортный номер - 763 //------------------------------------------------------------------------------------------------- // Для документа получить количество листов // pDoc = 0 - для текущего документаспецификации //------------------------------------------------------------------------------------------------- function ksGetDocumentPagesCount( pDoc : reference ) : Integer; implementation function ReturnResult; external APPTOOL5 Name 'ReturnResult'; function ResultNULL; external APPTOOL5 Name 'ResultNULL'; procedure StrResult; external APPTOOL5 Name 'StrResult' procedure MessageBoxResult; external APPTOOL5 Name 'MessageBoxResult'; function GetHWindow; external APPTOOL5 Name 'GetHWindow'; function ksGetWorkWindowColor; external APPTOOL5 Name 'ksGetWorkWindowColor'; procedure EnableTaskAccess; external APPTOOL5 Name 'EnableTaskAccess'; function IsEnableTaskAccess; external APPTOOL5 Name 'IsEnableTaskAccess' procedure PumpWaitingMessages; external APPTOOL5 Name 'PumpWaitingMessages'; function ksChoiceFile; external APPTOOL5 Name 'ksChoiceFile'; function ksChoiceFileAppointedDir; external APPTOOL5 Name 'ksChoiceFileAppointedDir'; function ksChoiceFiles; external APPTOOL5 Name 'ksChoiceFiles'; function ksSaveFile; external APPTOOL5 Name 'ksSaveFile'; function ksInitFilePreviewFunc; external APPTOOL5 Name 'ksInitFilePreviewFunc'; procedure ksMessage; external APPTOOL5 Name 'Message'; procedure Error; external APPTOOL5 Name 'Error'; function YesNo; external APPTOOL5 Name 'YesNo'; function DrawBitmap; external APPTOOL5 Name 'DrawBitmap'; function DrawSlide; external APPTOOL5 Name 'DrawSlide'; function ksDrawSlideFromFile; external APPTOOL5 Name 'ksDrawSlideFromFile'; function WriteSlide; external APPTOOL5 Name 'WriteSlide'; procedure ksSlideBackground; external APPTOOL5 Name 'ksSlideBackground'; function ReadDouble; external APPTOOL5 Name 'ReadDouble'; function ReadInt; external APPTOOL5 Name 'ReadInt'; function ReadString; external APPTOOL5 Name 'ReadString'; function ReadLong; external APPTOOL5 Name 'ReadLong'; function FullFileName; external APPTOOL5 Name 'FullFileName'; function UniqueFileName; external APPTOOL5 Name 'UniqueFileName'; procedure RemoveUniqueFile; external APPTOOL5 Name 'RemoveUniqueFile'; function GetRightFileName; external APPTOOL5 Name 'GetRightFileName'; function CommandWindow; external APPTOOL5 Name 'CommandWindow'; function ksCursor; external APPTOOL5 Name 'Cursor'; function Placement; external APPTOOL5 Name 'Placement'; function ksChangeObjectInLibRequest; external APPTOOL5 Name 'ksChangeObjectInLibRequest'; function ksIsCursorOrPlacementDocument; external APPTOOL5 Name 'ksIsCursorOrPlacementDocument'; function ksIsActiveProcessRunnig; external APPTOOL5 Name 'ksIsActiveProcessRunnig'; function ksPhantomShowHide; external APPTOOL5 Name 'ksPhantomShowHide'; function ksGetCursorPosition; external APPTOOL5 Name 'ksGetCursorPosition'; function SystemControlStart; external APPTOOL5 Name 'SystemControlStart'; procedure SystemControlStop; external APPTOOL5 Name 'SystemControlStop'; function KeepReference; external APPTOOL5 Name 'KeepReference'; function SetMacroParam; external APPTOOL5 Name 'SetMacroParam'; function GetMacroParam; external APPTOOL5 Name 'GetMacroParam'; function GetMacroParamSize; external APPTOOL5 Name 'GetMacroParamSize'; function EditMacroMode; external APPTOOL5 Name 'EditMacroMode'; function DeleteObj; external APPTOOL5 Name 'DeleteObj'; function MoveObj; external APPTOOL5 Name 'MoveObj'; function RotateObj; external APPTOOL5 Name 'RotateObj'; function TransformObj; external APPTOOL5 Name 'TransformObj'; function LightObj; external APPTOOL5 Name 'LightObj'; function SymmetryObj; external APPTOOL5 Name 'SymmetryObj'; function ksSymmetryObj; external APPTOOL5 Name 'ksSymmetryObj'; function CopyObj; external APPTOOL5 Name 'CopyObj'; function ksCopyObj; external APPTOOL5 Name 'ksCopyObj'; function ksCreateViewObject; external APPTOOL5 Name 'ksCreateViewObject'; function ksEditViewObject; external APPTOOL5 Name 'ksEditViewObject'; function SetObjParam; external APPTOOL5 Name 'SetObjParam'; function GetObjParam; external APPTOOL5 Name 'GetObjParam'; function GetStyleParam; external APPTOOL5 Name 'GetStyleParam'; function AddStyle; external APPTOOL5 Name 'AddStyle'; function ksIsStyleInDocument; external APPTOOL5 Name 'ksIsStyleInDocument'; function ksDeleteStyleFromDocument; external APPTOOL5 Name 'ksDeleteStyleFromDocument'; function ExistObj; external APPTOOL5 Name 'ExistObj'; function FindObj; external APPTOOL5 Name 'FindObj'; function GetObjGabaritRect; external APPTOOL5 Name 'GetObjGabaritRect'; function ViewToSheet; external APPTOOL5 Name 'ViewToSheet'; function SheetToView; external APPTOOL5 Name 'SheetToView'; function NewGroup; external APPTOOL5 Name 'NewGroup'; procedure EndGroup; external APPTOOL5 Name 'EndGroup'; function ClearGroup; external APPTOOL5 Name 'ClearGroup'; function ExcludeObjGroup; external APPTOOL5 Name 'ExcludeObjGroup'; function AddObjGroup; external APPTOOL5 Name 'AddObjGroup'; function StoreTmpGroup; external APPTOOL5 Name 'StoreTmpGroup'; function SaveGroup; external APPTOOL5 Name 'SaveGroup'; function GetGroup; external APPTOOL5 Name 'GetGroup'; function SelectGroup; external APPTOOL5 Name 'SelectGroup'; function ExistGroupObj; external APPTOOL5 Name 'ExistGroupObj'; function ksWriteGroupToClip; external APPTOOL5 Name 'ksWriteGroupToClip'; function ksReadGroupFromClip; external APPTOOL5 Name 'ksReadGroupFromClip'; function ksGetGroupName; external APPTOOL5 Name 'ksGetGroupName'; function ksDestroyObjects; external APPTOOL5 Name 'ksDestroyObjects'; function Mtr; external APPTOOL5 Name 'Mtr'; function ksMtr; external APPTOOL5 Name 'ksMtr'; function MtrForIGES; external APPTOOL5 Name 'MtrForIGES'; function DeleteMtr; external APPTOOL5 Name 'DeleteMtr'; function ksPointIntoMtr; external APPTOOL5 Name 'ksPointIntoMtr'; function ksPointFromMtr; external APPTOOL5 Name 'ksPointFromMtr'; function ksLengthIntoMtr; external APPTOOL5 Name 'ksLengthIntoMtr'; function ksLengthFromMtr; external APPTOOL5 Name 'ksLengthFromMtr'; function CreateIterator; external APPTOOL5 Name 'CreateIterator'; function MoveIterator; external APPTOOL5 Name 'MoveIterator'; function CreateAttrIterator; external APPTOOL5 Name 'CreateAttrIterator'; function MoveAttrIterator; external APPTOOL5 Name 'MoveAttrIterator'; function DeleteIterator; external APPTOOL5 Name 'DeleteIterator'; function CreateArray; external APPTOOL5 Name 'CreateArray'; function DeleteArray; external APPTOOL5 Name 'DeleteArray'; function ClearArray; external APPTOOL5 Name 'ClearArray'; function GetArrayCount; external APPTOOL5 Name 'GetArrayCount'; function AddArrayItem; external APPTOOL5 Name 'AddArrayItem'; function ExcludeArrayItem; external APPTOOL5 Name 'ExcludeArrayItem'; function GetArrayItem; external APPTOOL5 Name 'GetArrayItem'; function GetUserArrayItem; external APPTOOL5 Name 'GetUserArrayItem'; function SetArrayItem; external APPTOOL5 Name 'SetArrayItem'; function GetArrayType; external APPTOOL5 Name 'GetArrayType'; function DecomposeObj; external APPTOOL5 Name 'DecomposeObj'; function ksLoadNonDecomposSpecSymbols; external APPTOOL5 Name 'ksLoadNonDecomposSpecSymbols'; function GetViewObjCount; external APPTOOL5 Name 'GetViewObjCount'; function FragmentDefinition; external APPTOOL5 Name 'FragmentDefinition'; function InsertFragment; external APPTOOL5 Name 'InsertFragment'; function ksInsertFragmentEx; external APPTOOL5 Name 'ksInsertFragmentEx'; function ReadFragment; external APPTOOL5 Name 'ReadFragment'; function ksReadFragmentToGroup; external APPTOOL5 Name 'ksReadFragmentToGroup'; function ksReadFragmentToGroupEx; external APPTOOL5 Name 'ksReadFragmentToGroupEx'; function WriteFragment; external APPTOOL5 Name 'WriteFragment'; function LocalFragmentDefinition; external APPTOOL5 Name 'LocalFragmentDefinition'; function CloseLocalFragmentDefinition; external APPTOOL5 Name 'CloseLocalFragmentDefinition'; function ksChoiceFragmentFromLib; external APPTOOL5 Name 'ksChoiceFragmentFromLib'; function ksFragmentLibrary; external APPTOOL5 Name 'ksFragmentLibrary'; function ksAddFragmentToLibrary; external APPTOOL5 Name 'ksAddFragmentToLibrary'; function ksCheckFragmentLibrary; external APPTOOL5 Name 'ksCheckFragmentLibrary'; function ksExistFragmentInLibrary; external APPTOOL5 Name 'ksExistFragmentInLibrary'; function ReleaseReference; external APPTOOL5 Name 'ReleaseReference'; function CreateDocument; external APPTOOL5 Name 'PascalCreateDocument'; function OpenDocument; external APPTOOL5 Name 'OpenDocument'; function SaveDocument; external APPTOOL5 Name 'SaveDocument'; function ksSaveAsToRasterFormat; external APPTOOL5 Name 'ksSaveAsToRasterFormat'; function CloseDocument; external APPTOOL5 Name 'CloseDocument'; function ksGetCurrentDocument; external APPTOOL5 Name 'ksGetCurrentDocument'; function OpenTechnicalDemand; external APPTOOL5 Name 'OpenTechnicalDemand'; function CloseTechnicalDemand; external APPTOOL5 Name 'CloseTechnicalDemand'; function SpecRough; external APPTOOL5 Name 'SpecRough'; function ksSpecRough; external APPTOOL5 Name 'ksSpecRough'; function OpenStamp; external APPTOOL5 Name 'OpenStamp'; function CloseStamp; external APPTOOL5 Name 'CloseStamp'; function ColumnNumber; external APPTOOL5 Name 'ColumnNumber'; function ClearStamp; external APPTOOL5 Name 'ClearStamp'; function GetStampColumnText; external APPTOOL5 Name 'GetStampColumnText'; function SetStampColumnText; external APPTOOL5 Name 'SetStampColumnText'; function GetReferenceDocumentPart; external APPTOOL5 Name 'GetReferenceDocumentPart'; function CreateSheetView; external APPTOOL5 Name 'CreateSheetView'; function GetViewReference; external APPTOOL5 Name 'GetViewReference'; function GetViewNumber; external APPTOOL5 Name 'GetViewNumber'; function OpenView; external APPTOOL5 Name 'OpenView'; function NewViewNumber; external APPTOOL5 Name 'NewViewNumber'; function Layer; external APPTOOL5 Name 'Layer'; function GetLayerNumber; external APPTOOL5 Name 'GetLayerNumber'; function GetLayerReference; external APPTOOL5 Name 'GetLayerReference'; function ChangeObjectLayer; external APPTOOL5 Name 'ChangeObjectLayer'; function Point; external APPTOOL5 Name 'Point'; function LineSeg; external APPTOOL5 Name 'LineSeg'; function AnnLineSeg; external APPTOOL5 Name 'AnnLineSeg'; function PointArraw; external APPTOOL5 Name 'PointArraw'; function AnnArcByPoint; external APPTOOL5 Name 'AnnArcByPoint'; function Line; external APPTOOL5 Name 'Line'; function ArcByAngle; external APPTOOL5 Name 'ArcByAngle'; function ArcBy3Points; external APPTOOL5 Name 'ArcBy3Points'; function ArcByPoint; external APPTOOL5 Name 'ArcByPoint'; function Circle; external APPTOOL5 Name 'Circle'; function ksEllipse; external APPTOOL5 Name 'ksEllipse'; function ksEllipseArc; external APPTOOL5 Name 'ksEllipseArc'; function Equidistant; external APPTOOL5 Name 'Equidistant'; function NurbsForConicCurve; external APPTOOL5 Name 'NurbsForConicCurve'; function Paragraph; external APPTOOL5 Name 'Paragraph'; function TextLine; external APPTOOL5 Name 'TextLine'; function ksText; external APPTOOL5 Name 'Text'; function ksConvertTextToCurve; external APPTOOL5 Name 'ksConvertTextToCurve'; function Contour; external APPTOOL5 Name 'Contour'; function ksIsPointInsideContour; external APPTOOL5 Name 'ksIsPointInsideContour'; function Macro; external APPTOOL5 Name 'Macro'; function ksOpenMacro; external APPTOOL5 Name 'ksOpenMacro'; function EndObj; external APPTOOL5 Name 'EndObj'; function ksAddObjectToMacro; external APPTOOL5 Name 'ksAddObjectToMacro'; function Hatch; external APPTOOL5 Name 'Hatch'; function ksColouring; external APPTOOL5 Name 'ksColouring'; function ksDuplicateBoundaries; external APPTOOL5 Name 'ksDuplicateBoundaries'; function ksDuplicateBoundariesEx; external APPTOOL5 Name 'ksDuplicateBoundariesEx'; function BezierPoint; external APPTOOL5 Name 'BezierPoint'; function NurbsPoint; external APPTOOL5 Name 'NurbsPoint'; function ksNurbsKnot; external APPTOOL5 Name 'ksNurbsKnot'; function Bezier; external APPTOOL5 Name 'Bezier'; function _Bezier; external APPTOOL5 Name '_Bezier'; function Nurbs; external APPTOOL5 Name 'Nurbs'; function ksConicArc; external APPTOOL5 Name 'ksConicArc'; function ksPolyline; external APPTOOL5 Name 'ksPolyline'; function _ksPolyline; external APPTOOL5 Name '_ksPolyline'; function ksIsCurveClosed; external APPTOOL5 Name 'ksIsCurveClosed'; function Table; external APPTOOL5 Name 'Table'; function ksOpenTable; external APPTOOL5 Name 'ksOpenTable'; function ksRebuildTableVirtualGrid; external APPTOOL5 Name 'ksRebuildTableVirtualGrid'; function ksGetTableItemsCount; external APPTOOL5 Name 'ksGetTableItemsCount'; function ksGetTableColumnText; external APPTOOL5 Name 'ksGetTableColumnText'; function ksSetTableColumnText; external APPTOOL5 Name 'ksSetTableColumnText'; function ksClearTableColumnText; external APPTOOL5 Name 'ksClearTableColumnText'; function ksCombineTwoTableItems; external APPTOOL5 Name 'ksCombineTwoTableItems'; function ksDivideTableItem; external APPTOOL5 Name 'ksDivideTableItem'; function ksSetTableBorderStyle; external APPTOOL5 Name 'ksSetTableBorderStyle'; function ksGetTableBorderStyle; external APPTOOL5 Name 'ksGetTableBorderStyle'; function LinDimension; external APPTOOL5 Name 'LinDimension'; function DiamDimension; external APPTOOL5 Name 'DiamDimension'; function RadDimension; external APPTOOL5 Name 'RadDimension'; function RadBreakDimension; external APPTOOL5 Name 'RadBreakDimension'; function AngDimension; external APPTOOL5 Name 'AngDimension'; function Rough; external APPTOOL5 Name 'Rough'; function Leader; external APPTOOL5 Name 'Leader'; function PositionLeader; external APPTOOL5 Name 'PositionLeader'; function BrandLeader; external APPTOOL5 Name 'BrandLeader'; function MarkerLeader; external APPTOOL5 Name 'MarkerLeader'; function Base; external APPTOOL5 Name 'Base'; function CutLine; external APPTOOL5 Name 'PascalCutLine'; function ViewPointer; external APPTOOL5 Name 'ViewPointer'; function Tolerance; external APPTOOL5 Name 'Tolerance'; function ksOpenTolerance; external APPTOOL5 Name 'ksOpenTolerance'; function ksGetToleranceColumnText; external APPTOOL5 Name 'ksGetToleranceColumnText'; function ksSetToleranceColumnText; external APPTOOL5 Name 'ksSetToleranceColumnText'; function ksGetPointOnToleranceTable; external APPTOOL5 Name 'ksGetPointOnToleranceTable'; function ksApproximationCurve; external APPTOOL5 Name 'ksApproximationCurve'; function ksEqualPoints; external APPTOOL5 Name 'ksEqualPoints'; function Angle; external APPTOOL5 Name 'Angle'; function CosD; external APPTOOL5 Name 'CosD'; function SinD; external APPTOOL5 Name 'SinD'; function TanD; external APPTOOL5 Name 'TanD'; function AtanD; external APPTOOL5 Name 'AtanD'; procedure IntersectLinSLinS; external APPTOOL5 Name 'IntersectLinSLinS'; procedure IntersectLinLin; external APPTOOL5 Name 'IntersectLinLin'; procedure IntersectCirCir; external APPTOOL5 Name 'IntersectCirCir'; procedure IntersectArcArc; external APPTOOL5 Name 'IntersectArcArc'; procedure IntersectLinSArc; external APPTOOL5 Name 'IntersectLinSArc'; procedure IntersectLinSCir; external APPTOOL5 Name 'IntersectLinSCir'; procedure IntersectCirLin; external APPTOOL5 Name 'IntersectCirLin'; procedure IntersectCirArc; external APPTOOL5 Name 'IntersectCirArc'; procedure IntersectCurvCurv; external APPTOOL5 Name 'IntersectCurvCurv'; procedure TanLinePointCircle; external APPTOOL5 Name 'TanLinePointCircle'; procedure TanLineAngCircle; external APPTOOL5 Name 'TanLineAngCircle'; function TanCircleCircle; external APPTOOL5 Name 'TanCircleCircle'; procedure CouplingLineLine; external APPTOOL5 Name 'CouplingLineLine'; procedure ksCouplingLineCircle; external APPTOOL5 Name 'ksCouplingLineCircle'; procedure ksCouplingCircleCircle; external APPTOOL5 Name 'ksCouplingCircleCircle'; procedure Symmetry; external APPTOOL5 Name 'Symmetry'; procedure Rotate; external APPTOOL5 Name 'Rotate'; function DistancePntPnt; external APPTOOL5 Name 'DistancePntPnt'; function ksDistancePntLineSeg; external APPTOOL5 Name 'ksDistancePntLineSeg'; function ksDistancePntArc; external APPTOOL5 Name 'ksDistancePntArc'; function ksDistancePntCircle; external APPTOOL5 Name 'ksDistancePntCircle'; function ksDistancePntLine; external APPTOOL5 Name 'ksDistancePntLine'; function ksDistancePntLineForPoint; external APPTOOL5 Name 'ksDistancePntLineForPoint'; procedure Perpendicular; external APPTOOL5 Name 'Perpendicular'; function ksCreateAttrType; external APPTOOL5 Name 'ksCreateAttrType'; function DeleteAttrType; external APPTOOL5 Name 'DeleteAttrType'; function ksGetAttrType; external APPTOOL5 Name 'ksGetAttrType'; function ksSetAttrType; external APPTOOL5 Name 'ksSetAttrType'; function CreateAttr; external APPTOOL5 Name 'CreateAttr'; function DeleteAttr; external APPTOOL5 Name 'DeleteAttr'; function GetAttrValue; external APPTOOL5 Name 'GetAttrValue'; function SetAttrValue; external APPTOOL5 Name 'SetAttrValue'; function GetAttrRow; external APPTOOL5 Name 'GetAttrRow'; function ksGetAttrRow; external APPTOOL5 Name 'ksGetAttrRow'; function SetAttrRow; external APPTOOL5 Name 'SetAttrRow'; function ksSetAttrRow; external APPTOOL5 Name 'ksSetAttrRow'; function ksAddAttrRow; external APPTOOL5 Name 'ksAddAttrRow'; function ksSetAttrValue; external APPTOOL5 Name 'ksSetAttrValue'; function ksDeleteAttrRow; external APPTOOL5 Name 'ksDeleteAttrRow'; function ksGetSizeAttrValue; external APPTOOL5 Name 'ksGetSizeAttrValue'; function ksGetSizeAttrRow; external APPTOOL5 Name 'ksGetSizeAttrRow'; function GetAttrKeysInfo; external APPTOOL5 Name 'GetAttrKeysInfo'; function GetAttrColumnInfo; external APPTOOL5 Name 'GetAttrColumnInfo'; function GetAttrTabInfo; external APPTOOL5 Name 'GetAttrTabInfo'; function ViewEditAttr; external APPTOOL5 Name 'ViewEditAttr'; function ViewEditAttrType; external APPTOOL5 Name 'ViewEditAttrType'; function ChoiceAttrTypes; external APPTOOL5 Name 'ChoiceAttrTypes'; function ChoiceAttr; external APPTOOL5 Name 'ChoiceAttr'; function ksGetLibraryAttrTypesArray; external APPTOOL5 Name 'ksGetLibraryAttrTypesArray'; function GetTextLength; external APPTOOL5 Name 'GetTextLength'; function GetTextLengthFromReference; external APPTOOL5 Name 'GetTextLengthFromReference'; procedure MovePoint; external APPTOOL5 Name 'MovePoint'; function ksZoom; external APPTOOL5 Name 'ksZoom'; function ksZoomScale; external APPTOOL5 Name 'ksZoomScale'; function ksZoomPrevNextOrAll; external APPTOOL5 Name 'ksZoomPrevNextOrAll'; function ksGetZoomScale; external APPTOOL5 Name 'ksGetZoomScale'; function ksRefreshActiveWindow; external APPTOOL5 Name 'ksRefreshActiveWindow'; function ksSystemPath; external APPTOOL5 Name 'ksSystemPath'; procedure ksGetRelativePathFromSystemPath; external APPTOOL5 Name 'ksGetRelativePathFromSystemPath'; procedure ksGetFullPathFromSystemPath; external APPTOOL5 Name 'ksGetFullPathFromSystemPath'; procedure ksGetRelativePathFromFullPath; external APPTOOL5 Name 'ksGetRelativePathFromFullPath'; procedure ksGetFullPathFromRelativePath; external APPTOOL5 Name 'ksGetFullPathFromRelativePath'; function ksGetSystemVersion; external APPTOOL5 Name 'ksGetSystemVersion'; function ksGetSystemProfileString; external APPTOOL5 Name 'ksGetSystemProfileString'; procedure ksOpenHelpFile; external APPTOOL5 Name 'ksOpenHelpFile'; function ksSpcObjectCreate; external APPTOOL5 Name 'ksSpcObjectCreate'; function ksSpcObjectEdit; external APPTOOL5 Name 'ksSpcObjectEdit'; function ksSpcObjectEnd; external APPTOOL5 Name 'ksSpcObjectEnd'; function ksSpcChangeValue; external APPTOOL5 Name 'ksSpcChangeValue'; function ksSpcVisible; external APPTOOL5 Name 'ksSpcVisible'; function ksSpcMassa; external APPTOOL5 Name 'ksSpcMassa'; function ksSpcCount; external APPTOOL5 Name 'ksSpcCount'; function ksSpcPosition; external APPTOOL5 Name 'ksSpcPosition'; function ksSpcIncludeReference; external APPTOOL5 Name 'ksSpcIncludeReference'; function ksGetSpcObjForGeom; external APPTOOL5 Name 'ksGetSpcObjForGeom'; function ksGetSpcObjForGeomWithLimit; external APPTOOL5 Name 'ksGetSpcObjForGeomWithLimit'; function ksEditWindowSpcObject; external APPTOOL5 Name 'ksEditWindowSpcObject'; function ksGetSpcSectionName; external APPTOOL5 Name 'ksGetSpcSectionName'; function ksGetSpcObjectNumber; external APPTOOL5 Name 'ksGetSpcObjectNumber'; function CreateSpcIterator; external APPTOOL5 Name 'CreateSpcIterator'; function ksGetSpcObject; external APPTOOL5 Name 'ksGetSpcObject'; function ksGetSpcObjectColumnText; external APPTOOL5 Name 'ksGetSpcObjectColumnText'; function ksSetSpcObjectColumnText; external APPTOOL5 Name 'ksSetSpcObjectColumnText'; function ksGetSpcTableColumn; external APPTOOL5 Name 'ksGetSpcTableColumn'; function ksGetSpcColumnType; external APPTOOL5 Name 'ksGetSpcColumnType'; function ksGetSpcColumnNumb; external APPTOOL5 Name 'ksGetSpcColumnNumb'; function ksGetSpcSheetSB; external APPTOOL5 Name 'ksGetSpcSheetSB'; function ksSetSpcSheetSB; external APPTOOL5 Name 'ksSetSpcSheetSB'; function GetDocOptions; external APPTOOL5 Name 'GetDocOptions'; function SetDocOptions; external APPTOOL5 Name 'SetDocOptions'; function ksSetSysOptions; external APPTOOL5 Name 'ksSetSysOptions'; function ksGetSysOptions; external APPTOOL5 Name 'ksGetSysOptions'; function ksPrintPreviewWindow; external APPTOOL5 Name 'ksPrintPreviewWindow'; function ksGetSpcDocumentPagesCount; external APPTOOL5 Name 'ksGetSpcDocumentPagesCount'; function ksDrawKompasDocument; external APPTOOL5 Name 'ksDrawKompasDocument'; function ksDrawKompasGroup; external APPTOOL5 Name 'ksDrawKompasGroup'; function ksPointsOnCurve; external APPTOOL5 Name 'ksPointsOnCurve'; function ksGetCurvePerpendicular; external APPTOOL5 Name 'ksGetCurvePerpendicular'; function ksGetCurvePointProjection; external APPTOOL5 Name 'ksGetCurvePointProjection'; function ksMovePointOnCurve; external APPTOOL5 Name 'ksMovePointOnCurve'; function ksGetLibraryStylesArray; external APPTOOL5 Name 'ksGetLibraryStylesArray'; function ksReadTableFromFile; external APPTOOL5 Name 'ksReadTableFromFile'; function ksGetCurvePerimeter; external APPTOOL5 Name 'ksGetCurvePerimeter'; function ksCalcInertiaProperties; external APPTOOL5 Name 'ksCalcInertiaProperties'; function ksCalcMassInertiaProperties; external APPTOOL5 Name 'ksCalcMassInertiaProperties'; function ksViewGetObjectArea; external APPTOOL5 Name 'ksViewGetObjectArea'; function ksViewGetDensity; external APPTOOL5 Name 'ksViewGetDensity'; function ksCalculate; external APPTOOL5 Name 'ksCalculate'; function ksCalculateReset; external APPTOOL5 Name 'ksCalculateReset'; function ksGetDocVariableArray; external APPTOOL5 Name 'ksGetDocVariableArray'; function ksSetDocVariableArray; external APPTOOL5 Name 'ksSetDocVariableArray'; function ksCentreMarker; external APPTOOL5 Name 'ksCentreMarker'; function ksRectangle; external APPTOOL5 Name 'ksRectangle'; function ksRegularPolygon; external APPTOOL5 Name 'ksRegularPolygon'; function ksGetZona; external APPTOOL5 Name 'ksGetZona'; function GetMacroPlacement; external APPTOOL5 Name 'GetMacroPlacement'; function SetMacroPlacement; external APPTOOL5 Name 'SetMacroPlacement'; function ksSetObjConstraint; external APPTOOL5 Name 'ksSetObjConstraint'; function ksGetObjConstraints; external APPTOOL5 Name 'ksGetObjConstraints'; function ksDestroyObjConstraint; external APPTOOL5 Name 'ksDestroyObjConstraint'; function ksInsertRaster; external APPTOOL5 Name 'ksInsertRaster'; function ksExecuteLibraryCommand; external APPTOOL5 Name 'ksExecuteLibraryCommand'; function ksGetSpcStyleParam; external APPTOOL5 Name 'ksGetSpcStyleParam'; function ksGetSpcDescription; external APPTOOL5 Name 'ksGetSpcDescription'; function ksSetSpcDescription; external APPTOOL5 Name 'ksSetSpcDescription'; function ksAddSpcDescription; external APPTOOL5 Name 'ksAddSpcDescription'; function ksDeleteSpcDescription; external APPTOOL5 Name 'ksDeleteSpcDescription'; function ksClearRegion; external APPTOOL5 Name 'ksClearRegion'; function ksSetCriticalProcess; external APPTOOL5 Name 'ksSetCriticalProcess'; function ksGetMacroEditParam; external APPTOOL5 Name 'ksGetMacroEditParam'; function ksClearGroup; external APPTOOL5 Name 'ksClearGroup'; function ksMakeEncloseContours; external APPTOOL5 Name 'ksMakeEncloseContours'; function ksHatch; external APPTOOL5 Name 'ksHatch'; function LinBreakDimension; external APPTOOL5 Name 'LinBreakDimension'; function AngBreakDimension; external APPTOOL5 Name 'AngBreakDimension'; function ksSpecificationOnSheet; external APPTOOL5 Name 'ksSpecificationOnSheet'; function ksConvertLangStr; external APPTOOL5 Name 'ksConvertLangStr'; function ksConvertLangWindow; external APPTOOL5 Name 'ksConvertLangWindow'; function ksConvertLangMenu; external APPTOOL5 Name 'ksConvertLangMenu'; function ksGetQualityDefects; external APPTOOL5 Name 'ksGetQualityDefects'; function ksCreateQualityIterator; external APPTOOL5 Name 'ksCreateQualityIterator'; function ksMoveQualityIterator; external APPTOOL5 Name 'ksMoveQualityIterator'; function ksGetQualityContensParam; external APPTOOL5 Name 'ksGetQualityContensParam'; function ksGetQualityNames; external APPTOOL5 Name 'ksGetQualityNames'; procedure IntersectLinSLine; external APPTOOL5 Name 'IntersectLinSLine'; procedure IntersectArcLin; external APPTOOL5 Name 'IntersectArcLin'; function ksSetCurrentLibrary; external APPTOOL5 Name 'ksSetCurrentLibrary'; function ksTolerance; external APPTOOL5 Name 'ksTolerance'; function ksSheetSetupDlg; external APPTOOL5 Name 'ksSheetSetupDlg'; function ksMaterialDlg; external APPTOOL5 Name 'ksMaterialDlg'; function ksExecDialPredefinedText; external APPTOOL5 Name 'ksExecDialPredefinedText'; function ksGetSpcObjectColumnValues; external APPTOOL5 Name 'ksGetSpcObjectColumnValues'; function ksHatchEx; external APPTOOL5 Name 'ksHatchEx'; function ksOrdinatedDimension; external APPTOOL5 Name 'ksOrdinatedDimension'; function ksIntersectCurvCurv; external APPTOOL5 Name 'ksIntersectCurvCurv'; function ksTanLinePointCurve; external APPTOOL5 Name 'ksTanLinePointCurve'; function ksReDrawDocPart; external APPTOOL5 Name 'ksReDrawDocPart'; function ksGetWidthColumnSpc; external APPTOOL5 Name 'ksGetWidthColumnSpc'; procedure ksEnableUndo; external APPTOOL5 Name 'ksEnableUndo'; function IsVisibleOrHiddenArraysInObject; external APPTOOL5 Name 'IsVisibleOrHiddenArraysInObject'; function IsObjFromAssociativeView; external APPTOOL5 Name 'IsObjFromAssociativeView'; function IsGeomObject; external APPTOOL5 Name 'IsGeomObject'; function ksGetCurrentSpcObject; external APPTOOL5 Name 'ksGetCurrentSpcObject'; function ksSetCurrentSpcObject; external APPTOOL5 Name 'ksSetCurrentSpcObject'; function ksIsModuleSpecificationActive; external APPTOOL5 Name 'ksIsModuleSpecificationActive'; function ksModuleSpecification; external APPTOOL5 Name 'ksModuleSpecification'; function ksSetMacroParam; external APPTOOL5 Name 'ksSetMacroParam'; function ksGetCursorLimit; external APPTOOL5 Name 'ksGetCursorLimit'; function ksTrimCurve; external APPTOOL5 Name 'ksTrimCurve'; function ksPrintKompasDocument; external APPTOOL5 Name 'ksPrintKompasDocument'; function ksDrawSlideEx; external APPTOOL5 Name 'ksDrawSlideEx'; function ksViewGetDensityAndMaterial; external APPTOOL5 Name 'ksViewGetDensityAndMaterial'; function ksEditTextLine; external APPTOOL5 Name 'ksEditTextLine'; function HatchEx; external APPTOOL5 Name 'HatchEx'; function ksPolylineEx; external APPTOOL5 Name 'ksPolylineEx'; function ksAddPowerForm; external APPTOOL5 Name 'ksAddPowerForm'; function ksCreatePowerArc; external APPTOOL5 Name 'ksCreatePowerArc'; function ksTrimNurbs; external APPTOOL5 Name 'ksTrimNurbs'; function ksPointsOnCurveByStep; external APPTOOL5 Name 'ksPointsOnCurveByStep'; function ksDistancePntPntOnCurve; external APPTOOL5 Name 'ksDistancePntPntOnCurve'; function ksIsLibraryEnabled; external APPTOOL5 Name 'ksIsLibraryEnabled'; function ksGetTextAlign; external APPTOOL5 Name 'ksGetTextAlign'; function ksSetTextAlign; external APPTOOL5 Name 'ksSetTextAlign'; function ksGetDimensionVariableName; external APPTOOL5 Name 'ksGetDimensionVariableName'; function ksGetLeaderShelfLength; external APPTOOL5 Name 'ksGetLeaderShelfLength'; function ksGetDocumentType; external APPTOOL5 Name 'ksGetDocumentType'; function ksGetTxtDocumentPagesCount; external APPTOOL5 Name 'ksGetTxtDocumentPagesCount'; function ksRemoteElement; external APPTOOL5 Name 'ksRemoteElement'; function ksSetTuningSpcStyleParam; external APPTOOL5 Name 'ksSetTuningSpcStyleParam'; function ksGetTuningSpcStyleParam; external APPTOOL5 Name 'ksGetTuningSpcStyleParam'; function ksGetSpcObjGeometry; external APPTOOL5 Name 'ksGetSpcObjGeometry'; function ksGetDocumentTypeByName; external APPTOOL5 Name 'ksGetDocumentTypeByName'; function ksGetSpcObjectColumnTextEx; external APPTOOL5 Name 'ksGetSpcObjectColumnTextEx'; function ksSetSpcObjectColumnTextEx; external APPTOOL5 Name 'ksSetSpcObjectColumnTextEx'; function ksConnectionAdvise; external APPTOOL5 Name 'ksConnectionAdvise'; function ksConnectionUnadvise; external APPTOOL5 Name 'ksConnectionUnadvise'; function ksConvertLangStrEx; external APPTOOL5 Name 'ksConvertLangStrEx'; function ksConvertLangWindowEx; external APPTOOL5 Name 'ksConvertLangWindowEx'; function ksGetObject2DNotifyResult; external APPTOOL5 Name 'ksGetObject2DNotifyResult'; function ksUpdateMacro; external APPTOOL5 Name 'ksUpdateMacro'; function ksGetLibraryTreeStruct; external APPTOOL5 Name 'ksGetLibraryTreeStruct'; function ksSaveAsToUncompressedRasterFormat; external APPTOOL5 Name 'ksSaveAsToUncompressedRasterFormat'; function ksRebuildDocument; external APPTOOL5 Name 'ksRebuildDocument'; function ksSetMaterialParam; external APPTOOL5 Name 'ksSetMaterialParam'; function ksCreateSheetArbitraryView; external APPTOOL5 Name 'ksCreateSheetArbitraryView'; function ksCreateSheetStandartViews; external APPTOOL5 Name 'ksCreateSheetStandartViews'; function ksCreateSheetProjectionView; external APPTOOL5 Name 'ksCreateSheetProjectionView'; function ksCreateSheetArrowView; external APPTOOL5 Name 'ksCreateSheetArrowView'; function ksCreateSheetSectionView; external APPTOOL5 Name 'ksCreateSheetSectionView'; function ksCreateSheetRemoteView; external APPTOOL5 Name 'ksCreateSheetRemoteView'; function ksDrawKompasDocumentByReference; external APPTOOL5 Name 'ksDrawKompasDocumentByReference'; function ksChangeObjectsOrder; external APPTOOL5 Name 'ksChangeObjectsOrder'; function ksAxisLine; external APPTOOL5 Name 'ksAxisLine'; function ksSetTextLineAlign; external APPTOOL5 Name 'ksSetTextLineAlign'; function ksIsSlaveSpcOpened; external APPTOOL5 Name 'ksIsSlaveSpcOpened'; function ksGetLookStyle; external APPTOOL5 Name 'ksGetLookStyle'; function ksSetLookStyle; external APPTOOL5 Name 'ksSetLookStyle'; function ksGetOrthoMode; external APPTOOL5 Name 'ksGetOrthoMode'; function ksSetOrthoMode; external APPTOOL5 Name 'ksSetOrthoMode'; function ksGetExternalInterface;external APPTOOL5 Name 'ksGetExternalInterface'; function ksGetCurvePointProjectionEx; external APPTOOL5 Name 'ksGetCurvePointProjectionEx'; function ksGetCurvePoint; external APPTOOL5 Name 'ksGetCurvePoint'; function ksGetMacroWaitDblClickEdit; external APPTOOL5 Name 'ksGetMacroWaitDblClickEdit'; function ksSetMacroWaitDblClickEdit; external APPTOOL5 Name 'ksSetMacroWaitDblClickEdit'; function ksGetCurveMinMaxParametr; external APPTOOL5 Name 'ksSetMacroWaitDblClickEdit'; function ksDistanceT1T2OnCurve; external APPTOOL5 Name 'ksDistanceT1T2OnCurve'; function ksCursorEx; external APPTOOL5 Name 'CursorEx'; function PlacementEx; external APPTOOL5 Name 'PlacementEx'; function DrawBitmapEx; external APPTOOL5 Name 'DrawBitmapEx'; function ksCalcRasterScale; external APPTOOL5 Name 'ksCalcRasterScale'; function ksGetParametrizationParam; external APPTOOL5 Name 'ksGetParametrizationParam'; function ksParametrizeObjects; external APPTOOL5 Name 'ksParametrizeObjects'; function ksTextEx; external APPTOOL5 Name 'ksTextEx'; function ksColouringEx; external APPTOOL5 Name 'ksColouringEx'; function ksTanCurvCurv; external APPTOOL5 Name 'ksTanCurvCurv'; function ksGetSystemControlStartResult; external APPTOOL5 Name 'ksGetSystemControlStartResult'; function ksGetSpcObjGeometryEx; external APPTOOL5 Name 'ksGetSpcObjGeometryEx'; function SaveDocumentEx; external APPTOOL5 Name 'SaveDocumentEx'; function ksSetSpcObjectColumnTextAlign; external APPTOOL5 Name 'ksSetSpcObjectColumnTextAlign'; function OpenStampEx; external APPTOOL5 Name 'OpenStampEx'; function ClearStampEx; external APPTOOL5 Name 'ClearStampEx'; function GetReferenceDocumentPartEx; external APPTOOL5 Name 'GetReferenceDocumentPartEx'; function ksAssociationViewMatrix3D; external APPTOOL5 Name 'ksAssociationViewMatrix3D'; function ksGetDocumentPagesCount; external APPTOOL5 Name 'ksGetDocumentPagesCount'; function ksPoint3DToAssociationView; external APPTOOL5 Name 'ksPoint3DToAssociationView'; function ksGetSpcObjectColumnTextAlign; external APPTOOL5 Name 'ksGetSpcObjectColumnTextAlign'; function ksGetSpcObjectAttributeNumber; external APPTOOL5 Name 'ksGetSpcObjectAttributeNumber'; function ksSetSpcObjectAttributeNumber; external APPTOOL5 Name 'ksSetSpcObjectAttributeNumber'; function ksGetSpcObjectSummaryCount; external APPTOOL5 Name 'ksGetSpcObjectSummaryCount'; end.