Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/simple.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

86 lines
5.0 KiB
Markdown

---
title: "Элементарные тела"
type: guide
api: [api7]
domain: [3d]
tags: [guide, api7, 3d, simple]
sources:
- simple_bodies.html
---
*API интерфейсов. Версия 7 > Документ 3D *
## Элементарные тела
Интерфейс IElementaryBody
Интерфейс IElementaryBodies
Интерфейс IBlockByPoints
Интерфейс IBlockBySizes
Интерфейс IConeByAngle
Интерфейс IConeByHeight
Интерфейс ICylinder
Интерфейс ISphere
## Пример простейшей программы в среде VC++, оформленной в виде библиотеки КОМПАС
#ifndef __LIBTOOL_H
#include «libtool.h»
#endif
char * WINAPI LIBRARYNAME()
{
return "Самая простая библиотека";
}
void WINAPI LIBRARYENTRY( unsigned int comm )
{
Message("Строим отрезок!");
LineSeg( 10, 10, 100, 100, 1 ); // x1, y1, x2, y2, тип линии - основная
}
Функция LIBRARYENTRY является точкой входа в библиотеку при вызове из КОМПАС. Наличие этой функции обязательно, так как именно ей передает управление КОМПАС при обращении к библиотеке. В данном случае она обеспечивает выдачу сообщения и построение одного единственного объекта чертежа - отрезка.
Все функции оформления библиотек должны быть объявлены в def файле как экспортные, например:
EXPORTS
LIBRARYID @1
LIBRARYENTRY @2
Функции
## Общие сведения о библиотеках типа AddIn
Пример...
Это обычная библиотека, но она регистрируется в реестре и загружается при запуске системы КОМПАС.
Без регистрации в реестре библиотеки такого типа работают как стандартные прикладные библиотеки КОМПАС.
Регистрация осуществляется в разделе HKEY_CURRENT_USER\\Software\\ASCON\\KOMPAS-3D\\AddIns или HKEY_LOCAL_MACHINE\\Software\\ASCON\\KOMPAS-3D\\AddIns. Для регистрации создается подраздел с уникальным именем (например, именем самой библиотеки). В этом разделе должны быть два значения:
•Тип значения REG_SZ:
"ProgID" - для ActiveX библиотек или "Path" - полный путь к файлу для простых библиотек. Если есть оба значения "ProgID" и "Path", то "Path" игнорируется. ActiveX библиотека должна быть зарегистрирована.
•Тип значения REG_DWORD:
"AutoConnect" - 1 - подключать библиотеку при запуске КОМПАС, 0 - не подключать. Если в реестре этого значения нет, то оно по умолчанию принимается равным 1.
Существует два способа регистрации библиотеки в реестре:
•при помощью функций DllRegisterServer.
•вызов команды regsvr32.exe libname.
Чтобы отменить регистрацию, необходимо использовать функцию DllUnregisterServer или вызвать команду regsvr32.exe \u libname.
AddIn библиотеки работают в режиме "Меню". Сменить режим нельзя, так же как и отключить библиотеку.
## Пример простейшей программы в среде VB, оформленной в виде ActiveX библиотеки КОМПАС
Dim iKompasObject As Object 'KompasObject
Dim iDocument2D As Object 'ksDocument2D
Public Function GetLibraryName() As String
GetLibraryName = “Самая простая библиотека”
End Function
Public Sub ExternalRunCommand(ByVal command As Integer, ByVal mode As Integer, ByVal Kompas As Object)
Set iKompasObject = Kompas
If iKompasObject Is Nothing Then
Exit Sub
End If
Set iDocument2D = iKompasObject.ActiveDocument2D
If iDocument2D Is Nothing Then
Exit Sub
End If
iKompasObject.ksMessage “Строим отрезок!”
iDocument2D.ksLineSeg 10, 10, 100, 100, 1 ' x1, y1, x2, y2, тип линии - основная
End Sub
Функция ExternalRunCommand - аналог функции LibraryEntry. Ее наличие обязательно, так как именно ему передает управление КОМПАС при обращении к библиотеке. В данном случае она обеспечивает выдачу сообщения и построение одного единственного объекта чертежа - отрезка.
Функции