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>
5.0 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Элементарные тела | guide |
|
|
|
|
*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. Ее наличие обязательно, так как именно ему передает управление КОМПАС при обращении к библиотеке. В данном случае она обеспечивает выдачу сообщения и построение одного единственного объекта чертежа - отрезка. Функции