Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/create.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

109 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Пример использования функций навигации по объектам"
type: guide
api: [api7]
tags: [guide, api7, create]
sources:
- create_delete_move_iterator_example.html
---
## Пример использования функций навигации по объектам
//позиционирование в текущем виде текущего документа по всем элементам
void Iterator_Example (void)
{
reference itAllObj;
reference obj;
int count = 0;
char buf[128];
//Создать итератор
itAllObj = CreateIterator(ALL_OBJ, 0);
if (itAllObj)
{
if (ExistObj(obj = MoveIterator(itAllObj, 'F')))
{
// поиск первого объекта и следующего в цикле
do
{
LightObj(obj, 1);
count ;
sprintf(buf,"номер = %d", count);
Message(buf);
LightObj(obj, 0);
}
while (ExistObj (obj = MoveIterator (itAllObj, 'N')));
}
}
//Удалить итератор
DeleteIterator(itAllObj);
};
## Пример использования функций работы с документами
void Document_Example (void) {
reference pDoc;
DocumentParam doc, doc1;
char buf[ 128 ];
lstrcpy(doc.fileName,"c:\\gr\\2.cad");
lstrcpy(doc.comment, "Чертеж" );
lstrcpy(doc.author,"Иванов");
doc.regim=0; //видимый режим
doc.type=1; doc.stPar.Toleranceat=3; doc.stPar.multiply=1;
doc.stPar.direct=0; doc.stPar.shtType=1;
pDoc = CreateDocument (&doc);
// создадим вид с номером 2
ViewParam par;
int number = 2;
par.x = 10; par.y = 20; par.scale = 2; par.ang = 45;
par.color = RGB(10,20,10);
par.state = stACTIVE; // вид будет активным
strcpy(par.name, "пользовательский вид");
CreateSheetView(&par, &number);
//создать и перейти в слой 5
Layer(5);
LineSeg(20, 10, 40, 10, 1);
LineSeg(40, 10, 40, 30, 1);
LineSeg(40, 30, 20, 30, 1);
LineSeg(20, 30, 20, 10, 1);
SaveDocument (pDoc, ); //сохранить документ
CloseDocument(pDoc); //закрыть документ
//откроем созданный документ «с:\gr\2.cad» в видимом режиме отображения
OpenDocument( "с:\gr\2.cad", 0);
}; /* Document_Example */
## Пример использования функций работы с документами, Unicode
void Document_Example (void) {
reference pDoc;
DocumentParamW doc, doc1;
char buf[ 128 ];
wcscpy( doc.fileName, _T("c:\\gr\\2.cad"));
wcscpy( doc.comment, _T("Чертеж"));
wcscpy( doc.author, _T("Иванов"));
doc.regim=0; //видимый режим
doc.type=1; doc.stPar.Toleranceat=3; doc.stPar.multiply=1;
doc.stPar.direct=0; doc.stPar.shtType=1;
pDoc = CreateDocumentW (&doc);
// создадим вид с номером 2
ViewParamW par;
int number = 2;
par.x = 10; par.y = 20; par.scale = 2; par.ang = 45;
par.color = RGB(10,20,10);
par.state = stACTIVE; // вид будет активным
wcscpy(par.name,_T(" пользовательский вид"));
CreateSheetViewW(&par, &number);
//создать и перейти в слой 5
Layer(5);
LineSeg(20, 10, 40, 10, 1);
LineSeg(40, 10, 40, 30, 1);
LineSeg(40, 30, 20, 30, 1);
LineSeg(20, 30, 20, 10, 1);
SaveDocument( pDoc, 0 ); //сохранить документ
CloseDocument( pDoc ); //закрыть документ
//откроем созданный документ «с:\gr\2.cad» в видимом режиме отображения
OpenDocument( "с:\gr\2.cad", 0);
}; /* Document_Example */