---
title: "Библиотека моделей (Интерфейсы ksModelLibrary и IModelLibrary )"
type: interface
api: [api7]
tags: [interface, api7, ksmodellibrary]
sources:
  - ksmodellibrary.html
---

*API интерфейсов. Версия 5 > Интерфейсы работы с библиотеками *


## Библиотека моделей (Интерфейсы ksModelLibrary и IModelLibrary )

Интерфейс библиотеки трехмерных моделей.
| ksModelLibrary | - интерфейс Automation |
| --- | --- |
| IModelLibrary | - интерфейс COM |
Примечания:
Указатель на этот интерфейс при использовании Automation можно получить при помощи метода KompasObject::GetModelLibrary.
При использовании COM интерфейс можно получить при помощи экспортной функции ksGetModelLibrary.


## AddD3DocumentToLibrary - Добавить модель с указанным именем файла в указанную библиотеку моделей

Функция не поддерживается
Синтаксис Automation:
```
long AddD3DocumentToLibrary (BSTR libName,
BSTR libFile);
```
Синтаксис COM:
```
long AddD3DocumentToLibrary (LPOLESTR libName,
LPOLESTR fileName);
Входные параметры:
libName    - имя файла библиотеки моделей,
libFile    - имя файла модели.
Возвращаемое значение:
1    - в случае успешного завершения.
```
Примечание:
Имя файла библиотеки моделей должно содержать путь внутри библиотеки и имя модели, например: "c:\gr\lib1.l3d|детали|литье|фланец",
где
c:\gr\lib1.l3d - имя файла библиотеки моделей,
|детали|литье| - разделы, подразделы внутри библиотеки фрагментов,
фланец - имя модели.


## CheckModelLibrary - Проверить, открыта ли указанная библиотека моделей

Функция не поддерживается
Синтаксис Automation:
```
long CheckModelLibrary (BSTR libName,
BOOL possibleMessage);
```
Синтаксис COM:
```
long CheckModelLibrary (LPOLESTR libName,
BOOL possibleMessage);
Входные параметры:
libName    - имя файла библиотеки моделей,
possibleMessage    - признак, показывающий, нужно ли выдать сообщение об открытии библиотеки: TRUE - сообщение выдается, FALSE - сообщение не выдается.
Возвращаемое значение:
1    - библиотека открыта (успешное завершение),
0    - библиотека закрыта.
```


## ChoiceModelFromLib - Выбор модели из библиотеки

Синтаксис Automation:
```
BSTR ChoiceModelFromLib (BSTR libFile,
long* type);
```
Синтаксис COM:
```
LPOLESTR ChoiceModelFromLib (LPOLESTR libFile,
long* type);
Входной параметр:
libFile    - путь к файлу в библиотеке моделей.
Выходной параметр:
type    - тип возвращаемого пути.
Типы пути в библиотеке моделей...
Возвращаемое значение:
путь к модели    - в случае успешного завершения.
```


## ExistModelInLibrary - Проверить, существует ли в библиотеке указанная модель или папка

Синтаксис Automation:
```
long ExistModelInLibrary (BSTR name);
```
Синтаксис COM:
```
long ExistModelInLibrary (LPOLESTR name);
Входной параметр:
name    - имя файла библиотеки моделей и модели (или папки) в нем.
Возвращаемое значение:
-1    - указанная библиотека не существует,
0    - указанная модель или папка не существует,
1    - модель или папка существует.
```
Примечание:
Допускается задание имени файла библиотеки следующего вида: "c:\gr\lib1.l3d|детали|литье|фланец",
где
c:\gr\lib1.l3d - имя файла библиотеки моделей,
|детали|литье| - разделы, подразделы внутри библиотеки фрагментов,
фланец - имя модели.


## ModelLibraryOperation - Действия с библиотекой моделей

Функция не поддерживается
Синтаксис Automation:
```
long ModelLibraryOperation (BSTR libName,
long type);
```
Синтаксис COM:
```
long ModelLibraryOperation (LPOLESTR libName,
long type);
Входные параметры:
libName    - имя файла библиотеки моделей,
type    - тип действия.
Типы действий с библиотекой моделей...
Возвращаемое значение:
1    - в случае успешного завершения.
```
Примечания:
1. При выполнении операций -1, 0, 1, 4, 5 libName - полное имя файла библиотеки моделей.
2. При выполнении операций 2, 3 libName - полное имя файла библиотеки моделей путь внутри библиотеки с именем редактируемой модели.
3. Допускается задание имени файла библиотеки следующего вида: "c:\gr\lib1.l3d|детали|литье|фланец",
где
c:\gr\lib1.l3d - имя файла библиотеки моделей,
|детали|литье| - разделы, подразделы внутри библиотеки моделей,
фланец - имя модели.
